Hacked By AnonymousFox
�
�܋fT� � �� � d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlm Z ddl
mZ dd l
mZ dd
l
m
Z
ddl
mZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej d� � Z ej dd� � Z d� Z!d� Z"ej# G d� d ee j$ � � � � Z% G d!� d"e
e%e� � Z& G d#� d$e
e%e� � Z' G d%� d&e
e%� � Z( G d'� d(e)� � Z* G d)� d*e*e%� � Z+ G d+� d,e+� � Z, G d-� d.e)� � Z- G d/� d0e-e+� � Z.ej# G d1� d2e*e� � � � Z/ G d3� d4e/� � Z0 ej1 d5d6� � G d7� d8e0� � � � Z2 G d9� d:e
e%� � Z3d;� Z4d<� Z5 G d=� d>e)� � Z6 G d?� d@e6e3� � Z7 G dA� dBe7� � Z8 G dC� dDe7� � Z9 G dE� dFe7� � Z: G dG� dHe7� � Z; G dI� dJe
e6e%� � Z< ej= dKdLi� � Z> G dM� dNe%� � Z? G dO� dPe?� � Z@ G dQ� dRe)� � ZA eAd� � ZBeAjC ZC G dS� dTe/e%� � ZDdS )Ua/ The schema module provides the building blocks for database metadata.
Each element within this module describes a database entity which can be
created and dropped, or is otherwise part of such an entity. Examples include
tables, columns, sequences, and indexes.
All entities are subclasses of :class:`~sqlalchemy.schema.SchemaItem`, and as
defined in this module they are intended to be agnostic of any vendor-specific
constructs.
A collection of entities are grouped into a unit called
:class:`~sqlalchemy.schema.MetaData`. MetaData serves as a logical grouping of
schema elements, and can also be associated with an actual database connection
such that operations involving the contained elements can contact the database
as needed.
Two of the elements here also build upon their "syntactic" counterparts, which
are defined in :class:`~sqlalchemy.sql.expression.`, specifically
:class:`~sqlalchemy.schema.Table` and :class:`~sqlalchemy.schema.Column`.
Since these objects are part of the SQL expression language, they are usable
as components in SQL expressions.
� )�absolute_importN� )�ddl)�type_api)�visitors)�_bind_or_error)�ColumnCollection)�
DialectKWArgs)�SchemaEventTarget)�
_as_truncated)�_document_text_coercion)�_literal_as_text)�
ClauseElement)�ColumnClause)�
ColumnElement)�quoted_name)�
TextClause)�TableClause� ��event)�exc)�
inspection)�util�
retain_schema�blank_schemaz�Symbol indicating that a :class:`_schema.Table` or :class:`.Sequence`
should have 'None' for its schema, even if the parent
:class:`_schema.MetaData` has specified a schema.
.. versionadded:: 1.0.14
c � � |�| S |dz | z S )N�.� )�name�schemas �L/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/sql/schema.py�_get_table_keyr# I s � �
�~�����|�d�"�"� c �J ��� ����| S ��fd�}t j | i |� � S )Nc � �� t | t � � r)| j �u r | j �j v r�j | j S d S �N)�
isinstance�Column�table�key�c)�col�source_table�target_tables ��r"