"""SQLite-specific data dictionary for metadata queries via aiosqlite."""
from typing import TYPE_CHECKING, Any, ClassVar, cast
from mypy_extensions import mypyc_attr
from sqlspec.adapters.aiosqlite.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 AsyncDataDictionaryBase
if TYPE_CHECKING:
from sqlspec.adapters.aiosqlite.driver import AiosqliteDriver
from sqlspec.data_dictionary._types import DialectConfig
__all__ = ("AiosqliteDataDictionary",)
SQLITE_INDEX_EXPRESSION_COLUMN_ID = -2
@mypyc_attr(allow_interpreted_subclasses=True, native_class=False)
class AiosqliteDataDictionary(AsyncDataDictionaryBase):
"""SQLite-specific async data dictionary."""
dialect: ClassVar[str] = "sqlite"
def __init__(self) -> None:
super().__init__()