"""MySQL-specific data dictionary for metadata queries via PyMySQL."""
from typing import TYPE_CHECKING, Any, ClassVar, cast
from mypy_extensions import mypyc_attr
from sqlspec.data_dictionary import (
ColumnMetadata,
DDLResult,
ForeignKeyMetadata,
IndexMetadata,
MetadataCapabilityProfile,
MetadataResult,
MetadataSupport,
SystemMetadataResult,
TableMetadata,
VersionInfo,
ensure_system_metadata_request,
get_data_dictionary_loader,
system_metadata_gated_result,
)
from sqlspec.data_dictionary.dialects.mysql import (
MySQLEngineVersion,
build_mysql_metadata_capability_profile,
build_mysql_show_create_statement,
build_mysql_system_metadata_capability,
make_mysql_ddl_result,
mysql_system_metadata_query_name,
parse_mysql_engine_version,
resolve_mysql_json_type,
)
from sqlspec.driver import SyncDataDictionaryBase
if TYPE_CHECKING:
from collections.abc import Sequence
from sqlspec.adapters.pymysql.driver import PyMysqlDriver
from sqlspec.data_dictionary import SystemMetadataRequest
__all__ = ("PyMysqlDataDictionary",)
@mypyc_attr(allow_interpreted_subclasses=True, native_class=False)
class PyMysqlDataDictionary(SyncDataDictionaryBase):
"""MySQL-specific sync data dictionary."""
dialect: ClassVar[str] = "mysql"
def __init__(self) -> None:
super().__init__()