�
k\�gI� � �^ � 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 ej 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)ej0 � � Z1 G d*� d+ej2 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 dodpdl�ZQ dqdn�ZRdS )rzq
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 �. � e Zd ZdZdZ d� Zddd�dd�ZdS )�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 �b/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py� _compilerzBaseDDLElement._compilerA s! � � $�w�#�G�T�8�8�R�8�8�8� N)�for_executemany�schema_translate_mapr) r"