%PDF- %PDF-
Mini Shell

Mini Shell

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

�
��4]c@s-ddlZddlZddlZddlZddlmZddlmZddlmZddlmZddlm	Z	dd	l
mZdd
l
mZeje�ZdZdefd��YZd
�Zd�Zd�Zd�Zd�Zejd��Zejd��Zejd��Zejd��Zejd��Z ejd��Z!ej"d�d��Z#e!j"d�d��Z$e j"d�d��Z%ej"d�d��Z&ej"d�d ��Z'ej"d�d!��Z(ej"d�d"��Z)ej"d�d#��Z*ej"d�d$��Z+ej"d�d%��Z,ej"d&�d'��Z-ej"d&�d(��Z.d)�Z/ej"d&�d*��Z0ej"d&�d+��Z1d,�Z2d-�Z3e!j"d&�d.��Z4ej"d�d/��Z5ej"d�d0��Z6d1�Z7d2�Z8dS(3i����Ni(tconfig(tenginesi(t
create_engine(texc(ttext(turl(tcompattregistercBs2eZd�Zed��Zd�Zd�ZRS(cCs
i|_dS(N(tfns(tself((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt__init__scCst�jd�|�S(Nt*(Rtfor_db(tclstfn((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytinitscs��fd�}|S(Ncs|�j�<�S(N(R(R(tdbnameR	(sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytdecorates
((R	RR((RR	sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyRscGs�t|tj�r$tj|�}n't|tj�r?|}n|jj}|j�}||j	krz|j	|||�S|j	d||�SdS(NR(
t
isinstanceRtstring_typestsa_urltmake_urltURLtdbRtget_backend_nameR(R	tcfgtargRtbackend((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt__call__#s	(t__name__t
__module__R
tclassmethodRRR(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyRs		cCsDx=t�D]2}tjd||jj�t||j|�q
WdS(NsCREATE database %s, URI %r(t_configs_for_db_operationtlogtinfoRRt
_create_db(tfollower_identR((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytcreate_follower_db1scCs+x$tjj�D]}t||�qWdS(N(RtConfigtall_configst_configure_follower(R$R((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytconfigure_follower7scCs�|rt||�}ni}t||�tj||�}t|||�|j�j�tjj	||||�}|r�t
||�n|S(N(t_follower_url_from_maint_update_db_optsRttesting_enginet_post_configure_enginetconnecttcloseRR&RR((tdb_urltoptionstfile_configR$tdb_optstengR((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytsetup_config<s
cCsDx=t�D]2}tjd||jj�t||j|�q
WdS(NsDROP database %s, URI %r(R R!R"RRt_drop_db(R$R((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytdrop_follower_dbKsccs�t�}x$tjj�D]}|jj�qWxktjj�D]Z}|jj}|j�}||j|j	|j
f}||kr@|V|j|�q@q@Wx$tjj�D]}|jj�q�WdS(N(tsetRR&R'RtdisposeRRtusernamethosttdatabasetadd(thostsRRRt	host_conf((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR Qs	cCstd|j��dS(Ns"no DB creation routine for cfg: %s(tNotImplementedErrorR(RR4tident((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR#dscCstd|j��dS(Nsno DB drop routine for cfg: %s(R@R(RR4RA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR6iscCsdS(N((R0R3((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR+nscCsdS(N((RRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR(sscCsdS(N((RtengineR$((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR-xscCstj|�}||_|S(N(RRR<(RRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR*}s	tmssqlcCst|d<dS(Ntlegacy_schema_aliasing(tFalse(R0R3((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_mssql_update_db_opts�stsqlitecCsAtj|�}|js(|jdkr,|Stjd|�SdS(Ns:memory:ssqlite:///%s.db(RRR<(RRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_sqlite_follower_url_from_main�scs5ddlm}|j|d��fd��}dS(Ni����(teventR.cs+�s|jd�n|jd��dS(Ns/ATTACH DATABASE "test_schema.db" AS test_schemas2ATTACH DATABASE "%s_test_schema.db" AS test_schema(texecute(tdbapi_connectiontconnection_record(R$(sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR.�s
(t
sqlalchemyRItlistens_for(RRBR$RIR.((R$sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_sqlite_post_configure_engine�st
postgresqlc	Cs|jj}|j�jdd���}yt|||�Wntk
rNnX|sg|jd�}nd}x�try|jd||f�Wnvt	j
k
r}|d7}|dkr��ndt|�krtj
d	||j|�tjd
�qqp�qpXPqpWWdQXdS(Ntisolation_levelt
AUTOCOMMITsselect current_database()isCREATE DATABASE %s TEMPLATE %siisaccessed by other userssFWaiting to create %s, URI %r, template DB %s is in use sleeping for .5g�?(R1tpostgresql_templatedbR.texecution_optionst_pg_drop_dbt	ExceptiontscalartTrueRJRtOperationalErrortstrR!R"Rttimetsleep(RR4RAttemplate_dbtconntattemptterr((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt
_pg_create_db�s6
	
tmysqlc	Cst|j��b}yt|||�Wntk
r6nX|jd|�|jd|�|jd|�WdQXdS(Ns(CREATE DATABASE %s CHARACTER SET utf8mb4s4CREATE DATABASE %s_test_schema CHARACTER SET utf8mb4s6CREATE DATABASE %s_test_schema_2 CHARACTER SET utf8mb4(R.t_mysql_drop_dbRVRJ(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_mysql_create_db�s
cCsd||_d||_dS(Ns%s_test_schemas%s_test_schema_2(ttest_schemat
test_schema_2(RRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_mysql_configure_follower�s
cCsdS(N((RR4RA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_sqlite_create_db�scCsO|j�jdd��1}|jtd�d|�|jd|�WdQXdS(NRQRRs�select pg_terminate_backend(pid) from pg_stat_activity where usename=current_user and pid != pg_backend_pid() and datname=:dnametdnamesDROP DATABASE %s(R.RTRJR(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyRU�s	cCs/|rtjd|�ntjd|�dS(Ns%s_test_schema.dbs%s.db(tostremove(RR4RA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_sqlite_drop_db�scCsL|j��:}|jd|�|jd|�|jd|�WdQXdS(NsDROP DATABASE %s_test_schemasDROP DATABASE %s_test_schema_2sDROP DATABASE %s(R.RJ(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyRc�storaclecCs�|j���}|jd|�|jd|�|jd|�|jd|f�|jd|�|jd|�|jd|�WdQXdS(Nscreate user %s identified by xes#create user %s_ts1 identified by xes#create user %s_ts2 identified by xesgrant dba to %ss grant unlimited tablespace to %ss$grant unlimited tablespace to %s_ts1s$grant unlimited tablespace to %s_ts2(R.RJ(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_oracle_create_dbscCsd||_d||_dS(Ns%s_ts1s%s_ts2(ReRf(RRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_oracle_configure_followers
cCsWy)|jd|�tjd|�tSWn'tjk
rR}tjd|�tSXdS(Nsdrop user %s cascades
Reaped db: %sscouldn't drop db: %s(RJR!R"RXRt
DatabaseErrortwarningRE(R^RR`((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_ora_drop_ignorescCsH|j��6}t||�t|d|�t|d|�WdQXdS(Ns%s_ts1s%s_ts2(R.Rr(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_oracle_drop_db#s
cCsdS(N((R0R3((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_oracle_update_db_opts0scCs-tjd�tjt�}tjt�}t|��}xu|D]m}|j�}|jd�\}}tj	|�}|j
�|jf}||j|�||j|�qAWWdQXxn|D]f}|d}	t
||�d}
||}|	dkr	t|
|�q�|	dkr�t|
|�q�q�WdS(NsReaping databases...t iRmRC(R!R"tcollectionstdefaultdictR8topentstriptsplitRRRR;R=tlistt_reap_oracle_dbst_reap_mssql_dbs(tidents_fileturlstidentstfile_tlinetdb_nameR0turl_objturl_keyRRRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pytreap_dbs5s&




cCshtjd|�t|�}|j��:}tjddj|��|jd�}d�|D�}t�}x�|D]�}|jd�ss|jd�r�qsqs||krs|j|�d||kr�|jd|�nd	||kr|jd	|�qqsqsWd
}}	x9t	|d�D](\}	}
t
||
�r|d7}qqWtjd||	�WdQXdS(
Nsdb reaper connecting to %rsidentifiers in file: %ss, s�select u.username from all_users u where username like 'TEST_%' and not exists (select username from v$session where username=u.username)cSsh|]\}|j��qS((tlower(t.0R:((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pys	<setcomp>Zs	t_ts1t_ts2s%s_ts1s%s_ts2iis-Dropped %d out of %d stale databases detected(R!R"RR.tjoinRJR8tendswithR=t	enumerateRr(RR�R4R^tto_reapt	all_namestto_droptnametdroppedttotalR:((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR|Ns.		


cCs%tj|�}||_d|_|S(Ntxe(RRR:tpassword(RRA((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_oracle_follower_url_from_mainos		cCs�|j�jdd��e}|jd|�|jd|�|jd|�|jd|�|jd�|jd�WdQXdS(	NRQRRscreate database %ss1ALTER DATABASE %s SET ALLOW_SNAPSHOT_ISOLATION ONs0ALTER DATABASE %s SET READ_COMMITTED_SNAPSHOT ONsuse %sscreate schema test_schemascreate schema test_schema_2(R.RTRJ(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_mssql_create_dbws
cCs2|j�jdd��}t||�WdQXdS(NRQRR(R.RTt_mssql_drop_ignore(RR4RAR^((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt_mssql_drop_db�scCsWy)|jd|�tjd|�tSWn'tjk
rR}tjd|�tSXdS(Nsdrop database %ss
Reaped db: %sscouldn't drop db: %s(RJR!R"RXRRpRqRE(R^RAR`((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR��s	cCstjd|�t|�}|j�jdd���}tjddj|��|jd�}d�|D�}t�}x*|D]"}||kr|j|�qqWd}}	x9t	|d	�D](\}	}
t
||
�r�|d	7}q�q�Wtjd
||	�WdQXdS(Nsdb reaper connecting to %rRQRRsidentifiers in file: %ss, s�select d.name from sys.databases as d where name like 'TEST_%' and not exists (select session_id from sys.dm_exec_sessions where database_id=d.database_id)cSsh|]\}|j��qS((R�(R�R((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pys	<setcomp>�s	iis-Dropped %d out of %d stale databases detected(R!R"RR.RTR�RJR8R=R�R�(RR�R4R^R�R�R�R�R�R�R((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyR}�s"		

(9RvtloggingRjR[tRRRRRRBRRtutilRt	getLoggerRR!tNonetFOLLOWER_IDENTtobjectRR%R)R5R7R RR#R6R+R(R-R*RRFRHRORaRdRgRhRURlRcRnRoRrRsRtR�R|R�R�R�R�R}(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/provision.pyt<module>s\						%	

		!	

Zerion Mini Shell 1.0