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 :  /usr/lib/python2.7/site-packages/south/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/python2.7/site-packages/south/tests/db.pyc
�
�x�Rc@s�ddlZddlmZddlmZmZddlmZmZm	Z
ddlmZm
Z
mZddlmZmZgZy!ddlmZeje�Wnek
r�nXee�Zy ddlm	Ze
efZ	Wnek
re
Z	nXydd	lmZWnek
r.eZnXd
ejfd��YZdejfd
��YZer�defd��YZndS(i����N(tfilterwarnings(tdbtgeneric(t
connectiontmodelstIntegrityError(tunittesttskipIft
skipUnless(t	text_typetwith_metaclass(tProgrammingError(R(tmysqltTestOperationscBseZdZd�Zd�Zd�Zeejd�d��Z	d�Z
d�Zd�Zeej
d	�d
��Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zedejkd�d��Zedejkd�d��Zd�Zd�Z eej!d�d��Z"eejdkd �d!��Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(eejd�d'��Z)d(�Z*eej!d�d)��Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0RS(/ss
    Tests if the various DB abstraction calls work.
    Can only test a limited amount due to DB differences.
    cCsXtt_yddl}Wntk
r,nXtdd|j�tj�tj�dS(Ni����tignoretcategory(	tFalseRtdebugtMySQLdbtImportErrorRtWarningtclear_deferred_sqltstart_transaction(tselfR((s2/usr/lib/python2.7/site-packages/south/tests/db.pytsetUp's	

cCstj�dS(N(Rtrollback_transaction(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttearDown2scCs�tj�}|jttj�|jttjd�tjddtjdt�fg�|j	d�y|j	d�WnnX|j
d�dS(s*
        Test creation of tables.
        ttest1temail_confirmedtdefaultsSELECT * FROM test1sSELECT * FROM nottheretest1s%Non-existent table could be selected!N(RtcursortassertRaisest	TypeErrorRtcreate_tableRtBooleanFieldRtexecutetfail(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_create5s%
s8This database does not raise errors on missing defaults.cCsZtjddtj�fdtjdd�fg�tj�}|jt|jd�dS(sZ
        Test creation of tables, make sure defaults are not left in the database
        ttest_create_defaulttatbRis.INSERT INTO test_create_default(a) VALUES (17)N(	RR!RtIntegerFieldRRRRR#(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR&IscCsjtj�}tjddtjdt�fg�tjd�y|jd�WnnX|j	d�dS(s*
        Test deletion of tables.
        t
test_deltableRRsSELECT * FROM test_deltables%Just-deleted table could be selected!N(
RRRR!RR"Rtdelete_tableR#R$(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_deleteSs%
cCs,ytjd�WnnX|jd�dS(s6
        Test deletion of nonexistent tables.
        ttest_nonexistdeltables$Non-existent table could be deleted!N(RR+R$(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_nonexistent_deletebs
c
Cs�tjddddddddd	tjd
g�}tjddtjdddtd
t�fg�tjddtjdddtd
t�fdtj|�fg�tj�dS(sL
        Tests foreign key creation, especially uppercase (see #61)
        t
model_nametTesttdb_tablettest5at
db_tablespacett
pk_field_nametIDt
pk_field_typet
pk_field_argstverbose_nametprimary_keytauto_createdttest5btidtUNIQUEN(Rt
mock_modelRt	AutoFieldR!tTruet
ForeignKeytexecute_deferred_sql(RR0((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_foreign_keysms1	!s>Foreign keys can only be deleted on engines that support them.c
Cs�tjddddddddd	tjd
g�}tjddtjdtdt�fd
tj|�fg�tj�tjdd�dS(sT
        Test that recursive foreign keys are deleted correctly (see #1065)
        R/R0R1ttest_rec_fk_delR3R4R5R=R7R8R:R;tfktfk_idN(	RR?RR@R!RARBRCtdelete_foreign_key(RR0((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt!test_recursive_foreign_key_delete{s	
cCs�tj�}tjddtjdt�fg�|jd�tjddd�|jd�tj	�tj
�y|jd�WnnX|jd�tj�tj
d�tj
�dS(	s&
        Test column renaming
        ttest_rntspamRsSELECT spam FROM test_rnteggssSELECT eggs FROM test_rns&Just-renamed column could be selected!N(RRRR!RR"RR#t
rename_columntcommit_transactionRR$RR+(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_rename�s%






cCs�tj�}tjddtjdt�fg�|jd�tt_	tj
ddd�tt_	|jd�tj�tj�y|jd�WnnX|j
d�tj�tjd�tj�dS(	sn
        Test column renaming while --dry-run is turned on (should do nothing)
        See ticket #65
        ttest_drnRKRsSELECT spam FROM test_drnRLsSELECT eggs FROM test_drns)Dry-renamed new column could be selected!N(RRRR!RR"RR#RAtdry_runRMRNRR$RR+(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_dry_rename�s"%
		





cCs�tj�}tjddtjdt�fg�|jd�tjdd�|jd�tj	�tj
�y|jd�WnnX|jd�tj�tj
d�tj
�dS(	s&
        Test column renaming
        ttesttrRKRsSELECT spam FROM testtrttesttr2sSELECT spam FROM testtr2s&Just-renamed column could be selected!N(RRRR!RR"RR#trename_tableRNRR$RR+(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_table_rename�s%






cCsay/tjddtjdddd�fg�Wntk
rO|jd�nXtjd�dS(	s>
        Test that % in a default gets escaped to %%.
        ttestpindtcft
max_lengthi�RsIt should be 2%!s)% was not properly escaped in column SQL.N(RR!Rt	CharFieldt
IndexErrorR$R+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_percents_in_defaults�s
/
cCs�tjddtjdt�fdtjdt�fg�tj�tjddg�tjdddg�tj	ddg�tj	dddg�tj
dkr�tjddg�ntjd�dS(s+
        Test the index operations
        ttest3tSELECTRRLtuniquetsqlite3N(
RR!RR"RR)RARCtcreate_indextdelete_indextbackend_namet
delete_uniqueR+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt
test_index�s	
cCs�tjddtjdt�fdtj�fdtjdt�fg�tj�tjd�tjdd�tjd�tjd�tj	d�d	S(
s1
        Test the primary key operations
        ttest_pkR=R:tnew_pkeyRLR_s9INSERT INTO test_pk (id, new_pkey, eggs) VALUES (1, 2, 3)s9INSERT INTO test_pk (id, new_pkey, eggs) VALUES (1, 3, 4)N(
RR!RR)RARCtdelete_primary_keytcreate_primary_keyR#R+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_primary_key�s	



cCs�tjddtjdt�fdtj�fdtjdt�fg�tj�tjddtj��tjddtjdt��tjd�tjd�tjd�d	S(
sC
        Tests that changing primary key implicitly fails.
        ttest_pkiR=R:RgRLR_s:INSERT INTO test_pki (id, new_pkey, eggs) VALUES (1, 2, 3)s:INSERT INTO test_pki (id, new_pkey, eggs) VALUES (2, 2, 4)N(	RR!RR)RARCtalter_columnR#R+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_primary_key_implicits	


cCsHtjddtjdt�fdtj�fg�tjddtjdd��tjddd	d
ddd
ddtjdgdi�}tj	dtg�tjddtj
|dt��tj�tj	d�dd}|j
|d�tjdd�tjddtjdddtdd��tj�tjd�dS(s%
        Test adding columns
        t	test_addcRKRRLtadd1iR/tUserR1t	auth_userR3R4R5R=R7R8tpk_field_kwargss:INSERT INTO test_addc (spam, eggs, add1) VALUES (%s, 1, 2)tusertnullsSELECT user_id FROM test_addcitadd2RYitdb_indextpiN(RR!RR"RR)t
add_columnR?R@R#RBRARCtassertEqualstNonet
delete_columnRZR+(RRptval((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_add_columnss	9"
+
c	CsTtjddtjdt�fdtjdtdt�fg�tjdd�dS(s'
        Test deleting columns
        t	test_delcRKRRLRvR_N(RR!RR"RR)RAR{(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_delete_columns/s	"cCs�tjddtjdt�fdtj�fg�tjddtj��tjddtjdt��tj	dtg�tj	d�d	d	d
!\}}}|j
|d�|j
|d�|j|t�tjd�d
S(s1
        Test adding NullBoolean columns
        ttest_addnbcRKRRLRoRus3INSERT INTO test_addnbc (spam, eggs) VALUES (%s, 1)s&SELECT spam,add1,add2 FROM test_addnbciis:Null boolean field with no value inserted returns non-nullsONull boolean field (added with default) with no value inserted returns non-nullN(
RR!RR"RR)RxtNullBooleanFieldRAR#tassertIsNoneRyR+(Rtfalsetnull1tnull2((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_add_nullbool_column9s	#cCs|tjddtjdt�fdtj�fg�tj�tjddtj��tj�tj	d�tj�dS(s'
        Test altering columns
        ttest_altercRKRRLN(
RR!RR"RR)RCRlt
FloatFieldR+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_alter_columnsNs	


c
Cs+tjddtjdd�fdtj�fg�tjddtjdddddt��tjd	�tjd
�dd}|j|d�tjddtjdddddt	��d
tj
krtjd�tjd	�tjd
�dd}|j|d�n|jttjd	�dS(s@
        Test altering column defaults with char fields
        ttest_altercdRKRYiRLRtloofRts+INSERT INTO test_altercd (eggs) values (12)sSELECT spam FROM test_altercdis2Default for char field was installed into databasetoraclesDELETE FROM test_altercdN(
RR!RRZR)RlRAR#tassertFalseRRcRR(RRt((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_alter_char_default]s	+
+

	R�s4Oracle does not differentiate empty trings from nullcCs�tjddtjdddd�fdtjdd�fg�tjd�tjdd	tjdddd��tjd
�dd}|j|dd�d
S(s@
        Test altering column defaults with char fields
        t
test_cd_emptyRKRYiRR4RLs7INSERT INTO test_cd_empty (spam, eggs) values ('1','2')thamsSELECT ham FROM test_cd_emptyis/Empty Default for char field isn't empty stringN(RR!RRZR#RxRy(Rtempty((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_default_empty_string{s	
%cCs�tjddtjdddt�fdtjdd�fg�tjddtjdd��tjddtjdddt��tjd�d	S(
s�
        Test that under Oracle, CherFields are created as null even when specified not-null,
        because otherwise they would not be able to hold empty strings (which Oracle equates
        with nulls).
        Verify fix of #1269.
        ttest_ora_char_nullsRKRYiRtRLR�s9INSERT INTO test_ora_char_nulls VALUES (NULL, NULL, NULL)N(	RR!RRZRARxRlRR#(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_oracle_strings_null�s	%cCsdtjddtjdt�fdtj�fg�tjddtjdt��tjd�dS(s@
        Test MySQL default handling for BLOB and TEXT.
        t
test_altermydRKRRLRtN(	RR!RR"Rt	TextFieldRlRAR+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_mysql_defaults�s
	c	Cs0tjddtjdt�fdtjdt�fdtjdt�fdtjdt�fg�tjddtjddt��tjddtjdt��tjddtjdt��tj	dkrtj
d	�tjddtjd
t��tj
d�ddst�ntjd�d
S(s�
        Tests altering columns with multiple words in Postgres types (issue #125)
        e.g. 'datetime with time zone', look at django/db/backends/postgresql/creation.py
        ttest_multiwordtcol_datetimeRttcol_integertcol_smallintt	col_floattfloattpostgressKINSERT INTO test_multiword (col_datetime) VALUES ('2009-04-24 14:20:55+02')tauto_nowsBSELECT col_datetime = '2009-04-24 14:20:55+02' FROM test_multiwordiN(
RR!Rt
DateTimeFieldRAtPositiveIntegerFieldtPositiveSmallIntegerFieldR�RlRcR#tAssertionErrorR+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt$test_alter_column_postgres_multiword�s	"
 s9Only applies to databases that support CHECK constraints.cCs�tjddtj�fg�tj�tjd�tjd�tj�tj�ytjd�Wntj�nX|j	d�tj
ddtj��tj�tjd�tjd�tj�dS(s~
        Tests that going from a PostiveIntegerField to an IntegerField drops
        the constraint on the database.
        R�tnums(INSERT INTO test_alterc (num) VALUES (1)s(INSERT INTO test_alterc (num) VALUES (2)s)INSERT INTO test_alterc (num) VALUES (-3)s<Could insert a negative integer into a PositiveIntegerField.N(
RR!RR�RCR#RNRRR$RlR)R+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_alter_constraints�s"	








R`s(SQLite backend doesn't support this yet.c	Cs�tjddtjdt�fg�tjddtjdt�fdtj�fdtjtj	d	d��fg�tj
�tjddg�tj
�tt_tj
ddg�tt_tj
ddg�tjddg�tjd
krtjd�ntjd�tjd
�tj�tj�tf}tf}tjd|�tjd|�ytjd|�Wntj�nX|jd�tj
ddg�tjd�tjddg�tj�tjd|�tjd|�ytjd|�Wntj�nX|jd�tj
ddg�tjd�tjddddg�tj�tjd|�tjd|�ytjd|�Wntj�nX|jd�tj
ddddg�tj�dS(s=
        Tests creating/deleting unique constraints.
        ttest_unique2R=R:ttest_uniqueRKRRLR�tUnique2tpyodbcs$SET IDENTITY_INSERT test_unique2 ON;s(INSERT INTO test_unique2 (id) VALUES (1)s(INSERT INTO test_unique2 (id) VALUES (2)s>INSERT INTO test_unique (spam, eggs, ham_id) VALUES (%s, 0, 1)s>INSERT INTO test_unique (spam, eggs, ham_id) VALUES (%s, 1, 2)s>INSERT INTO test_unique (spam, eggs, ham_id) VALUES (%s, 2, 1)sCould insert non-unique item.sDELETE FROM test_uniques>INSERT INTO test_unique (spam, eggs, ham_id) VALUES (%s, 1, 1)tham_idsCould insert non-unique pair.N(RR!RR@RAR"RR)RBR?RCt
create_uniqueRQRdRcR#RNRRR$(RtTRUEtFALSE((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR��sj		%

		



		






cCstjddtj�fdtjdt�fg�tj�tjd�tj�tj�ytjd�WnnX|j	d�tj
�tjddtj��tj�ytjd�WnnX|j	d�tj
�tjd	krtj
ddg�ntjd�tj�tjd
dtj�fdtj�fg�tjd
d�tj�tjd�tj�tj�ytjd�Wn|j	d
�nXtj
�tj�ytjd�Wn|j	d
�nXtj
�tj�ytjd�WnnX|j	d�tj
�tjd
dtj��tj�ytjd�Wn|j	d�nXtj
�tj�ytjd�Wn|j	d�nXtj
�tj�ytjd�WnnX|j	d�tj
�tjd
�tj�dS(s�
        Tests that unique constraints are not affected when
        altering columns (that's handled by create_/delete_unique)
        ttest_alter_uniqueRKRLR_s9INSERT INTO test_alter_unique (spam, eggs) VALUES (0, 42)s9INSERT INTO test_alter_unique (spam, eggs) VALUES (1, 42)s8Could insert the same integer twice into a unique field.s]Could insert the same integer twice into a unique field after alter_column with unique=False.R`ttest_alter_unique2s:INSERT INTO test_alter_unique2 (spam, eggs) VALUES (0, 42)s:INSERT INTO test_alter_unique2 (spam, eggs) VALUES (1, 42)sCLooks like multi-field unique constraint applied to only one field.s:INSERT INTO test_alter_unique2 (spam, eggs) VALUES (0, 43)s=Could insert the same pair twice into unique-together fields.s:Altering one column broken multi-column unique constraint.sbCould insert the same pair twice into unique-together fields after alter_column with unique=False.N(sspamseggs(RR!RR)RARCR#RNRR$RRlRcRdR+R�R�(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR�4s�	










	

















cCsBtjddtjdt�fg�tjddtj��dS(sT
        Under PostgreSQL at least, capitalised constraints must be quoted.
        t
test_capconsttSOMECOLR:N(RR!RR�RARlR)(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_capitalised_constraints�s	cCs)tjddtjdt�fg�dS(sC
        MySQL cannot have blank defaults on TEXT columns.
        ttest_textdefttextcoltblankN(RR!RR�RA(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_text_default�s	cCs�d}tjddtj�fg�tj�tjd|g�tjddtjdd��tj�tjd�dd}|j||d	||f�d
S(s[
        On Oracle, you can't simply ALTER TABLE MODIFY a textfield to a charfield
        t	kawabangattest_text_to_charR�s)INSERT INTO test_text_to_char VALUES (%s)RYidsselect * from test_text_to_charis3Change from text to char altered value [ %r != %r ]N(	RR!RR�RCR#RlRZtassertEqual(Rtvaluetafter((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR��s	

cCs�d}tjddtjdd�fg�tj�tjd|g�tjddtj��tj�tjd�dd}t|�}|j	||d	||f�d
S(sb
        On Oracle, you can't simply ALTER TABLE MODIFY a charfield to a textfield either
        t	agnabawakttest_char_to_textR�RYids)INSERT INTO test_char_to_text VALUES (%s)sselect * from test_char_to_textis3Change from char to text altered value [ %r != %r ]N(
RR!RRZRCR#RlR�R	R�(RR�R�((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR��s	

cCs�tjdddddd�}yddlm}Wntk
rEn;Xddlm}t|d	t�r�|jd
|j	�}nt
jddtj
d
t�fdtjd|�fdtjd
t�fg�t
j�t
jd|g�t
jddtjd|��t
jddtjd|��t
j�t
j�t
j�t
jd�d}|jt|�d�x|D]}|j||�qxWt
j�xQddgD]C}t
j�d|}|jtt
j|||g�t
j�q�Wt
j�dS(sS
        Test that defaults are correctly not created for datetime columns
        i�iiiii����(ttimezone(tsettingstUSE_TZttzinfottest_datetime_deftcol0Rttcol1Rtcol2sFINSERT INTO test_datetime_def (col0, col1, col2) values (null,%s,null)tcol3s,select col1,col2,col3 from test_datetime_defis	col1,col2s	col2,col3s=insert into test_datetime_def (col0,%s) values (null,%%s,%%s)N(tdatetimetdjango.utilsR�Rtdjango.confR�tgetattrRtreplacetutcRR!RR)RAR�RCR#RlRxRNRtfailUnlessEqualtlenRRR(Rtend_of_worldR�R�tendstetcolst	statement((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_datetime_default�s@
	







c	Cs�tjddtjdt�fg�tjddtjtjdd�dtdt��tjdd	tj	tjdd�dt��tj
�tjd�d
S(sN
        Test adding a ForeignKey with unique=True or a OneToOneField
        ttest_add_unique_fkRKRtmock1RpRqRtR_tmock2N(RR!RR"RRxRBR?RAt
OneToOneFieldRCR+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR��s	4.
cCs&tjddtj�fg�tj�tj�tj�ytjd�WnnX|jd�tj	�tj
ddtj��tj�tjd�tjd�tj
ddtj��tj�tj�ytjd�WnnX|jd�tj	�tjd�tj�dS(st
        Tests that the value constraint of PositiveIntegerField is enforced on
        the database level.
        ttest_column_constraintRKs/INSERT INTO test_column_constraint VALUES (-42)s:Could insert a negative value into a PositiveIntegerField.s"DELETE FROM test_column_constraintsWCould insert a negative value after changing an IntegerField to a PositiveIntegerField.N(
RR!RR�RCRNRR#R$RRlR)R+(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR�s4	












cs�dttjtj�f�fd��Y�tjr:dp=d}tjdd�dftjdt�d|ftjdd	�d
f�dddd
dg�dff}xO|D]G\}}tj	dd|�}||kr�|j
d||f�q�q�WdS(s�
        Test that sql default value is correct for non-string field types.
        Datetimes are handled in test_datetime_default.
        tCustomFieldcs/eZdZ�fd�Zd�Zd�ZRS(R�cs?|j�r,t|j�r%|j�S|jSt�|�j�S(N(thas_defaulttcallableRtsupertget_default(R(R�(s2/usr/lib/python2.7/site-packages/south/tests/db.pyR�9s

cSs |s
|Sdjtt|��S(Nt,(tjointmaptstr(RR�((s2/usr/lib/python2.7/site-packages/south/tests/db.pytget_prep_value?scSs6|st|t�r|Sttt|jd���S(NR�(t
isinstancetlistR�tinttsplit(RR�((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt	to_pythonCs(t__name__t
__module__tdescriptionR�R�R�((R�(s2/usr/lib/python2.7/site-packages/south/tests/db.pyR�7s	Rt0RtsukasukasDEFAULT 'sukasukas
DEFAULT %si*s
DEFAULT 42i�i�i�i�sDEFAULT '2012,2018,2021,2036tfishtYAAAAAAZsEdefault sql value was not properly generated for field %r.
Sql was %sN(R
RtSubfieldBaseRZRthas_booleansR"RR)t
column_sqlR$(Rtfalse_valuetdefaultstfieldtsql_test_strtsql((R�s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_sql_defaults1s+$cCs�tjddddddddd	tjd
gdi�}tjdd
tj�fg�tj�tjddtj|dt	��tj�tj
ddtj|��tj�dS(NR/RpR1RqR3R4R5R=R7R8Rrttest_fkRLtforeikRtt	foreik_id(RR?RR@R!R)RCRxRBRARl(RRp((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt$test_make_added_foreign_key_not_nullTs9	
"
cCs�tjddddddddd	tjd
gdi�}tjdd
tj�fdtj|�fg�tj�tjddtj|dt	��tj�dS(NR/RpR1RqR3R4R5R=R7R8Rrttest_make_fk_nullRLR�R�Rt(
RR?RR@R!R)RBRCRlRA(RRp((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_make_foreign_key_nulles9	
"cCsrtjddddddddd	tjd
gdi�}tjdd
tjdt�fg�tjdddddddd
d	tjd
gdi�}tjddtj|dt�fg�tj�tj	ddtj|dt��tj�ytj
d�ddd}Wnttfk
r3d}nXtj
d|g�tj
d|g�tj
�tj�dS(NR/RpR1RqR3R4R5R=R7R8Rrttest_fk_changed_targetRLR:tEggttest_fk_changingteggRttegg_idsSELECT MAX(id) FROM auth_useriiis5INSERT INTO test_fk_changed_target (eggs) VALUES (%s)s1INSERT INTO test_fk_changing (egg_id) VALUES (%s)(RR?RR@R!R)RARBRCRlR#R R[RNR(RRpRtnon_user_id((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_change_foreign_key_targetss"9	9	
"


cCs�tjddddddddd	tjd
gdi�}tjdd
tj�fdtj|�fg�tjdd
dg�tj�tj	ddtj|dt
��tj�dS(NR/RpR1RqR3R4R5R=R7R8Rrt
test_2indexedRLR�R�Rt(RR?RR@R!R)RBR�RCRlRA(RRp((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt test_alter_double_indexed_column�s9	
"(1R�R�t__doc__RRR%RRtraises_default_errorsR&R,R.RDtsupports_foreign_keysRIRORRRVR\ReRjRmR}RR�R�R�RRcR�R�R�R�thas_check_constraintsR�R�R�R�R�R�R�R�R�R�R�R�R�RR(((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR
 sP			
							
					
			!!		!!N	a	
			/	.	#			tTestCacheGenericcBs5eZejZd�Zd�Zd�Zd�ZRS(cCs&d|jfd��Y}||_dS(NtCacheOpscBsteZd�Zd�Zejd��Zejd��Zej	d��Z
ejej	d���Zd�ZRS(cSs&i|_d|_idd6|_dS(NiRtNAME(t_constraint_cachetcache_filledR�(R((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt__init__�s		cSs=|jd7_|jj|i�|j|j|i�dS(Ni(RRt
setdefault(RRttable((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt_fill_constraint_cache�scSsdS(N((RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt	clear_con�scSsdS(N((RRt
column_oldt
column_new((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt	cp_column�scSsdS(N((RRtcolumn((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt	rm_column�scSsdS(N((RRRR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt	mv_column�scSs|j|S(N(R�(Rtattr((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt_get_setting�s(
R�R�RRRtinvalidate_table_constraintsRtcopy_column_constraintsRtdelete_column_constraintsRRR(((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR�s		(tbase_ops_clsR(RR((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR�scCsP|j�}|jd|j�|j|jdd��|jd|j�|j|jdd��|jd|j�|jd�|jd|j�|j|jdd��|jd|j�|j|jddd��|jd|j�|j}d|ddd<|jd|jddd��|jdg|jdd��|jd|j�|jd�|jd|jddd��|jd|j�|j|jdd��|jd	|j�d|ddd<|jd|jddd��|jdd�|jg|jddd��|jg|jddd
��d|ddd<|jd|jddd��|jddd�|jd|jddd��|jd|jddd��d|ddd<|jd|jddd��|j	ddd�|jd|jddd��|jg|jddd��dS(
NiRRiiRt
constraintt	new_tableitnoexist_columnR(scolumnR#(
RR�RR�tlookup_constraintRRRRR(Rtopstcache((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt
test_cache�sJ
	
cCs|j�}|j|jdd��|j|jdd��|jd�|j|jdd��|jdd�|j|jdd��|jdd�|j|jdd��|jddd�|j|jdd��|jd�|j|jdd��dS(NRRR(RR�t_is_valid_cacheRRR&t
assertTrue(RR'((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt
test_valid�s

cCs|j�}|j|jdd��|j|jdd��|jdd�|j|jdd��|j|jdd��|jdd�|j|jdd��|j|jdd��|jd�|j|jdd��|j|jdd��dS(NRRtother_table(RR�R*R&R+R(RR'((s2/usr/lib/python2.7/site-packages/south/tests/db.pyttest_valid_implementations
(	R�R�RtDatabaseOperationsR"RR)R,R.(((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR
�s
		!	1	tTestCacheMysqlcBseZejZd�ZRS(cCs|j�}|j|jdd��|j|jdd��|jdd�|j|jdd��|j|jdd��|jdd�|j|jdd��|j|jdd��|jd�|j|jdd��|j|jdd��dS(NRRR-(RR�R*R&R+R(RR'((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR.s
(R�R�RR/R"R.(((s2/usr/lib/python2.7/site-packages/south/tests/db.pyR0s	( R�twarningsRtsouth.dbRRt	django.dbRRRtDjangoIntegrityErrortsouth.testsRRRtsouth.utils.py3R	R
terrorstpsycopg2RtappendRttupletsql_server.pyodbc.basetSQLServerIntegrityErrorRRztTestCaseR
R
R0(((s2/usr/lib/python2.7/site-packages/south/tests/db.pyt<module>s8




����u

https://t.me/AnonymousX5 - 2025