File: //opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/sql/__pycache__/ddl.cpython-37.pyc
B
��4]}� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z
dd
lmZ ddlmZ G dd
� d
e�Z
G dd� dee
�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de
�ZG dd� de�ZG d d!� d!e�ZG d"d#� d#e�ZG d$d%� d%e�ZG d&d'� d'e�ZG d(d)� d)e�ZG d*d+� d+e�ZG d,d-� d-e�ZG d.d/� d/e�ZG d0d1� d1e�ZG d2d3� d3e�Z G d4d5� d5e�Z!G d6d7� d7e!�Z"G d8d9� d9e!�Z#d?d;d<�Z$d@d=d>�Z%d:S )Azq
Provides the hierarchy of DDL-defining schema items as well as routines
to invoke them for a create/drop call.
� )�_bind_or_error)�_generative)�
Executable)�
SchemaVisitor)�
ClauseElement� )�event)�exc)�util)�topologicalc @ s e Zd Zdd� ZdS )�_DDLCompilesc K s |j || f|�S )zNReturn a compiler appropriate for this ClauseElement, given a
Dialect.)Zddl_compiler)�self�dialect�kw� r �E/opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/sql/ddl.py� _compiler s z_DDLCompiles._compilerN)�__name__�
__module__�__qualname__r r r r r r s r c @ s� e Zd ZdZej�ddi�ZdZdZdZ dZ
dd� Zddd�Ze
�d d
�dd� �Zed
d� �Zed dd��Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zeee�Zdd� ZdS )!�
DDLElementa� Base class for DDL expression constructs.
This class is the base for the general purpose :class:`.DDL` class,
as well as the various create/drop clause constructs such as
:class:`.CreateTable`, :class:`.DropTable`, :class:`.AddConstraint`,
etc.
:class:`.DDLElement` integrates closely with SQLAlchemy events,
introduced in :ref:`event_toplevel`. An instance of one is
itself an event receiving callable::
event.listen(
users,
'after_create',
AddConstraint(constraint).execute_if(dialect='postgresql')
)
.. seealso::
:class:`.DDL`
:class:`.DDLEvents`
:ref:`event_toplevel`
:ref:`schema_ddl_sequences`
Z
autocommitTNc C s |� | ||�S )N)Z_execute_ddl)r
�
connectionZmultiparamsZparamsr r r �_execute_on_connectionG s z!DDLElement._execute_on_connectionc C s>