"""SQLite-specific data dictionary for metadata queries."""
from typing import TYPE_CHECKING, Any, ClassVar, cast
from mypy_extensions import mypyc_attr
from sqlspec.adapters.sqlite.core import format_identifier
from sqlspec.data_dictionary import (
ColumnMetadata,
ForeignKeyMetadata,
IndexMetadata,
TableMetadata,
VersionInfo,
get_data_dictionary_loader,
get_dialect_config,
)
from sqlspec.data_dictionary.dialects.sqlite import list_sqlite_available_features, resolve_sqlite_json_type
from sqlspec.driver import SyncDataDictionaryBase
if TYPE_CHECKING:
from sqlspec.adapters.sqlite.driver import SqliteDriver
__all__ = ("SqliteDataDictionary",)
SQLITE_INDEX_EXPRESSION_COLUMN_ID = -2
@mypyc_attr(allow_interpreted_subclasses=True, native_class=False)
class SqliteDataDictionary(SyncDataDictionaryBase):
"""SQLite-specific sync data dictionary."""
dialect: ClassVar[str] = "sqlite"
def __init__(self) -> None:
super().__init__()