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/mysql.pyc
�
m�Rc@snddlmZddlmZmZddlmZd�Zd�Zd�Z	dej
fd��YZ
d	S(
i����(tgeneric(tDryRunErrortINVALID(t
get_loggercs�fd�}|S(s
    Decorates column operation functions for MySQL.
    Deletes the constraints from the database and clears local cache.
    c	s�y|j||�Wntk
r'nXy@|j||�}x'|D]\}}}|j||�qDWWntk
r{nX�|||||�S(N(tdelete_foreign_keyt
ValueErrort_lookup_reverse_constraintR(	tselft
table_nametcolumn_nametargstoptstreversetcnametrtabletrcolumn(tfunc(s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt
_column_rms

((RR((Rs2/usr/lib/python2.7/site-packages/south/db/mysql.pytdelete_column_constraints
scs�fd�}|S(s}
    Decorates column operation functions for MySQL.
    Determines existing constraints and copies them to a new column
    cs5y�|j||�d}|j||�}|dk	r�|\}}	|r�|	r�|j||||	�}
t�jd|
�|j|
�q�nWn!tk
r�ntk
r�nXyU|j	||�}x<|D]4\}}
}|j|
|||�}
|j|
�q�WWntk
rnX�||||||�S(NisForeign key SQL: (
t_find_foreign_constraintst_lookup_constraint_referencestNonetforeign_key_sqlRtdebugtadd_deferred_sqlt
IndexErrorRR(RRt
column_oldt
column_newR
Rt
constrainttrefstftabletfcolumntfk_sqlRR
RR(R(s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt
_column_cp%s0


((RR!((Rs2/usr/lib/python2.7/site-packages/south/db/mysql.pytcopy_column_constraints scs�fd�}|S(s�
    For MySQL we grab all table constraints simultaneously, so this is
    effective.
    It further solves the issues of invalidating referred table constraints.
    csv|jd�}||jkr+|j|=n||jkrG|j|=n||jkrc|j|=n�||||�S(NtNAME(t_get_settingt_constraint_cachet_reverse_cachet_constraint_references(RttableR
Rtdb_name(R(s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt_cache_clearIs


((RR*((Rs2/usr/lib/python2.7/site-packages/south/db/mysql.pytinvalidate_table_constraintsCs	tDatabaseOperationscBseZdZdZdZdZdZdZdZdZ	dZ
d	ZeZ
eZeZd
ddd
gZddgZd�Zd�Zd�Zd�Zd�Zeeed����Zed��Zed��Zed��Zd�Zdd�Z d�Z!d�Z"RS(s�
    MySQL implementation of database operations.

    MySQL has no DDL transaction support This can confuse people when they ask
    how to roll back - hence the dry runs, etc., found in the migration code.
    tmysqlts MODIFY %(column)s %(type)s NULL;s$MODIFY %(column)s %(type)s NOT NULL;s+DROP INDEX %(index_name)s ON %(table_name)ss&ALTER TABLE %(table)s DROP PRIMARY KEYs5ALTER TABLE %(table)s DROP FOREIGN KEY %(constraint)ssALTER TABLE %s DROP INDEX %ssRENAME TABLE %s TO %s;tgeometrytpointt
linestringtpolygonttexttblobcCsji|_i|_tt|�j|�|jd�rf|jd�rf|jd|jd�|_ndS(NtSTORAGE_ENGINEs
 ENGINE=%s(R'R&tsuperR,t__init__t_has_settingR$tcreate_table_sql(Rtdb_alias((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyR7ns
		cCs/|j}||ko.||j|d�tk	S(N(R%tgetRR(RR)Rtcache((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt_is_valid_cacheus	cCsKi|j|<i|j||<i|j|<i|j|<d}|j||g�}|s]dSi}xV|D]N\}}}}	}
||f}|j|t��||j||	|
f�qjWd}|j||g�}xm|D]e\}}}
||f}|j|j|i�y||}Wntk
r:t�}nXx|D]�}|\}}	}
|j||j|t��|
dkr|j|||j|
|f�|	|
f|j|||f<|j|j|	i�|j||	j|
t��|j||	|
j|||f�qB|j|||j|
|f�qBWq�WdS(Ns
            SELECT kc.`constraint_name`, kc.`column_name`, kc.`table_name`,
                kc.`referenced_table_name`, kc.`referenced_column_name`
            FROM information_schema.key_column_usage AS kc
            WHERE
                kc.table_schema = %s
        s�
            SELECT c.constraint_name, c.table_name, c.constraint_type
            FROM information_schema.table_constraints AS c
            WHERE
                c.table_schema = %s
        sFOREIGN KEY(R%R&R'texecutet
setdefaulttsettaddtKeyError(RR)Rt
name_querytrowstcnamesRtcolumnR(t	ref_tablet
ref_columntkeyt
type_querytkindtcolst
column_set((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt_fill_constraint_cachezsH







cCsu|j�j�}|jd�r*d}nd}|jd�rq|jd�rq|jd||jd�f�ndS(s�
        Run before any SQL to let database-specific config be sent as a command,
        e.g. which storage engine (MySQL) or transaction serialisability level.
        s<SHOW variables WHERE Variable_Name='default_storage_engine';tdefault_storage_enginetstorage_engineR5s
SET %s=%s;N(t_get_connectiontcursorR>R8R$(RRRt
engine_var((s2/usr/lib/python2.7/site-packages/south/db/mysql.pytconnection_init�s	cCs$tt|�j�|jd�dS(NsSET FOREIGN_KEY_CHECKS=0;(R6R,tstart_transactionR>(R((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyRU�scCsR||ks|jrgSg|jd|j|�f�D]}|d|kr9|^q9}|sztd||f��n|j|�|j|�|j|�|dd|dddkr�dp�d|dd	r�d
p�d|dd	r�dp�d|dd
pdf}d|}|dd	rA|j||dd	f�n
|j|�dS(NsDESCRIBE %sisNo column '%s' in '%s'.iitYEStNULLsNOT NULLisDEFAULT R.s%sis2ALTER TABLE %s CHANGE COLUMN %s %s %s %s %s %s %s;(tdry_runR>t
quote_nameR(RRtoldtnewtxRDtparamstsql((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt
rename_column�s"B
cCstt|�j||�dS(N(R6R,t
delete_column(RRtname((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyR`�scCstt|�j||�dS(N(R6R,trename_table(Rtold_table_nameR((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyRb�scCstt|�j|�dS(N(R6R,tdelete_table(RR((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyRd�scCsA|jd�}y|j|||fSWntk
r<dSXdS(sm
        Provided an existing table and constraint, returns tuple of (foreign
        table, column)
        R#N(R$R'RBR(RRR
R)((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyR�s

cCs�|jd�}|jr'td��n|j||�sL|j||�ny^|j||}|dkr�g|j�D]\}}|t|�f^qySt||�SWnt	k
r�gSXdS(s6Look for the column referenced by a foreign constraintR#s#Cannot get constraints for columns.N(
R$RXRR=tlookup_constraintR&RtitemsttupleRB(RRR	R)R(R\ty((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyR�s	/
cCs�|j|�j�}tg|jD]}|j|�dk^q"k}tg|jD]}|j|�dk^qSk}|s�|r�t|_n|S(s[
        This particular override stops us sending DEFAULTs for BLOB/TEXT columns.
        i����(t_db_type_for_alter_columntlowertTruet
geom_typestfindt
text_typest_suppress_default(Rtfieldttypetttis_geomtis_text((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt
_field_sanitys11c	Cs�|d}tg|jD]}|j|�dk^qk}tg|jD]}|j|�dk^qHk}|r�|r�tt|�j||||�ndS(sJ
        MySQL does not support defaults on text or blob columns.
        Rqi����N(RkRlRmRnR6R,t_alter_set_defaults(	RRpRaR]tsqlsRqRrRsRt((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyRvs

11N(#t__name__t
__module__t__doc__tbackend_nametalter_string_set_typetalter_string_set_nulltalter_string_drop_nulltdrop_index_stringtdelete_primary_key_sqltdelete_foreign_key_sqltdelete_unique_sqltrename_table_sqltFalsetallows_combined_altersthas_check_constraintstraises_default_errorsRlRnR7R=RNRTRUR"RR+R_R`RbRdRRRRuRv(((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyR,Us<			8	
			
N(tsouth.dbRtsouth.db.genericRRtsouth.loggerRRR"R+R,(((s2/usr/lib/python2.7/site-packages/south/db/mysql.pyt<module>s		#	

https://t.me/AnonymousX5 - 2025