%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/
Upload File :
Create Path :
Current File : //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyc

�
��4]c�@shdZddlZddlmZddlmZddlmZddlmZddl	m
Z
ddl	mZdd	lm
Z
dd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#e$dd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�g��Z%d�e&fd���YZ'de'ej!fd��YZ(de'ej!fd��YZ)de'ej*fd��YZ+dej,fd��YZ-dej.fd	��YZ/d
ej.fd��YZ0dej.fd
��YZ1dej.fd��YZ2dej3fd��YZ4de
j5fd��YZ6i,ed)6ed~6ed6ed�6e-d�6ed6ed6ed6ed�6edL6edK6edf6edT6ed6ed�6e1d6e0d6ed6ed6edH6ed�6ed46ed66e#d�6e#d6e#d6e(d6e)d6ed 6ed!6ed"6ed#6ed$6ed%6ed&6ed'6e+d(6ed*6e"d�6e4d)6e/d+6ed*6e d�6e2d+6Z7d,ej8fd-��YZ9d.e
j:fd/��YZ;d0e
j<fd1��YZ=d2e
j>fd3��YZ?d4e
j@fd5��YZAd6e
jBfd7��YZCdS(8s

.. dialect:: sybase
    :name: Sybase

.. note::

    The Sybase dialect within SQLAlchemy **is not currently supported**.   The
    dialect is not tested within continuous integration and is likely to have
    many issues and caveats not currently handled.

i����N(texc(tschema(ttypes(tutil(tdefault(t
reflection(tcompiler(ttext(tBIGINT(tBINARY(tCHAR(tDATE(tDATETIME(tDECIMAL(tFLOAT(tINT(tINTEGER(tNCHAR(tNUMERIC(tNVARCHAR(tREAL(tSMALLINT(tTEXT(tTIME(t	TIMESTAMP(tUnicode(t	VARBINARY(tVARCHARtaddtalltaltertandtanytastasctbackuptbegintbetweentbiginttbinarytbittbottomtbreaktbytcallt
capabilitytcascadetcasetcasttchartchar_convertt	charactertcheckt
checkpointtclosetcommenttcommittconnectt
constrainttcontainstcontinuetconverttcreatetcrosstcubetcurrenttcurrent_timestamptcurrent_usertcursortdatetdbspacet
deallocatetdectdecimaltdeclareRtdeletetdeletingtdesctdistincttdotdoubletdroptdynamictelsetelseift	encryptedtendtendiftescapetexceptt	exceptiontexectexecutetexistingtexiststexternlogintfetchtfirsttfloattfortforcetforeigntforwardtfromtfulltgototgranttgroupthavingtholdlockt
identifiedtiftintindextindex_lparentinnertinouttinsensitivetinsertt	insertingtinstalltinsteadtinttintegert
integratedt	intersecttintotiqtist	isolationtjointkeytlateraltlefttliketlocktlogintlongtmatcht
membershiptmessagetmodetmodifytnaturaltnewtnot
noholdlocktnottnotifytnulltnumerictoftofftontopentoptiontoptionstortordertotherstouttoutertovertpassthrought	precisiontpreparetprimarytprintt
privilegestproct	proceduretpublicationt	raiserrortreadtexttrealt	referencet
referencestreleasetremotetremovetrenamet
reorganizetresourcetrestoretrestricttreturntrevoketrighttrollbacktrolluptsavet	savepointtscrolltselectt	sensitivetsessiontsettsetusertsharetsmallinttsometsqlcodetsqlstatetstarttstoptsubtranstsubtransactiontsynchronizetsyntax_errorttablet	temporarytthenttimet	timestampttinyintttottopttranttriggerttruncatettsequalt	unboundedtuniontuniquetunknowntunsignedtupdatetupdatingtusertusingtvalidatetvaluest	varbinarytvarchartvariabletvaryingtviewtwaittwaitfortwhentwheretwhiletwindowtwitht	with_cubetwith_lparentwith_rolluptwithintworkt	writetextt_SybaseUnitypeMixincBseZdZd�ZRS(s-these types appear to return a buffer object.cCs
d�}|S(NcSs|dk	rt|�SdSdS(N(tNonetstr(tvalue((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytprocess"s
((tselftdialecttcoltypeR�((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytresult_processor!s	(t__name__t
__module__t__doc__R(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR�stUNICHARcBseZdZRS(R(RRt__visit_name__(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR+st
UNIVARCHARcBseZdZRS(R(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR/stUNITEXTcBseZdZRS(R	(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR	3stTINYINTcBseZdZRS(R
(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR
7stBITcBseZdZRS(R(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR;stMONEYcBseZdZRS(R(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR?st
SMALLMONEYcBseZdZRS(R
(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR
CstUNIQUEIDENTIFIERcBseZdZRS(R(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyRGstIMAGEcBseZdZRS(R(RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyRKstSybaseTypeCompilercBsteZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
RS(cKs
|j|�S(N(tvisit_IMAGE(R�ttype_tkw((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_large_binaryPscKs
|j|�S(N(t	visit_BIT(R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
visit_booleanSscKs
|j|�S(N(tvisit_NVARCHAR(R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
visit_unicodeVscKsd|jS(NsUNICHAR(%d)(tlength(R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
visit_UNICHARYscKsd|jS(NsUNIVARCHAR(%d)(R(R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_UNIVARCHAR\scKsdS(NR	((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
visit_UNITEXT_scKsdS(NR
((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
visit_TINYINTbscKsdS(NR((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyRescKsdS(NR((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyRhscKsdS(NR((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_MONEYkscKsdS(NR
((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_SMALLMONEYnscKsdS(NR((R�RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_UNIQUEIDENTIFIERqs(RRRRRRRRRRRRRR (((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyROs											sunsigned bigintsunsigned intsunsigned smallintsdouble precisiont
smallmoneytmoneyt
smalldatetimetdatetimescharacter varyingschar varyingtunicharsunicode charactertnchars
national charsnational charactertnvarchars
nchar varyingsnational char varyingsnational character varyingRtunitexttimageslong varchartuniqueidentifiertSybaseInspectorcBseZd�Zdd�ZRS(cCstjj||�dS(N(Rt	Inspectort__init__(R�tconn((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR-�scCs"|jj|j||d|j�S(s3Return the table id from `table_name` and `schema`.t
info_cache(Rtget_table_idtbindR/(R�t
table_nameR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR0�s	N(RRR-R�R0(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR+�s	tSybaseExecutionContextcBs2eZeZd�Zd�Zd�Zd�ZRS(cCs
t��dS(s�Must be implemented by subclasses to accommodate DDL executions.

        "connection" is the raw unwrapped DBAPI connection.   "value"
        is True or False.  when True, the connection should be configured
        such that a DDL can take place subsequently.  when False,
        a DDL has taken place and the connection should be resumed
        into non-autocommit mode.

        N(tNotImplementedError(R�t
connectionR�((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytset_ddl_autocommit�s
cCs�|jr�|jjj}|j}|dk	}|rO|j|jdk|_n	t	|_|jr�|j
jd|jj
j|��q�n|jr�|js�tjd��n|jjjjd�|j|jjjt�ndS(NisSET IDENTITY_INSERT %s ONsGThe Sybase dialect only supports DDL in 'autocommit' mode at this time.s-AUTOCOMMIT (Assuming no Sybase 'ddl in tran')(tisinserttcompiledt	statementR�t_autoincrement_columnR�R�tcompiled_parameterst_enable_identity_inserttFalseRDR\Rtidentifier_preparertformat_tabletisddltshould_autocommitRtInvalidRequestErrortroot_connectiontenginetloggertinfoR6R5tTrue(R�ttblt
seq_columntinsert_has_sequence((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytpre_exec�s&							cCs[|jr|j|jt�n|jrW|jjd|jjj	|j
jj��ndS(NsSET IDENTITY_INSERT %s OFF(
R@R6RCR=R<RDR\RR>R?R8R9R�(R�((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt	post_exec�s			cCs7|j�}|jd�|j�d}|j�|S(NsSELECT @@identity AS lastrowidi(t
create_cursorR\tfetchoneR6(R�RDt	lastrowid((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
get_lastrowid�s


(RRR=R<R6RKRLRP(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR3�s
		%	tSybaseSQLCompilercBs�eZeZejejjidd6dd6dd6�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�ZRS(t	dayofyeartdoytweekdaytdowtmillisecondtmillisecondscKsZ|jrdpd}|j}|r8|d|f7}n|j}|rVtd��n|S(Ns	DISTINCT tsTOP %s s"Sybase ASE does not support OFFSET(t	_distinctt_limitt_offsetR4(R�R�Rtstlimittoffset((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_select_precolumnss		cCs|S(N((R�R�R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_from_hint_textscKsdS(NRX((R�R�R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytlimit_clausescKs8|jj|j|j�}d||j|j|�fS(NsDATEPART("%s", %s)(textract_maptgettfieldR�texpr(R�textractRRd((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt
visit_extractscKsdS(Ns	GETDATE()((R�tfnR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_now_funcscCsdS(NRX((R�R�((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytfor_update_clause scKsKt|d<|j|j|�}|rC|j�s;|jrCd|SdSdS(Nt
literal_bindss
 ORDER BY RX(RGR�t_order_by_clausetis_subqueryRZ(R�R�Rtorder_by((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytorder_by_clause%s

cCs4t}|rt}n|j|dtdtd|�S(s=If we have extra froms make sure we render any alias as hint.tasfromtiscrudtashint(R=RGt_compiler_dispatch(R�tdelete_stmtt
from_tabletextra_fromsRr((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytdelete_table_clause/s
	cs.ddj���fd�|g|D��S(s4Render the DELETE .. FROM clause specific to Sybase.sFROM s, c3s-|]#}|j�dtd���VqdS(Rpt	fromhintsN(RsRG(t.0tt(t
from_hintsRR�(sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pys	<genexpr>=s(R�(R�RtRuRvR{R((R{RR�sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytdelete_extra_from_clause8s	(RRRGtansi_bind_rulesRtupdate_copyRtSQLCompilerRbR_R`RaRgRiRjRoRwR|(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyRQ�s								
		tSybaseDDLCompilercBseZd�Zd�ZRS(c	Ks_|jj|�d|jjj|jd|�}|jdkrStj	d��n|jj
}||kr�t|jt
j�o�|j}|r�|jp�d|jp�d}}nd
\}}||fdkr�|d7}q[|d||f7}nh|j|�}|dk	r|d|7}n|jdk	r[|jsA|jrN|d7}q[|d	7}n|S(Nt ttype_expressionsHThe Sybase dialect requires Table-bound columns in order to generate DDLis	 IDENTITYs IDENTITY(%s,%s)s	 DEFAULT s	 NOT NULLs NULL(ii(ii(tpreparert
format_columnRt
type_compilerR�ttypeR�R�RtCompileErrorR:t
isinstanceRt	sa_schematSequenceR�t	incrementtget_column_default_stringtnullabletprimary_key(	R�tcolumntkwargstcolspectseq_coltsequenceR�R�R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_column_specificationCs.	"


cCs;|j}d|jj|jj�|j|jdt�fS(Ns
DROP INDEX %s.%stinclude_schema(telementR�tquote_identifierR�tnamet_prepared_index_nameR=(R�RQRq((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytvisit_drop_indexos	(RRR�R�(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR�Bs	,tSybaseIdentifierPreparercBseZeZRS((RRtRESERVED_WORDStreserved_words(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR�wst
SybaseDialectcBs:eZdZeZeZeZeZeZe	Z
iZeZe
ZeZeZeZeZgZd�Zd�Zdd�Zejdd��Zd�Zejdd��Z ejdd��Z!ejdd��Z"ejd	��Z#ejdd
��Z$ejdd��Z%ejdd��Z&dd
�Z'RS(tsybasecCs|jtd�jdt��S(NsSELECT user_name() as user_nametusername(tscalarRtcolumnsR(R�R5((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt_get_default_schema_name�scCsMtt|�j|�|jdk	r@|jdkr@d|_n	d|_dS(Niii�(i(tsuperR�t
initializetserver_version_infoR�tmax_identifier_length(R�R5((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR��s
cKs�d}|dkr|j}ntd�}tjrxt|t�rT|jd�}nt|t�rx|jd�}qxn|j|d|d|�}|j	�}|dkr�t
j|��n|S(s�Fetch the id for schema.table_name.

        Several reflection methods require the table id.  The idea for using
        this method is that it can be fetched one time and cached for
        subsequent calls.

        s�
          SELECT o.id AS id
          FROM sysobjects o JOIN sysusers u ON o.uid=u.uid
          WHERE u.name = :schema_name
              AND o.name = :table_name
              AND o.type in ('U', 'V')
        tasciitschema_nameR2N(R�tdefault_schema_nameRRtpy2kR�tunicodetencodeR\R�RtNoSuchTableError(R�R5R2RRttable_idtTABLEID_SQLtresult((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR0�s 			c
Ks�|j|||d|jd��}td�}|j|d|�}g}xc|D][\}	}
}}}
}}}|j|	|
t|�t|�|
|||�}|j|�qRW|S(NR/s*
          SELECT col.name AS name,
                 t.name AS type,
                 (col.status & 8) AS nullable,
                 (col.status & 128) AS autoincrement,
                 com.text AS 'default',
                 col.prec AS precision,
                 col.scale AS scale,
                 col.length AS length
          FROM systypes t, syscolumns col LEFT OUTER JOIN syscomments com ON
              col.cdefault = com.id
          WHERE col.usertype = t.usertype
              AND col.id = :table_id
          ORDER BY col.colid
        R�(R0RcRR\t_get_column_infotbooltappend(R�R5R2RRR�t
COLUMN_SQLtresultsR�R�RR�t
autoincrementtdefault_R�tscaleRtcol_info((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_columns�s&		"			c	
Cs&|jj|d�}	i}
|	ttfkr<||f}nH|	tkrT|f}n0|	tttt	t
tfkr~|f}nd}|	r�|	||
�}	n tj
d||f�tj}	|r�|jdd�j�}tjdd�|�}nd}td|d|	d|d	|d
|�}|S(Ns*Did not recognize type '%s' of column '%s'tDEFAULTRXs^'(.*)'$cSs
|jd�S(Ni(Rk(tm((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt<lambda>RXR�R�R�RR�((t
ischema_namesRcR�RR
RR
RRRRRRtwarntsqltypestNULLTYPEtreplacetstriptretsubtdict(
R�R�RR�R�RR�R�RRR�targstcolumn_info((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR��s2		cKs~|j|||d|jd��}i}i}g}i|d6|d6||<td�}	|j|	d|�}
i}x |
D]}|d||d<q|W|||<td�}
|j|
d|�j�}td�}x�|D]�}|d	}||kr�|j|d|�}|j�}|j�i|dd6dd6}|dk	sZ|d|jkrk|d|d<n|||<|j|	d|�}
i}x |
D]}|d||d<q�W|||<n||}||}g}g}xQt	d
|dd
�D]8}|j
||d|�|j
||d
|�q�Wi|d6|dd6|dd6|d6|dd6}|j
|�q�W|S(NR/R�Rsu
          SELECT c.colid AS id, c.name AS name
          FROM syscolumns c
          WHERE c.id = :table_id
        R�tids(
          SELECT o.name AS name, r.reftabid AS reftable_id,
            r.keycnt AS 'count',
            r.fokey1 AS fokey1, r.fokey2 AS fokey2, r.fokey3 AS fokey3,
            r.fokey4 AS fokey4, r.fokey5 AS fokey5, r.fokey6 AS fokey6,
            r.fokey7 AS fokey7, r.fokey1 AS fokey8, r.fokey9 AS fokey9,
            r.fokey10 AS fokey10, r.fokey11 AS fokey11, r.fokey12 AS fokey12,
            r.fokey13 AS fokey13, r.fokey14 AS fokey14, r.fokey15 AS fokey15,
            r.fokey16 AS fokey16,
            r.refkey1 AS refkey1, r.refkey2 AS refkey2, r.refkey3 AS refkey3,
            r.refkey4 AS refkey4, r.refkey5 AS refkey5, r.refkey6 AS refkey6,
            r.refkey7 AS refkey7, r.refkey1 AS refkey8, r.refkey9 AS refkey9,
            r.refkey10 AS refkey10, r.refkey11 AS refkey11,
            r.refkey12 AS refkey12, r.refkey13 AS refkey13,
            r.refkey14 AS refkey14, r.refkey15 AS refkey15,
            r.refkey16 AS refkey16
          FROM sysreferences r JOIN sysobjects o on r.tableid = o.id
          WHERE r.tableid = :table_id
        s�
          SELECT o.name AS name, u.name AS 'schema'
          FROM sysobjects o JOIN sysusers u ON o.uid = u.uid
          WHERE o.id = :table_id
        treftable_iditcountsfokey%isrefkey%itconstrained_columnstreferred_schematreferred_tabletreferred_columns(R0RcRR\tfetchallRNR6R�R�trangeR�(R�R5R2RRR�ttable_cachetcolumn_cachetforeign_keysR�R�R�tcoltREFCONSTRAINT_SQLtreferential_constraintstREFTABLE_SQLtrR�tctreftablet
table_infotreftable_columnsR�R�titfk_info((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_foreign_keys)sd	

		







c
Ks�|j|||d|jd��}td�}|j|d|�}g}x�|D]x}	g}
x3td|	d�D]}|
j|	d|f�qrWi|	dd6t|	d�d6|
d	6}|j|�qRW|S(
NR/s�
          SELECT object_name(i.id) AS table_name,
                 i.keycnt AS 'count',
                 i.name AS name,
                 (i.status & 0x2) AS 'unique',
                 index_col(object_name(i.id), i.indid, 1) AS col_1,
                 index_col(object_name(i.id), i.indid, 2) AS col_2,
                 index_col(object_name(i.id), i.indid, 3) AS col_3,
                 index_col(object_name(i.id), i.indid, 4) AS col_4,
                 index_col(object_name(i.id), i.indid, 5) AS col_5,
                 index_col(object_name(i.id), i.indid, 6) AS col_6,
                 index_col(object_name(i.id), i.indid, 7) AS col_7,
                 index_col(object_name(i.id), i.indid, 8) AS col_8,
                 index_col(object_name(i.id), i.indid, 9) AS col_9,
                 index_col(object_name(i.id), i.indid, 10) AS col_10,
                 index_col(object_name(i.id), i.indid, 11) AS col_11,
                 index_col(object_name(i.id), i.indid, 12) AS col_12,
                 index_col(object_name(i.id), i.indid, 13) AS col_13,
                 index_col(object_name(i.id), i.indid, 14) AS col_14,
                 index_col(object_name(i.id), i.indid, 15) AS col_15,
                 index_col(object_name(i.id), i.indid, 16) AS col_16
          FROM sysindexes i, sysobjects o
          WHERE o.id = i.id
            AND o.id = :table_id
            AND (i.status & 2048) = 0
            AND i.indid BETWEEN 1 AND 254
        R�iR�scol_%iR�R�tcolumn_names(R0RcRR\R�R�R�(
R�R5R2RRR�t	INDEX_SQLR�tindexesR�R�R�t
index_info((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_indexes�s 	

cKs�|j|||d|jd��}td�}|j|d|�}|j�}|j�g}	|r�x7td|dd�D]}
|	j|d|
f�qWi|	d6|dd6Sigd6dd6SdS(	NR/sy
          SELECT object_name(i.id) AS table_name,
                 i.keycnt AS 'count',
                 i.name AS name,
                 index_col(object_name(i.id), i.indid, 1) AS pk_1,
                 index_col(object_name(i.id), i.indid, 2) AS pk_2,
                 index_col(object_name(i.id), i.indid, 3) AS pk_3,
                 index_col(object_name(i.id), i.indid, 4) AS pk_4,
                 index_col(object_name(i.id), i.indid, 5) AS pk_5,
                 index_col(object_name(i.id), i.indid, 6) AS pk_6,
                 index_col(object_name(i.id), i.indid, 7) AS pk_7,
                 index_col(object_name(i.id), i.indid, 8) AS pk_8,
                 index_col(object_name(i.id), i.indid, 9) AS pk_9,
                 index_col(object_name(i.id), i.indid, 10) AS pk_10,
                 index_col(object_name(i.id), i.indid, 11) AS pk_11,
                 index_col(object_name(i.id), i.indid, 12) AS pk_12,
                 index_col(object_name(i.id), i.indid, 13) AS pk_13,
                 index_col(object_name(i.id), i.indid, 14) AS pk_14,
                 index_col(object_name(i.id), i.indid, 15) AS pk_15,
                 index_col(object_name(i.id), i.indid, 16) AS pk_16
          FROM sysindexes i, sysobjects o
          WHERE o.id = i.id
            AND o.id = :table_id
            AND (i.status & 2048) = 2048
            AND i.indid BETWEEN 1 AND 254
        R�iR�spk_%iR�R�(	R0RcRR\RNR6R�R�R�(R�R5R2RRR�tPK_SQLR�tpksR�R�((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_pk_constraint�s	
cKs6td�}|j|�}g|D]}|d^q"S(Ns%SELECT u.name AS name FROM sysusers uR�(RR\(R�R5Rt
SCHEMA_SQLtschemasR\((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_schema_names�scKs�|dkr|j}ntd�}tjrQt|t�rQ|jd�}qQn|j|d|�}g|D]}|d^qmS(Ns�
          SELECT o.name AS name
          FROM sysobjects o JOIN sysusers u ON o.uid = u.uid
          WHERE u.name = :schema_name
            AND o.type = 'U'
        R�R�R�(	R�R�RRR�R�R�R�R\(R�R5RRt	TABLE_SQLttablesRz((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_table_names�s		cKsp|dkr|j}ntd�}tjrQt|t�rQ|jd�}qQn|j|d|�}|j	�S(Ns�
          SELECT c.text
          FROM syscomments c JOIN sysobjects o ON c.id = o.id
          WHERE o.name = :view_name
            AND o.type = 'V'
        R�t	view_name(
R�R�RRR�R�R�R�R\R�(R�R5R�RRtVIEW_DEF_SQLR�((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_view_definitions		cKs�|dkr|j}ntd�}tjrQt|t�rQ|jd�}qQn|j|d|�}g|D]}|d^qmS(Ns�
          SELECT o.name AS name
          FROM sysobjects o JOIN sysusers u ON o.uid = u.uid
          WHERE u.name = :schema_name
            AND o.type = 'V'
        R�R�R�(	R�R�RRR�R�R�R�R\(R�R5RRtVIEW_SQLtviewstv((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pytget_view_names)s		cCs7y|j|||�Wntjk
r.tSXtSdS(N(R0RR�R=RG(R�R5R2R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt	has_table>s
N((RRR�R=tsupports_unicode_statementstsupports_sane_rowcounttsupports_sane_multi_rowcounttsupports_native_booleantsupports_unicode_bindsRGtpostfetch_lastrowidtcolspecsR�RR�RQtstatement_compilerR�tddl_compilerR�R�R+t	inspectortconstruct_argumentsR�R�R�R0RtcacheR�R�R�R�R�R�R�R�R�R�(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyR�{sF		
$2	3e21	(DRR�t
sqlalchemyRRR�RR�Rtsqlalchemy.engineRRtsqlalchemy.sqlRRtsqlalchemy.typesRR	R
RRR
RRRRRRRRRRRRRRR�R�tobjectR�RRtUnicodeTextR	tIntegerR
t
TypeEngineRRR
RtLargeBinaryRtGenericTypeCompilerRR�R,R+tDefaultExecutionContextR3RRQtDDLCompilerR�tIdentifierPreparerR�tDefaultDialectR�(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sybase/base.pyt<module>sv
&
HH5

Zerion Mini Shell 1.0