%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/
Upload File :
Create Path :
Current File : //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyo

�
��4]c@s�dZddlZddlZddlZddlZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddlm
Zdd
lmZddlmZddlmZddlmZejdejejB�ZejdejejB�Zdejfd��YZdefd��YZdejfd��YZee_dS(sDefault implementations of per-dialect sqlalchemy.engine classes.

These are semi-private implementation classes which are only of importance
to database dialect authors; dialects will usually use the classes here
as the base class for their own corresponding classes.

i����Ni(t
interfaces(t
reflection(tresulti(tevent(texc(tpool(t
processors(ttypes(tutil(tcompiler(t
expression(tschemas-\s*(?:UPDATE|INSERT|CREATE|DELETE|DROP|ALTER)s	\s*SELECTtDefaultDialectcBsSeZdZejZejZejZ	ej
ZeZ
eZeZdZeZeZeZeZeZeZeZeZeZeZeZeZeZeZ e!j"de!j#d�fde!j$fde!j#d�fde!j#d�fde!j$fd	e!j$fd
e!j$fde!j%fg�Z&eZ'e!j(rGeZ)eZ*eZ+d5Z-neZ)eZ*eZ+dZ-d
Z.dZ/d5Z0eZ1eZ2iZ3dZ4eZ5eZ6eZ7eZ8d5Z9d5Z:eZ;d6Z<e!j"�Z=e!j>dd7�edd5d5d5d5ed5dd5d�
�Z?e!j@d��ZAeBd��ZCeBd��ZDeEd��ZFd�ZGd�ZHd5d�ZId�ZJd�ZKd�ZLd5d�ZMd �ZNd!�ZOd"�ZPd#�ZQd$�ZRd%�ZSd&�ZTd'�ZUd(�ZVd)�ZWe!j@d*��ZXd+�ZYd,�ZZd-�Z[d.�Z\d/�Z]d5d0�Z^d5d1�Z_d5d2�Z`d3�Zad4�ZbRS(8s!Default implementation of Dialectitconvert_unicodetforcetpool_timeouttechotdebugt	echo_pooltpool_recyclet	pool_sizetmax_overflowtpool_threadlocaltuse_encodingtdefaulti'tnameds1.3s�The :paramref:`.create_engine.convert_unicode` parameter and corresponding dialect-level parameters are deprecated, and will be removed in a future release.  Modern DBAPIs support Python Unicode natively and this parameter is unnecessary.sutf-8tstaticcKs/t|dt�s)tjd|j�n||_||_t|_d|_
||_|dk	rn||_n-|jdk	r�|jj|_n|j
|_|dk	r�||_n|jdk|_|j|�|_|j|�|_|dk	r||_n|dk	r||_n||_|	|_|	dkrCt|_n6|	d
krjt|_|	dk|_ntjd	��|
r�|
|jkr�tjd
|
|jf��n|
|_|jdkr�tj|�|_n'|jdk	rtj|j�|_nt j!|j�|_"tj|j�|_#dS(Ntported_sqla_06s2The %s dialect is not yet ported to the 0.6 formattqmarktformattnumericRtdynamictdynamic_warns?empty_in_strategy may be 'static', 'dynamic', or 'dynamic_warn'sQLabel length of %d is greater than this dialect's maximum identifier length of %dR(RRR(RR ($tgetattrtTrueRtwarntnameR
tencodingtFalset
positionaltNonet_ischematdbapit
paramstyletdefault_paramstyletimplicit_returningtpreparertidentifier_preparert
type_compilertsupports_right_nested_joinstsupports_native_booleantcase_sensitivetempty_in_strategyt_use_static_int_warn_on_empty_inRt
ArgumentErrortmax_identifier_lengthtlabel_lengthtdescription_encodingRtto_unicode_processor_factoryt_description_decodertcodecst
getencodert_encodert_decoder(tselfR
R%R+R*R-R1R3R2R4R9tkwargs((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt__init__�sZ										cCs
tj�S(N(tweakreftWeakKeyDictionary(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_type_memosscCs|jd|jS(Nt+(R$tdriver(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdialect_descriptionscCs|jS(N(tsupports_sane_rowcount(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt supports_sane_rowcount_returningscCst|dtj�S(Nt	poolclass(R!Rt	QueuePool(tclsturl((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_pool_classscCs�y|j|�|_Wntk
r2d|_nXy|j|�|_Wntk
red|_nXy|j|j�|_Wntk
r�d|_nX|j	|�|_
|jdk	r�|j|�r�d|_
|_ndS(N(t_get_server_version_infotserver_version_infotNotImplementedErrorR(t_get_default_schema_nametdefault_schema_nametget_isolation_levelt
connectiontdefault_isolation_levelt_check_unicode_returnstreturns_unicode_stringsR:t_check_unicode_descriptionR<(RARW((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
initialize s&





cCsdS(s�return a callable which sets up a newly created DBAPI connection.

        This is used to set dialect-wide per-connection options such as
        isolation modes, unicode modes, etc.

        If a callable is returned, it will be assembled into a pool listener
        that receives the direct DBAPI connection, with all wrappers removed.

        If None is returned, no listener will be generated.

        N(R((RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
on_connect=scs�tjr�jrtj�n	tj��jr@�j��ni�����fd��tjtj	d�t
jd��tjtj	d�t
jd��g}|r�||7}n�fd�|D�}|j
ttg�r�dS|thkSdS(Ncs��tj|g�jd���}y<�jj�}�j||��|j�}|j�Wn(tj	k
r�}t
jd|�tSXt
|dt
j�SdS(Ntdialects2Exception attempting to detect unicode returns: %ri(R
tselecttcompileRWtcursort_cursor_executetfetchonetcloseRt
DBAPIErrorRR#R&t
isinstancet	text_type(ttestt	statementRatrowtde(tcast_toRWt
parametersRA(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
check_unicodeVs!s'test plain returns'i<s'test unicode returns'csh|]}�|��qS(((t.0Rh(Rn(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<setcomp>{s	tconditional(Rtpy2ktsupports_unicode_statementstbinary_typeRgR'texecute_sequence_formatR
tcasttliteral_columntsqltypestVARCHARtUnicodet
issupersetR"R&(RARWtadditional_teststteststresults((RlRnRWRmRAsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRYKs&		
cCs�tjr|jrtj}n	tj}|jj�}z\|j|tj	tj
d�jd�g�jd|���t
|jddtj�SWd|j�XdS(Ns'x't
some_labelR^i(RRqRrRsRgRWRatexecuteR
R_RvtlabelR`RftdescriptionRd(RARWRlRa((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR[�s	!
cCstj||j�S(s)Provide a database-specific :class:`.TypeEngine` object, given
        the generic object which comes from the types module.

        This method looks for a dictionary called
        ``colspecs`` as a class or instance-level variable,
        and passes on to :func:`.types.adapt_type`.

        (Rwt
adapt_typetcolspecs(RAttypeobj((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyttype_descriptor�s	cKs+tjj|�}|j|||||�S(N(Rt	Inspectortfrom_enginetreflecttable(RARWttabletinclude_columnstexclude_columnstresolve_fkstoptstinsp((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR��s	cKs i|j||d||�d6S(s�Compatibility method, adapts the result of get_primary_keys()
        for those dialects which don't implement get_pk_constraint().

        Rtconstrained_columns(tget_primary_keys(RAtconnt
table_nameRtkw((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_pk_constraint�scCs8t|�|jkr4tjd||jf��ndS(Ns7Identifier '%s' exceeds maximum length of %d characters(tlenR8RtIdentifierError(RAtident((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytvalidate_identifier�scOs|jj||�S(N(R*tconnect(RAtcargstcparams((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR��scCs&|j�}|j|j�g|gS(N(ttranslate_connect_argstupdatetquery(RAROR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytcreate_connect_args�scs�d|kr=|d�tj|d���fd��}nd|kr�tj|d���|_tj|d��fd��}ndS(Ntisolation_leveltengine_connectcs|s�j|��ndS(N(t_set_connection_isolation(RWtbranch(R�RA(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
set_isolation�stschema_translate_mapcs
�|_dS(N(tschema_for_object(RWR�(tgetter(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytset_schema_translate_map�s(Rtlistens_forRt_schema_getterR�(RAtengineR�R�R�((R�R�RAsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytset_engine_execution_options�s
'	cCsRd|kr#|j||d�nd|krNtj|d�}||_ndS(NR�R�(R�RR�R�(RARWR�R�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt set_connection_execution_options�s
cCsL|j�rtjd�n|j|j|�|jjjj|j�dS(Ns�Connection is already established with a Transaction; setting isolation_level may implicitly rollback or commit the existing transaction, or have no effect until next transaction(	tin_transactionRR#tset_isolation_levelRWt_connection_recordtfinalize_callbacktappendtreset_isolation_level(RARWtlevel((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR��s
cCsdS(N((RAtdbapi_connection((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_begin�scCs|j�dS(N(trollback(RAR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_rollback�scCs|j�dS(N(tcommit(RAR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt	do_commit�scCs|j�dS(N(Rd(RAR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_close�scCs"ttjdg�jd|��S(NiR^(tstrR
R_R`(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_dialect_specific_select_one�scCsxd}y2|j�}z|j|j�Wd|j�XWn5|jjk
ro}|j|||�ritS�nXt	SdS(N(
R(RaRR�RdR*tErrort
is_disconnectR&R"(RAR�Raterr((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_pingscCsdtjdd�S(s�Create a random two-phase transaction ID.

        This id will be passed to do_begin_twophase(), do_rollback_twophase(),
        do_commit_twophase().  Its format is unspecified.
        s	_sa_%032xiii�l	(trandomtrandint(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
create_xidscCs|jtj|��dS(N(RR
tSavepointClause(RARWR$((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_savepointscCs|jtj|��dS(N(RR
tRollbackToSavepointClause(RARWR$((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_rollback_to_savepointscCs|jtj|��dS(N(RR
tReleaseSavepointClause(RARWR$((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_release_savepoint!scCs|j||�dS(N(texecutemany(RARaRiRmtcontext((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_executemany$scCs|j||�dS(N(R(RARaRiRmR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
do_execute'scCs|j|�dS(N(R(RARaRiR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytdo_execute_no_params*scCstS(N(R&(RAteRWRa((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR�-scCs|j||j�dS(N(R�RX(RAt
dbapi_conn((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR�0sN((s1.3s�The :paramref:`.create_engine.convert_unicode` parameter and corresponding dialect-level parameters are deprecated, and will be removed in a future release.  Modern DBAPIs support Python Unicode natively and this parameter is unnecessary.(ct__name__t
__module__t__doc__R	tSQLCompilertstatement_compilertDDLCompilertddl_compilertGenericTypeCompilerR0tIdentifierPreparerR.R"tsupports_alterR&tsupports_commentstinline_commentstdefault_sequence_basettupleRttsupports_viewstsupports_sequencestsequences_optionalt"preexecute_autoincrement_sequencestpostfetch_lastrowidR-R1tcte_follows_inserttsupports_native_enumR2t#non_native_boolean_check_constrainttsupports_simple_order_by_labelttuple_in_valuesRt
immutabledicttbool_or_strtasinttasbooltengine_config_typestsupports_native_decimaltpy3kRrtsupports_unicode_bindsRZR(R:R$R8tmax_index_name_lengthRJtsupports_sane_multi_rowcountR�R,tsupports_default_valuestsupports_empty_inserttsupports_multivalues_inserttsupports_server_side_cursorsRRtconstruct_argumentstrequires_name_normalizetreflection_optionstdbapi_exception_translation_maptdeprecated_paramsRCtmemoized_propertyRFtpropertyRIRKtclassmethodRPR\R]RYR[R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR+s�						*		?		7									
											tStrCompileDialectcBsPeZejZejZejZej	Z
eZeZ
eZeZeZeZRS((R�R�R	tStrSQLCompilerR�R�R�tStrSQLTypeCompilerR0R�R.R"R�R�R&R�R-R2R�(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR7s				tDefaultExecutionContextcBs*eZeZeZeZeZeZeZeZ	d&Zd&Zd&Z
d&ZeZeZd&Zej�Zed��Zed��Zd�Zed��Zed��Zejd��Zejd��Zejd��Zejd��Zejd	��Z ejd
��Z!d�Z"e#d��Z$d
�Z%d�Z&d�Z'd�Z(d�Z)d�Z*d�Z+d�Z,d�Z-d�Z.e#d��Z/d�Z0d�Z1d�Z2d�Z3d�Z4d�Z5d�Z6d&d&d&d�Z7d �Z8d&Z9e:d!�Z;d"�Z<d#�Z=d$�Z>d%�Z?RS('cCs|j|�}||_||_|j|_||_}t|_|j|_|jr�t	|j�|_|jj
|j�n|js�tj
|�|_|j|j�d|_ntj
|�|_|_|j�|_g|_|jr|j�g|_nig|_|S(s8Initialize execution context for a DDLElement construct.i(t__new__troot_connectiont_dbapi_connectionR^tcompiledR"tisddltexecution_optionst_execution_optionstdictR�RrRRgtunicode_statementR?Rit
create_cursorRatcompiled_parametersR'RtRm(RNR^RWR�tcompiled_ddlRAR((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt	_init_ddl]s(		
					c
sB|j|�}||_||_|j|_||_|jj|j�|_|j|j	|j
f|_tj
|�|_�js�|jj|jj�|_n|j|_|j|_|j|_|j|_|j|_|s�|j�g|_nLgt|�D]!\}}|j|d|�^q|_t|�dk|_|j�|_|jso|jso|jr�t|_ t!|jj"�|_#t!|j$o�|jj"�|_%n|jj&s�|jj'r�|jr�|j(�q�|j)�n|j*�|j+r|j,|��}	n|j-r)|jj.}	ng}|j-r�x�|jD]n�g}
xI|	D]A}|�kr�|
j/�|�|��qU|
j/�|�qUW|j/�j0|
��qBWnu�j}xh|jD]]�|r�t1���fd��D��}
nt1��fd��D��}
|j/|
�q�W�j0|�|_2|S(s6Initialize execution context for a Compiled construct.t
_group_numberic3sL|]B}�j|�d|�kr9�|�|�n�|fVqdS(iN(R?(Rotkey(tcompiled_paramsR^R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>�sc3s?|]5}||�kr,�|�|�n�|fVqdS(N((RoR(RR(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>�s(3RRRR^RR	tunionR
t_result_columnst_ordered_columnst_textual_ordered_columnstresult_column_structRRgRRrtencodeR%Ritisinserttisupdatetisdeletetisplaintexttis_texttconstruct_paramsRt	enumerateR�R�R
RaR"tis_crudtboolt
_returningt_is_explicit_returningt	returningt_is_implicit_returningtinsert_prefetchtupdate_prefetcht_process_executemany_defaultst_process_executesingle_defaultst_bind_processorstcontains_expanding_parameterst_expand_in_parametersR'tpositiontupR�RtRRm(
RNR^RWR�RRmRAtgrptmR.tparamRR((RR^RsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_init_compiled~sx						4		

				


cs�jrtjd��n�jjrB�jjrBtd��ni�_�jd}|jrjg}nd}i�i}xa|jr��jj
n	�jjD]>��jj�}|jr���kr�|��nt|j
��}|s*g�|�<�jj|jr|jn	|jg���<n t|dttf�r�gt|d�D]A\}}	t|	d�D]%\}
}d�||
f|f^qlqS�|�<�jjr�dnddj��fd	�t|�D����<ncgt|d�D]"\}}d
�|f|f^q��|�<dj�fd��D����<|j���j��fd��D��|jr�|jd
��D��ng�D]\}}|^q��j�<q�|jr�|j��q�q�W�fd�}
tjd|
�j��_|S(s�handle special 'expanding' parameters, IN tuples that are rendered
        on a per-parameter basis for an otherwise fixed SQL statement string.

        s7'expanding' parameters can't be used with executemany()sQ'expanding' bind parameters not supported with 'numeric' paramstyle at this time.iis%s_%s_%ssVALUES ts, c3sG|]=\��ddj����fd�t��D��VqdS(s(%s)s, c3sB|]8\}}�jji��t��|dd6VqdS(iR$N(RtbindtemplateR�(Rotjtvalue(tiRAt	to_updatet
tuple_element(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>6sN(tjoinR (Ro(RAR8(R7R9sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>4s
s%s_%sc3s,|]"\}}�jji|d6VqdS(R$N(RR4(RoRR6(RA(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>Fsc3s1|]'\}}��kr|��fVqdS(N((RoRR6(R$R(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>Ls	css|]\}}|VqdS(N((RoR$R6((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>Qscs�|jd�S(Ni(tgroup(R0(treplacement_expressions(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytprocess_expandingXss\[EXPANDING_(\S+)\]N(R�RtInvalidRequestErrorRR't_numeric_bindsRSt_expanded_parametersRR(R.tbindst	expandingtpoptvisit_empty_set_exprt_expanding_in_typesttypeRfR�tlistR R^R�R:R�textendR�tretsubRi(RARRRR.tto_update_setst	parametertvaluesR7R9R5R6t
expand_keyR=((R$RR<RAR8sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR-�sh		
			
	C
=
	)	cs�|j|�}||_||_|j|_t|_|j|_|sx|jjri�j	�g|_
q"ig|_
n�t|d�j	�r�||_
n�t|dt�r��j
r�||_
q"g|D]���fd��D�^q�p�ig|_
n%g|D]}�j	|�^q|_
t|�dk|_�j
rut|tj�ru||_�j|�d|_n||_|_|j�|_|S(s8Initialize execution context for a string SQL statement.ics*i|] }�|�j|�d�qS(i(R?(Rotk(tdR^(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys
<dictcomp>{s	i(RRRR^R"RR
R	R'RtRmRfRRrR�R�RRgRR?RiR
Ra(RNR^RWR�RiRmRAtp((RPR^sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_init_statement`s6				)%
	cCsL|j|�}||_||_|j|_|j|_|j�|_|S(s;Initialize execution context for a ColumnDefault construct.(RRRR^R
R	R
Ra(RNR^RWR�RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
_init_default�s		cCs
|jjS(N(RR�(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR��scCs
|jjS(N(Rt	postfetch(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytpostfetch_cols�scCs.|jr|jjS|jr&|jjSdSdS(N((RRR'RR((RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
prefetch_cols�s
	
	
cCs|jjdS(N(RR%(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytreturning_cols�scCs|jjdt�S(Nt
no_parameters(R	tgetR&(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRX�scCsX|jjd|jr(|jr(tjp+t�}|tjkrP|j|j�S|SdS(Nt
autocommit(	R	RYRRiR
tPARSE_AUTOCOMMITR&tshould_autocommit_textR(RARZ((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytshould_autocommit�s	
			cCs�|j}t|tj�rA|jjrA|jj|�d}n|jjr_|jj�}ni}|j	|j
||d|�|j
j�d}|dk	r�|j
|j|j
jdd�}|r�||�Sn|S(sExecute a string statement on the current cursor, returning a
        scalar result.

        Used to fire off sequences, default phrases, and "select lastrowid"
        types of statements individually or in the context of a parent INSERT
        or UPDATE statement.

        iR�iN(RRfRRgR^RrR?R'RtRbRaRcR(t_cached_result_processorR�(RAtstmtttype_R�tdefault_paramstrtproc((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_execute_scalar�s
	

cCs
|jj�S(N(Rt_branch(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRW�scCs
tj|�S(N(tAUTOCOMMIT_REGEXPtmatch(RARi((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR\�scCs�|jjstS|jjr�|jjdt�o�|jrRt|jj	t
j�p�|jstt|jj	t
j�o�|j	o�t
j|j	�}n|jjdt�}|S(Ntstream_results(R^R�R&tserver_side_cursorsR	RYR"RRfRiR
t
Selectablet
TextClausetSERVER_SIDE_CURSOR_RERg(RAtuse_server_side((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_use_server_side_cursor�s 		
		cCs9|j�rt|_|j�St|_|jj�SdS(N(RnR"t_is_server_sidetcreate_server_side_cursorR&RRa(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR
s
	
	cCs
t��dS(N(RS(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRpscCsdS(N((RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytpre_execscCsdS(N((RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt	post_execscCs|j|j|�S(s�Return a 'result processor' for a given type as present in
        cursor.description.

        This has a default implementation that dialects can override
        for context-sensitive result type handling.

        (R^R^(RAR`tcolnametcoltype((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_result_processorscCs
|jjS(s�return self.cursor.lastrowid, or equivalent, after an INSERT.

        This may involve calling special cursor functions,
        issuing a new SELECT on the cursor (or a new one),
        or returning a stored value that was
        calculated within post_exec().

        This function will only be called for dialects
        which support "implicit" primary key generation,
        keep preexecute_autoincrement_sequences set to False,
        and when no explicit id value was bound to the
        statement.

        The function is called once, directly after
        post_exec() and before the transaction is committed
        or ResultProxy is generated.   If the post_exec()
        method assigns a value to `self._lastrowid`, the
        value is used in place of calling get_lastrowid().

        Note that this method is *not* equivalent to the
        ``lastrowid`` method on ``ResultProxy``, which is a
        direct proxy to the DBAPI ``lastrowid`` accessor
        in all cases.

        (Rat	lastrowid(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
get_lastrowid'scCsdS(N((RAR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pythandle_dbapi_exceptionCscCs'|jrtj|�Stj|�SdS(N(RoRtBufferedRowResultProxytResultProxy(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_result_proxyFs	
cCs
|jjS(N(Ratrowcount(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR|LscCs
|jjS(N(R^RJ(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRJPscCs
|jjS(N(R^R�(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR�SscCs8|jr\|jr\|jrC|jjrC|jjrC|j�q\|js\|j�q\n|j	�}|jr�|jr�|j
�}||_|j|�|j
�d|_q4|js4|j
�d|_q4n`|jr|jr|j
�}||_|j
�d|_n#|jdkr4|j|j
�n|S(N(RR�R&RtinlineR^R�t_setup_ins_pk_from_lastrowidt_setup_ins_pk_from_emptyR{Rctreturned_defaultst%_setup_ins_pk_from_implicit_returningt_soft_closeR(t	_metadataR$RR|(RARRj((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt_setup_crud_result_proxyVs6


				

	
	

cCs
|jjd}|jjj}|jd}|j�}|dk	r�|j}|dk	r�|jj	|j
d�}|dk	r�||�}q�ng|jD]0}||kr�|n|j||�d�^q�|_
n1g|jD]}|j||�d�^q�|_
dS(Nii(Rt_key_getters_for_crud_columnRiR�RRwR(t_autoincrement_columnRFR^R^tprimary_keyRYtinserted_primary_key(RAt
key_getterR�RRvtautoinc_colRctc((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR~}s
		CcCsa|jjd}|jjj}|jd}g|jD]}|j||�d�^q6|_dS(Nii(	RR�RiR�RR�RYR(R�(RAR�R�RR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR�s
cCs�|dkrd|_dS|jjd}|jjj}|jd}gg|jD]$}||j||�d�f^qRD](\}}|dkr�||n|^qz|_dS(Nii(	R(R�RR�RiR�RR�RY(RARjR�R�RtcolR6((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR��s	
cCs"|js|jo!t|jj�S(N(RRR"RRT(RA((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytlastrow_has_defaults�scs�t|jd�sdSi}x�|jjD]�}|jj|j�}t|�}|j|jj���dk	r�|s��|kr�||kr�|s��|ks�||kr��||<q)d||<q)W|jj	r|jj
j||j|j
|j|�n|jjr�g}x�|jjD]w}	|jj|	}|j|d���dk	r |	|jkr�|j�gt|j|	��q�|j��q q Wy|jj|�Wq�tk
r�}
|jj|
ddd|�q�Xni}x�|jjj�D]�\}}	|j|d���dk	r�|rB|j|	|	�}	n|jjsg|jj|	�d}	n|	|jkr�|j�fd�|j|	D��q��||	<q�q�Wy|jj|�Wn/tk
r�}
|jj|
ddd|�nXdS(s&Given a cursor and ClauseParameters, call the appropriate
        style of ``setinputsizes()`` on the cursor, using DB-API types
        from the bind parameter's ``TypeEngine`` objects.

        This method only called by those dialects which require it,
        currently cx_oracle.

        t
bind_namesNic3s|]}|�fVqdS(N((RoRN(tdbtype(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>s(thasattrRR�RFt_unwrapped_dialect_implR^tget_dbapi_typeR*R(t_has_eventstdispatchtdo_setinputsizesRaRiRmR'R.RARYR@RHR�R�t
setinputsizest
BaseExceptionRt_handle_dbapi_exceptiontitemsR�R?R�(RAt	translatet
include_typest
exclude_typest
inputsizest	bindparamtdialect_impltdialect_impl_clstpositional_inputsizesRR�tkeyword_inputsizes((R�sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytset_input_sizes�sh
		cCs�|jr|j||�S|jr8||_|j|�S|jr�|j}|jsktj	|j|�}n	|j}tj
|g�jd|�}|j|di�j
�S|jSdS(Ntbind((tis_sequencet
fire_sequencetis_callabletcurrent_columntargtis_clause_elementRWt
_arg_is_typedR
ttype_coerceR_R`t_execute_compiledtscalar(RAtcolumnRR`R�tdefault_argR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt
_exec_defaults			
				cs�y|j�|j}Wn tk
r8tjd��nX|r�|jr�|jjjr�|j	r�|j
d�i�|j|jj6}ni�|j|j6}d�|jjj
dj�}|j��fd�|D��|S�SdS(sFReturn a dictionary of parameters applied to the current row.

        This method can only be used in the context of a user-defined default
        generation function, e.g. as described at
        :ref:`context_default_functions`. When invoked, a dictionary is
        returned which includes entries for each column/value pair that is part
        of the INSERT or UPDATE statement. The keys of the dictionary will be
        the key value of each :class:`.Column`, which is usually synonymous
        with the name.

        :param isolate_multiinsert_groups=True: indicates that multi-valued
         INSERT constructs created using :meth:`.Insert.values` should be
         handled by returning only the subset of parameters that are local
         to the current column default invocation.   When ``False``, the
         raw parameters of the statement are returned including the
         naming convention used in the case of multi-valued INSERT.

        .. versionadded:: 1.2  added
           :meth:`.DefaultExecutionContext.get_current_parameters`
           which provides more functionality over the existing
           :attr:`.DefaultExecutionContext.current_parameters`
           attribute.

        .. seealso::

            :attr:`.DefaultExecutionContext.current_parameters`

            :ref:`context_default_functions`

        sdget_current_parameters() can only be invoked in the context of a Python side column default functioniic3s)|]}|�d|�ffVqdS(s%s_m%dN((RoR(tindexRm(sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pys	<genexpr>nsN(tcurrent_parametersR�tAttributeErrorRR>RRRit_has_multi_parameterst_is_multiparam_columnR�RtoriginalRmtkeysR�(RAtisolate_multiinsert_groupsR�RPR�((R�RmsL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_current_parameters:s&	


		
cCs0|jdkrdS|j||j|j�SdS(N(RR(R�RF(RAR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_insert_defaulttscCs0|jdkrdS|j||j|j�SdS(N(tonupdateR(R�RF(RAR�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pytget_update_defaultzscCsw|jjd}i}|jj}|jj}x6|D].}|jr5|jjr5|jj||<q5q5Wx6|D].}|jrn|jjrn|jj||<qnqnWx�|jD]�}||_	xU|D]M}||kr�||}n|j
|�}|dk	r�||||�<q�q�WxU|D]M}||kr7||}n|j|�}|dk	r||||�<qqWq�W|`	dS(Ni(
RR�R'R(Rt	is_scalarR�R�RR�R�R(R�(RAR�tscalar_defaultsR'R(R�R1tval((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR)�s2

	



cCs�|jjd}|jd|_}xs|jjD]e}|jrh|jjrh|jjrh|jj}n|j	|�}|dk	r1||||�<q1q1WxB|jjD]4}|j|�}|dk	r�||||�<q�q�W|`dS(Nii(
RR�RR�R'RR�R�R�R�R(R(R�(RAR�RR�R�((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyR*�s"N(@R�R�R&RRRR!RRR�R(RRiRR�R&R$t_translate_colnameRR�R@R�RR2R-RRRSR�R�RURVRWRXR]RdR�RWR\RnR
RpRqRrRuRwRxR{R|RJR�R�R~RR�R�R�R�R�R"R�R�R�R)R*(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyRHsl!t	n0		!		 					
						'				W	:			%(R�R=R�RIRDR3RRRRRRRRRwRtsqlR	R
RR`tItUNICODERfRltDialectRRtExecutionContextRtexecution_ctx_cls(((sL/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/default.pyt<module>s8�����w

Zerion Mini Shell 1.0