https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /lib/python2.7/site-packages/south/db/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python2.7/site-packages/south/db/firebird.pyc
�
m�Rc@s�ddlmZddlZddlmZmZddlmZddlm	Z	ddl
mZddlm
Z
dejfd	��YZdS(
i����(tprint_functionN(t
connectiontmodels(tno_style(t
DatabaseError(tgeneric(tstring_typestDatabaseOperationscBs�eZdZdZdZdZdZdZdZe	Z
e	Zd�Zd�Z
d�Zd	�Zejd
��Zd�Zeje	d��Zdee	d
�Zd�Zejee	d��Zejejd���ZRS(tfirebirdsALTER %(column)s TYPE %(type)ss)ALTER %(column)s SET DEFAULT %(default)s;tsALTER TABLE %s ADD %s;sALTER TABLE %s DROP %s;cCs�|jj|i�i|j||<|jd|�}xW|D]O\}}}|j||j|t��|j|||j||f�q>WdS(Ns�
            SELECT
                rc.RDB$CONSTRAINT_NAME,
                rc.RDB$CONSTRAINT_TYPE,
                cc.RDB$TRIGGER_NAME
            FROM rdb$relation_constraints rc
            JOIN rdb$check_constraints cc
            ON rc.rdb$constraint_name = cc.rdb$constraint_name
            WHERE rc.rdb$constraint_type = 'NOT NULL'
            AND rc.rdb$relation_name = '%s'
            (t_constraint_cachet
setdefaulttexecutetsettadd(tselftdb_namet
table_nametrowst
constrainttkindtcolumn((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt_fill_constraint_caches

&cCsAd}|rdnd}|i|d6|j�d6|j�d6S(Ns�
            UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = %(null_flag)s
            WHERE RDB$FIELD_NAME = '%(column)s'
            AND RDB$RELATION_NAME = '%(table_name)s'
        tNULLt1t	null_flagRR(tupper(RRtcolumn_nametis_nulltsqlR((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt_alter_column_set_null0s
cCs'd}|j||�}|r#tStS(Ns�
            SELECT a.RDB$DEFAULT_VALUE
            FROM RDB$RELATION_FIELDS a
            WHERE a.RDB$FIELD_NAME = '%(column)s'
            AND a.RDB$RELATION_NAME = '%(table_name)s'
        (RtTruetFalse(RtparamsRtvalue((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt_column_has_default=scCs9|j|�r5|jd|j|�fgf�ndS(sBSubcommand of alter_column that sets default values (overrideable)sALTER COLUMN %s DROP DEFAULTN(R#tappendt
quote_name(RtfieldtnameR!tsqls((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt_alter_set_defaultsHscCsg}d}x�|D]\}}t|_|j|||�}|sIqn|j|�t|tj�r|jpw|j}t	j
j||�}qqW|j|j
i|j|�d6djg|D]}|r�|^q��d6�|r|j|d�|j|d�ndS(NR	ttables, tcolumnsii(Rt_suppress_defaultt
column_sqlR$t
isinstanceRt	AutoFieldt	db_columnRRtopstautoinc_sqlRtcreate_table_sqlR%tjoin(RRtfieldsR+R2t
field_nameR&tcol((s5/usr/lib/python2.7/site-packages/south/db/firebird.pytcreate_tableRs"	
.cCsdS(s�
        Renames table is not supported by firebird.
        This involve recreate all related objects (store procedure, views, triggers, etc)
        N((Rtold_table_nameR((s5/usr/lib/python2.7/site-packages/south/db/firebird.pytrename_tablemscCsVtt|�j|dt�tjj|�}|rRy|j|�WqRqRXndS(s{
        Deletes the table 'table_name'.
        Firebird will also delete any triggers associated with the table.
        tcascadeN(tsuperRtdelete_tableR RR1tdrop_sequence_sqlR(RRR;R((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyR=tsc
Cs�|s|j|�nt|d�r2|j�n|j|�}y|jd|j��}Wntk
r||j�}nX|r�|r�|j|j�|g}n	|g}|j	r�|j
d�n|jr�|j
d�ndj|�}d}	t
|dt�sC|j�r�|j�}
|
dk	r@t|
�rB|
�}
nt|
t�rjd|
jdd	�}
nLt|
tjtjtjf�r�d|
}
nt|
t�r�t|
�}
nt|
t�r�|
jd
d�}
n|d7}|
}	q@qC|jr|js|j�d
krC|jr@|j�jjr@|d7}q@qCn|j	rd|jrd|d7}n|j r�|j!r�|j"|j#||j|j j$j%j&|j j$j%j'|j j(�j��q�nt|d�rx-|j)t*�|�D]}|j"|�q�Wn|j svt|j�j+d�rv|j,d|�}x9|j�j+j-||t*��D]}|j"|�qYWqvn|r�||	SdSdS(sY
        Creates the SQL snippet for a column. Used by add_column and add_table.
        t
south_initRsNOT NULL PRIMARY KEYtUNIQUEt R,s'%s't's''t%s%%s DEFAULT %sR	s DEFAULT ''s	 NOT NULLtpost_create_sqltsql_indexes_for_fieldtFakeModelForGISCreationN((.tset_attributes_from_namethasattrR?t
_field_sanitytdb_typet_get_connectiont	TypeErrorR%Rtprimary_keyR$tuniqueR4tgetattrR thas_defaulttget_defaulttNonetcallableR.Rtreplacetdatetimetdatettimetbooltinttnulltblanktempty_strings_allowedtfeaturest!interprets_empty_strings_as_nullstreltsupports_foreign_keystadd_deferred_sqltforeign_key_sqlttot_metatdb_tablet	get_fieldR6RDRtcreationt
mock_modelRE(
RRR6R&t
tablespacet	with_nametfield_preparedRtfield_outputt	sqlparamstdefaulttstmttmodel((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyR-�st

			!

%
+	(cCs�|jri|j||gd�}xE|D]:}|j|ji|j|�d6|j|�d6�q(Wnt|j||gd��}|jr�|r�|j||g�n&|jr�|r�|j||g�ny|j	||�Wnt
k
r�nXdS(NtCHECKR*RR@(thas_check_constraintst_constraints_affecting_columnsRtdelete_check_sqlR%tlistRNt
create_uniquet
delete_uniquetdelete_foreign_keyt
ValueError(RRR'R&tcheck_constraintsRtunique_constraint((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt_drop_constraints�s	

cCst|jr#|jrtd�ndSt|d�r?|j�n|j|�|s^|j}n	||_|s�|j|||�ni|j|�d6|j	|�d6|d6}g}g}|ddk	r�|j|j|gf�n|j
||||�|j|j|||j��|j||||�|jr�tt|��\}}	|jd|j|�dj|�ftj|	��n^x[|D]S\}
}	y'|jd|j|�|
f|	�Wq�tk
r�}t|�q�Xq�Wx|D]}
|j|
�q�W|sp|jrp|jrp|j|j||j|jjjj|jjjj|jj �j��qpndS(	s�
        Alters the given column name so it will match the given field.
        Note that conversion between the two by the database must be possible.
        Will not automatically add _id by default; to have this behavour, pass
        explicit_name=False.

        @param table_name: The name of the table to add the column to
        @param name: The name of the column to alter
        @param field: The new field definition to use
        sC   - no dry run output for alter_column() due to dynamic DDL, sorryNR?RttypeRsALTER TABLE %s %s;s, (!tdry_runtdebugtprintRHR?RGRR|R%t_db_type_for_alter_columnRRR$talter_string_set_typet_alter_add_column_modsRRZR)tallows_combined_altersRutzipRR4RtflattenRR_R`RbRcRdReRfR6(RRR'R&t
explicit_nametignore_constraintsR!R(t
sqls_extratvaluesRte((s5/usr/lib/python2.7/site-packages/south/db/firebird.pytalter_columnsV
		


	
	'
cCsI||krgS|jd|j|�|j|�|j|�f�dS(NsALTER TABLE %s ALTER %s TO %s;(RR%(RRtoldtnew((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt
rename_column_s	(t__name__t
__module__tbackend_nameR�talter_string_set_defaulttalter_string_drop_nulltadd_column_stringtdelete_column_stringtrename_table_sqlR R�thas_booleansRRR#R)Rtinvalidate_table_constraintsR8R:R=RR-R|R�tcopy_column_constraintstdelete_column_constraintsR�(((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyRs.		
		
	h	Z(t
__future__RRUt	django.dbRRtdjango.core.management.colorRtdjango.db.utilsRtsouth.dbRtsouth.utils.py3RR(((s5/usr/lib/python2.7/site-packages/south/db/firebird.pyt<module>s

https://t.me/AnonymousX5 - 2025