:::mermaid
flowchart TD
A["🔵 Bắt đầu: get_object_details"] --> B["Phân tích tham số:<br/>schema_name, object_name, object_type"]
B --> C{"Kiểm tra object_type"}
C -->|"Không hợp lệ"| D["Trả về lỗi:<br/>Loại object không hợp lệ"]
C -->|"Hợp lệ"| E["Lấy SQL Driver"]
E --> F{"object_type?"}
F -->|"table"| G["Lấy chi tiết Table"]
F -->|"view"| H["Lấy chi tiết View"]
F -->|"sequence"| I["Lấy chi tiết Sequence"]
F -->|"extension"| J["Lấy chi tiết Extension"]
G --> G1["Query Columns:<br/>information_schema.columns"]
G1 --> G2["Query Indexes:<br/>pg_indexes"]
G2 --> G3["Query Constraints:<br/>pg_constraint"]
G3 --> G4["Query Foreign Keys"]
G4 --> G5["Query Table Size:<br/>pg_total_relation_size"]
G5 --> K
H --> H1["Query View Definition:<br/>pg_get_viewdef"]
H1 --> H2["Query View Columns"]
H2 --> K
I --> I1["Query Sequence Info:<br/>pg_sequences"]
I1 --> K
J --> J1["Query Extension Info:<br/>pg_extension"]
J1 --> K
K["Tổng hợp thông tin"]
K --> L{"Query thành công?"}
L -->|"Có"| M["Định dạng chi tiết"]
L -->|"Không"| N["Trả về lỗi"]
M --> O["Trả về kết quả"]
O --> P["🔴 Kết thúc"]
D --> P
N --> P
style A fill:#4CAF50,color:white
style P fill:#f44336,color:white
style C fill:#FF9800,color:white
style F fill:#2196F3,color:white
style L fill:#FF9800,color:white