:::mermaid
flowchart TD
A["🔵 Bắt đầu: list_objects"] --> B["Phân tích tham số"]
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["Query: pg_tables<br/>WHERE schemaname = schema_name"]
F -->|"view"| H["Query: pg_views<br/>WHERE schemaname = schema_name"]
F -->|"sequence"| I["Query: pg_sequences<br/>WHERE schemaname = schema_name"]
F -->|"extension"| J["Query: pg_extension"]
G --> K["Thực thi Query"]
H --> K
I --> K
J --> K
K --> L{"Query thành công?"}
L -->|"Có"| M["Định dạng danh sách Object"]
L -->|"Không"| N["Trả về lỗi"]
M --> O["Bao gồm metadata:<br/>- Tên Object<br/>- Owner<br/>- Kích thước"]
O --> P["Trả về kết quả"]
P --> Q["🔴 Kết thúc"]
D --> Q
N --> Q
style A fill:#4CAF50,color:white
style Q fill:#f44336,color:white
style C fill:#FF9800,color:white
style F fill:#2196F3,color:white
style L fill:#FF9800,color:white