DB-GPT/dbgpt/rag/summary/db_summary.py
2024-03-07 23:27:43 +08:00

49 lines
1.2 KiB
Python

"""Summary classes for database, table, field and index."""
from typing import Dict, Iterable, List, Optional, Tuple
class DBSummary:
"""Database summary class."""
def __init__(self, name: str):
"""Create a new DBSummary."""
self.name = name
self.summary: Optional[str] = None
self.tables: Iterable[str] = []
self.metadata: Optional[str] = None
def get_summary(self) -> Optional[str]:
"""Get the summary."""
return self.summary
class TableSummary:
"""Table summary class."""
def __init__(self, name: str):
"""Create a new TableSummary."""
self.name = name
self.summary: Optional[str] = None
self.fields: List[Tuple] = []
self.indexes: List[Dict] = []
class FieldSummary:
"""Field summary class."""
def __init__(self, name: str):
"""Create a new FieldSummary."""
self.name = name
self.summary = None
self.data_type = None
class IndexSummary:
"""Index summary class."""
def __init__(self, name: str):
"""Create a new IndexSummary."""
self.name = name
self.summary: Optional[str] = None
self.bind_fields: List[str] = []