XylotrechusZ
�
Ȓ�gF� � �� � d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z dd
lmZ ddl
mZ dd
lmZ ddlmZ ddlmZ ddlmZ ddl
mZ ddl
mZ ddlmZ ddlmZ ddlmZ ej6 rTddlmZ ddlmZ ddlmZ ddl m!Z! ddl m"Z" ddl m#Z# dd l m
Z
ddl m$Z$ ddl%m&Z& ddl'm(Z( dd l)m*Z* dd!l)m+Z+ dd"l)m,Z, dd#l)m-Z- G d$� d%e� Z. G d&� d'e� Z/ G d(� d)ej` � Z1 G d*� d+ejd ee.� Z3e3Z4 G d,� d-e3� Z5 G d.� d/e3� Z6 G d0� d1e6� Z7 G d2� d3e6� Z8 G d4� d5e7� Z9 G d6� d7e8� Z: G d8� d9e7� Z; G d:� d;e8� Z< G d<� d=e.� Z= G d>� d?e.� Z> G d@� dAe8� Z? G dB� dCe7� Z@ G dD� dEe8� ZA G dF� dGe7� ZB G dH� dIe8� ZC G dJ� dKe7� ZD G dL� dMe8� ZE G dN� dOe6� ZF G dP� dQe6� ZG G dR� dSe6� ZH G dT� dUe6� ZI G dV� dWe6� ZJ G dX� dYe6� ZK G dZ� d[e� ZL G d\� d]eL� ZM G d^� d_eL� ZN G d`� daeM� ZO G db� dceN� ZP df dgdd�ZQ dhde�ZRy)izq
Provides the hierarchy of DDL-defining schema items as well as routines
to invoke them for a create/drop call.
� )�annotationsN)�Any)�Callable)�Iterable)�List)�Optional)�Sequence)�Tuple� )�roles)�_generative)�
Executable)�
SchemaVisitor)�
ClauseElement� )�exc)�util)�topological)�Protocol)�Self)�Compiled)�DDLCompiler)�
BindParameter)�
Constraint)�ForeignKeyConstraint)�
SchemaItem)�Table)�TableClause)�
Connection)�
CacheStats)�CompiledCacheType)�Dialect)�SchemaTranslateMapTypec �F � e Zd ZdZdZ d� Zddd� dd�Zy)�BaseDDLElementz�The root of DDL constructs, including those that are sub-elements
within the "create table" and other processes.
.. versionadded:: 2.0
Fc �* � |j || fi |��S )zNReturn a compiler appropriate for this ClauseElement, given a
Dialect.)�ddl_compiler)�self�dialect�kws �C/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/sql/ddl.py� _compilerzBaseDDLElement._compilerA s � � $�w�#�#�G�T�8�R�8�8� N)�for_executemany�schema_translate_mapc � � t � ��N��NotImplementedError)r( r) �compiled_cache�column_keysr. r/ r* s r+ �_compile_w_cachezBaseDDLElement._compile_w_cacheG s
� � "�#�#r- )r) r"