Source code for mcp_ohmy_sql.db.aws_redshift.schema_1_model

# -*- coding: utf-8 -*-

import typing as T

from pydantic import Field

from ...constants import DbTypeEnum, LLMTypeEnum

from ..metadata import (
    BaseColumnInfo,
    BaseTableInfo,
    BaseSchemaInfo,
    BaseDatabaseInfo,
)


[docs] class ColumnInfo(BaseColumnInfo): name: str = Field() type: str = Field() llm_type: T.Optional[LLMTypeEnum] = Field(default=None) dist_key: bool = Field(default=False) sort_key_position: int = Field() encoding: T.Optional[str] = Field(default=None) notnull: T.Optional[bool] = Field(default=None)
[docs] class TableInfo(BaseTableInfo): name: str = Field() dist_style: str = Field() owner: str = Field() columns: list[ColumnInfo] = Field(default_factory=list)
[docs] class SchemaInfo(BaseSchemaInfo): tables: list[TableInfo] = Field(default_factory=list)
[docs] class DatabaseInfo(BaseDatabaseInfo): db_type: DbTypeEnum = Field(default=DbTypeEnum.AWS_REDSHIFT) schemas: list[SchemaInfo] = Field(default_factory=list)