:::mermaid
flowchart TD
A["🔵 Bắt đầu: list_schemas"] --> B["Lấy SQL Driver"]
B --> C{"Chế độ truy cập?"}
C -->|"Không giới hạn"| D["Sử dụng SqlDriver"]
C -->|"Giới hạn"| E["Sử dụng ReadOnlySqlDriver"]
D --> F["Kết nối Database"]
E --> F
F --> G["Thực thi Query:<br/>SELECT schema_name FROM information_schema.schemata"]
G --> H{"Query thành công?"}
H -->|"Có"| I["Lọc System Schemas<br/>pg_catalog, information_schema, etc."]
H -->|"Không"| J["Trả về lỗi"]
I --> K["Định dạng danh sách Schema"]
K --> L["Trả về kết quả"]
L --> M["🔴 Kết thúc"]
J --> M
style A fill:#4CAF50,color:white
style M fill:#f44336,color:white
style H fill:#FF9800,color:white
style C fill:#2196F3,color:white