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/oracle.pyc
�
m�Rc@s�ddlmZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZddl
mZddlmZddlmZyddlmZWnek
r�dZnXdd	lmZd
ejfd��YZdS(i����(tprint_functionN(t
connectiontmodels(t
truncate_name(tno_style(tNOT_PROVIDED(t
DatabaseError(tget_sequence_name(tgenerictDatabaseOperationscBsGeZdZdZdZdZdZdZdZdZ	e
Ze
Zidd	6d
d6dd
6dd6Z
d�Zd�Zd�Zd�Zejd��Zejed��Zejee
d��Zd�Zd�Zejejd���Zeje
d��Zd�Zd!d�Z d
d�Z!d�Z"d�Z#d �Z$RS("s;
    Oracle implementation of database operations.    
    toraclesBALTER TABLE %(table_name)s MODIFY %(column)s %(type)s %(nullity)s;sAALTER TABLE %(table_name)s MODIFY %(column)s DEFAULT %(default)s;sLUPDATE %(table_name)s SET %(column)s = %(default)s WHERE %(column)s IS NULL;sALTER TABLE %s ADD %s;sALTER TABLE %s DROP COLUMN %s;sCALTER TABLE %(table_name)s ADD CONSTRAINT %(constraint)s %(clause)ssPRIMARY KEYtPtUNIQUEtUtCHECKtCsFOREIGN KEYtRcCs0tdkr"|j�jj|�St|�SdS(N(toriginal_get_sequence_nametNonet_get_connectiontopst_get_sequence_name(tselft
table_name((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyR3scCs4tjdd�|�}tjdd�|�}|S(Ns;(?P<constr>CHECK \(.*\))(?P<any>.*)(?P<default>DEFAULT \d+)cSs,d|jd�|jd�|jd�fS(Ns%s %s%stdefaulttconstrtany(tgroup(tmo((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyt<lambda>?ss@(?P<not_null>(NOT )?NULL) (?P<misc>(.* )?)(?P<default>DEFAULT.+)cSs2d|jd�|jd�|jd�p-dfS(Ns%s %s %sRtnot_nulltmisct(R(R((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyRAs(tretsub(Rtcol((s3/usr/lib/python2.7/site-packages/south/db/oracle.pytadj_column_sql<s
		cCs)|gtj�D]}|jj^qkS(N(Rt
get_modelst_metatdb_table(RRtm((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyt
check_metaDscCsC|j|�}|ddkr?|ddkr?|dd!}n|S(s�
        Get the properly shortened and uppercased identifier as returned by quote_name(), but without the actual quotes.
        it"i����i(t
quote_name(Rtnametnn((s3/usr/lib/python2.7/site-packages/south/db/oracle.pytnormalize_nameGs c
Cs|j|�}g}d}x�|D]�\}}|j|�}t|_|j|||�}|sgq"n|j|�}|j|�t|tj	�r"t
jj||�}q"q"Wd|dj
g|D]}|^q��f}	|j|	�|r|j|d�|j|d�ndS(NR sCREATE TABLE %s (%s);s, ii(R+t
_field_sanitytTruet_suppress_defaultt
column_sqlR$tappendt
isinstanceRt	AutoFieldRRtautoinc_sqltjointexecute(
RRtfieldstqntcolumnsR6t
field_nametfieldR#tsql((s3/usr/lib/python2.7/site-packages/south/db/oracle.pytcreate_tablePs$	
,
cCse|j|�}|r)|jd|�n|jd|�di|j|�d6}|j|�dS(Ns"DROP TABLE %s CASCADE CONSTRAINTS;sDROP TABLE %s;s�
DECLARE
    i INTEGER;
BEGIN
    SELECT COUNT(*) INTO i FROM USER_CATALOG
        WHERE TABLE_NAME = '%(sq_name)s' AND TABLE_TYPE = 'SEQUENCE';
    IF i = 1 THEN
        EXECUTE IMMEDIATE 'DROP SEQUENCE "%(sq_name)s"';
    END IF;
END;
/tsq_name(R+R8R(RRtcascadeR:tsequence_sql((s3/usr/lib/python2.7/site-packages/south/db/oracle.pytdelete_tablens
cs8|jr#|jrtd�ndS|j|�}t|d�rN|j�n|j|�}|j|�|s||j}n|j|�}i|d6|d6|j	|�d6dd6dd	6�|j
r�d�d<n|j�gf|j�gfg}|j
rb|j
�rb�fd
�}	|j|	dd�gf|j|	d	d�|j�gfg|d*n|s�|j||gd
�}
xB|
D]:}|j|ji|j|�d6|j|�d6�q�Wy|j||�Wq�tk
r�q�Xnx�|D]�\}�}
y|j|�|
dt�Wq�tk
r�}t|�}d|ksZd|kr~d�d<|�}|j|�q�d|ks�d|kr�|j|||�q�|j||���q�Xq�W|s4|jr4|j|j|dd!|dd!|jjjj|jjjj |jj!�j��q4ndS(NsC   - no dry run output for alter_column() due to dynamic DDL, sorryt
south_initRtcolumnttypesNOT NULLtnullitytNULLRcs�j�}|j|�|S(s9A little helper for non-destructively changing the params(tcopytupdate(tkwtp(tparams(s3/usr/lib/python2.7/site-packages/south/db/oracle.pyt
change_params�s
s%siRttablet
constrainttprint_all_errorss	ORA-01442s	ORA-01451R s	ORA-22858s	ORA-22859ii����("tdry_runtdebugtprintR+thasattrRDR/tset_attributes_from_nameREt_db_type_for_alter_columntnulltalter_string_set_typetalter_string_set_defaultthas_defaultt$alter_string_update_nulls_to_defaulttget_defaultt_constraints_affecting_columnsR8tdelete_check_sqltdelete_foreign_keyt
ValueErrortFalseRtstrt_alter_column_lob_workaroundt_print_sql_errortreltadd_deferred_sqltforeign_key_sqlttoR&R't	get_fieldR<(RRR,R=t
explicit_nametignore_constraintsR:tqn_colt
sql_templatesRNtcheck_constraintsRPtsql_templatetargstexctdescriptionR>((RMs3/usr/lib/python2.7/site-packages/south/db/oracle.pytalter_column�sr		



	
.



	

cCs�|j|�}|j|||�|j|||dt�|jd|j|�|j|�|j|�f�|j||�dS(s�
        Oracle refuses to change a column type from/to LOB to/from a regular
        column. In Django, this shows up when the field is changed from/to
        a TextField.
        What we need to do instead is:
        - Rename the original column
        - Add the desired field as new
        - Update the table to transfer values from old to new
        - Drop old column
        tkeep_defaultsUPDATE %s set %s=%sN(t_generate_temp_namet
rename_columnt
add_columnRbR8R+t
delete_column(RRR,R=trenamed((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyRd�s	cCs1tt|��j�d}|j|d|�S(Nit_(thexthashtupperR.(Rtfor_nametsuffix((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyRvscCsI||krgS|jd|j|�|j|�|j|�f�dS(Ns&ALTER TABLE %s RENAME COLUMN %s TO %s;(R8R+(RRtoldtnew((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyRws	cCs�|j|�}|j|||�}|j|�}|r�|j|�|f}|j|}|j|�|jdk	r�t|_|j	|||dt
dt�q�ndS(NRkRl(R/R2R$R+tadd_column_stringR8RRRRtRbR0(RRR,R=RuR>RM((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyRxs	

	cCs"tt|�j|j|�|�S(N(tsuperR	RyR+(RRR,((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyRy$scCs4|r|j|�}ntt|�j|||�S(N(R.R�R	tlookup_constraint(Rtdb_nameRtcolumn_name((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyR�'scCsG|r+g|D]}|j|�^q
}ntt|�j|||�S(N(R.R�R	R^(RRR;RFtc((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyR^/s%cCsmt|tj�r?|j�r?t|j|j���|_nt|tjtj	f�ri|j
|_n|S(sV
        This particular override stops us sending DEFAULTs for BooleanField.
        (R4RtBooleanFieldR[tintt	to_pythonR]Rt	CharFieldt	TextFieldtempty_strings_allowedRX(RR=((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyR/4s
!cCsVddlm}m}m}t||||f�r<d|Stt|�j|�SdS(Ni����(tdatettimetdatetimes'%s'(R�R�R�R4R�R	t_default_value_workaround(RtvalueR�R�R�((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyR�@scCs�|jj|i�i|j||<|jd|j|��}x^|D]V\}}}|j||j|t��|j|||j|j||f�qGWdS(Ns�
            SELECT user_cons_columns.constraint_name,
                   user_cons_columns.column_name,
                   user_constraints.constraint_type
            FROM user_constraints
            JOIN user_cons_columns ON
                 user_constraints.table_name = user_cons_columns.table_name AND 
                 user_constraints.constraint_name = user_cons_columns.constraint_name
            WHERE user_constraints.table_name = '%s'
        (t_constraint_cachet
setdefaultR8R.tsettaddtconstraints_dict(RR�RtrowsRPREtkind((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyt_fill_constraint_cacheGs	-N(%t__name__t
__module__t__doc__tbackend_nameRYRZR\R�tdelete_column_stringtadd_constraint_stringRbtallows_combined_altersthas_booleansR�RR$R)R.Rtinvalidate_table_constraintsR?R0RCRtRdRvtcopy_column_constraintstdelete_column_constraintsRwRxRyRR�R^R/R�R�(((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyR	sH
						e					(t
__future__Rtos.pathtostsysR!twarningst	cx_Oraclet	django.dbRRtdjango.db.backends.utilRtdjango.core.management.colorRtdjango.db.models.fieldsRtdjango.db.utilsRtdjango.db.backends.oracle.baseRRtImportErrorRtsouth.dbRR	(((s3/usr/lib/python2.7/site-packages/south/db/oracle.pyt<module>s 



https://t.me/AnonymousX5 - 2025