Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
x“EYc@sgdZddlZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZddl
mZddlmZdd	lmZdd
lmZejeƒZd„Zd„Zd
d„Zeddd
dddeeddedddd„Zejddeƒdddd„ƒZej dƒd„ƒZej dƒd„ƒZej dƒd„ƒZej dƒd„ƒZej dƒej dƒd„ƒƒZejddeƒeed „ƒZ!e!j dƒdd!„ƒZ!e!j dƒeed"„ƒZ!d#„Z"d$„Z#d%„Z$dS(&s'Core SQLAlchemy connectivity routines.
iÿÿÿÿN(tevent(texc(tpool(tselect(t_LW(t	exception(texc_filters(tutilscCstjdƒdS(s…Ensure other greenthreads get a chance to be executed.

    If we use eventlet.monkey_patch(), eventlet.greenthread.sleep(0) will
    execute instead of time.sleep(0).
    Force a context switch. With common database backends (eg MySQLdb and
    sqlite), there is no implicit yield caused by network I/O since they are
    implemented by C libraries that eventlet cannot monkey patch.
    iN(ttimetsleep(t	dbapi_cont
con_record((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt
_thread_yield)s	cCsx|r
dS|j}t|_zKy|jtdgƒƒWn*tjk
re|jtdgƒƒnXWd||_XdS(s—Ping the server at connection startup.

    Ping the server at transaction begin and transparently reconnect
    if a disconnect exception occurs.
    Ni(tshould_close_with_resulttFalsetscalarRRtDBConnectionError(t
connectiontbranchtsave_should_close_with_result((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_connect_ping_listener5s		icCsp|dkrltjdƒ}|dkr:|jtjƒql|dkrY|jtjƒql|jtjƒndS(sHsetup_logging function maps SQL debug level to Python log level.

    Connection_debug is a verbosity of SQL debugging information.
    0=None(default value),
    1=Processed only messages with WARNING level or higher
    50=Processed only messages with INFO level or higher
    100=Processed only messages with DEBUG level
    issqlalchemy.engineidi2N(tloggingt	getLoggertsetLeveltDEBUGtINFOtWARNING(tconnection_debugtlogger((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_setup_loggingUs	ii
c
Csïtjjj|ƒ}i|d6td6id6|
d6}t|ƒt||d|d|d|d|d	|ƒtj||}t|d
|d|d|d
|d|	ƒt	j
|ƒtj|dt
ƒ|
rët||
|ƒ}|jƒn|S(sReturn a new SQLAlchemy engine.tpool_recycletconvert_unicodetconnect_argstlogging_namet
max_pool_sizetmax_overflowtpool_timeouttjson_serializertjson_deserializertmysql_sql_modetsqlite_synchronoust	sqlite_fktthread_checkintconnection_tracetengine_connect(t
sqlalchemytengineturltmake_urltTrueRt_init_connection_argst
create_enginet_init_eventsRtregister_engineRtlistenRt_test_connectiontclose(tsql_connectionR)R'tidle_timeoutRR"R#R$R(R+tmax_retriestretry_intervalR*R!R%R&R/tengine_argsR.t	test_conn((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR3hs8


	

t*tmultiplecKsy|jƒj|ƒ}t|tjƒru|dk	r@||d<n|dk	rY||d<n|dk	ru||d<qundS(Nt	pool_sizeR#R$(tget_dialecttget_pool_classt
issubclassRt	QueuePooltNone(R/R=R"R#R$tkwt
pool_class((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR2¡s

tsqlitecKsI|jƒj|ƒ}t|tjƒrEtj|d<t|dd<ndS(Nt	poolclassR tcheck_same_thread(RBRCRDRtSingletonThreadPoolt
StaticPoolR(R/R=RGRH((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR2°s
t
postgresqlcKsFd|jkrd|d<n|jdƒ|d<|jdƒ|d<dS(Ntclient_encodingtutf8R%R&(tquerytget(R/R=RG((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR2ºs
tmysqlcKs$d|jkr d|dd<ndS(NtcharsetRPR (RQ(R/R=RG((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR2Åssmysql+mysqlconnectorcKs$d|jkr t|dd<ndS(Ntraise_on_warningsR (RQR(R/R=RG((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR2Ëss
mysql+mysqldbsmysql+oursqlcKs>d|jkr:tjr)d|dd<q:d|dd<ndS(Ntuse_unicodeiR i(RQtsixtPY3(R/R=RG((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR2Ôs	cKs@t|ƒ|rt|ƒn|r<tjj|dtƒndS(s1Set up event listeners for all database backends.tcheckinN(t_add_process_guardst_add_trace_commentsR-RR6R(R.R*R+RG((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR4ás


cs^ˆdk	r3tjj|dƒ‡fd†ƒ‰ntjj|dƒ‡‡fd†ƒ}dS(s!Set up event listeners for MySQL.tconnectcs#|jƒ}|jdˆgƒdS(NsSET SESSION sql_mode = %s(tcursortexecute(R
tconnection_recR](R'(sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_set_session_sql_modeóst
first_connectcs¾ˆdk	rˆ||ƒn|jƒ}|jdƒ|jƒ}|dkrctjtdƒƒnW|d}tjd|ƒd|jƒkrºd|jƒkrºtjtdƒ|ƒndS(NsSHOW VARIABLES LIKE 'sql_mode's#Unable to detect effective SQL modeisMySQL server mode set to %stTRADITIONALtSTRICT_ALL_TABLESsJMySQL SQL mode is '%s', consider enabling TRADITIONAL or STRICT_ALL_TABLES(	RFR]R^tfetchonetLOGtwarningRtdebugtupper(R
R_R]trealmode(R`R'(sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_check_effective_sql_modeøs

N(RFR-Rtlistens_for(R.R'RGRj((R`R'sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR4îs'csˆd„‰tjj|dƒ‡‡‡fd†ƒ}tjj|dƒd„ƒ}tjj|dƒtjj|dƒd„ƒƒ}d	S(
s¦Set up event listeners for SQLite.

    This includes several settings made on connections as they are
    created, as well as transactional control extensions.

    cSs+tj|ƒ}|jtj|ƒƒdk	S(N(tretcompiletsearchRWt	text_typeRF(texprtitemtreg((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pytregexpsR\csL|jddˆƒˆs)|jdƒnd|_ˆrH|jdƒndS(NRsisPRAGMA synchronous = OFFspragma foreign_keys=ON(tcreate_functionR^RFtisolation_level(R
R(RsR)R((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_sqlite_connect_eventss	tbegincSs0d|jkr,|jdƒt|jd<ndS(Ntin_transactiontBEGIN(tinfoR^R1(tconn((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_sqlite_emit_begin1s
trollbacktcommitcSs|jjddƒdS(NRx(RztpopRF(R{((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt_sqlite_end_transaction9sN(R-RRk(R.R(R)RGRvR|R€((RsR)R(sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR4s
		*cCsÇ|dkrtjƒ}ntjj|ƒ}d}x|D]`}y|jƒSWq:tjk
r™}t	dƒ}t
j|||ƒtj
|ƒ|}q:Xq:W|dk	rÃtjt|ƒ|ƒndS(Niÿÿÿÿs(SQL connection failed. %s attempts left.(t	itertoolstcountRWtmovestrangeRFR\RRRReRfRR	treraisettype(R.R;R<tattemptstde_reftattempttdetmsg((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR7@s

cCs@tjj|dƒd„ƒ}tjj|dƒd„ƒ}dS(sŠAdd multiprocessing guards.

    Forces a connection to be reconnected if it is detected
    as having been shared to a sub-process.

    R\cSstjƒ|jd<dS(Ntpid(tostgetpidRz(tdbapi_connectiontconnection_record((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR\^stcheckoutcSstjƒ}|jd|kr}tjtdƒi|d6|jdd6ƒd|_|_tj	d|jd|fƒ‚ndS(NRŒsvParent process %(orig)s forked (%(newproc)s) with an open database connection, which is being discarded and recreated.tnewproctorigsFConnection record belongs to pid %s, attempting to check out in pid %s(
RRŽRzReRgRRFRRtDisconnectionError(RRtconnection_proxyRŒ((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR‘bs	N(R-RRk(R.R\R‘((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyRZVscsÜddl}ddl}ddl‰t|jj|jdjƒ|jj|jdjƒgƒ‰y)t|jj|jdjƒgƒ‰Wntk
r§tƒ‰nXt	j
j|ddtƒ‡‡‡fd†ƒ}dS(	svAdd trace comments.

    Augment statements with a trace of the immediate calling code
    for a given statement.
    iÿÿÿÿNtoslo_dbR-s
oslo_db.teststbefore_cursor_executetretvalcsڈjƒ}d}x~t|ƒD]p\}\}	}
}}xKˆD]}
|	j|
ƒr>Pq>q>Wx'ˆD]}
|	j|
ƒrb|}PqbqbW|rPqqW|rÐdjd„||d|!Dƒƒ}d||f}n||fS(Ns; css.|]$}d|d|d|dfVqdS(sFile: %s (%s) %siiiN((t.0tline((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pys	<genexpr>Ÿsis	%s  -- %s(t
extract_stackRFt	enumeratet
startswithtjoin(R{R]t	statementt
parameterstcontexttexecutemanytstacktour_linetidxtfilenameRštmethodtfunctionttgtttrace(t
skip_pathsttarget_pathst	traceback(sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR—ˆs$%

(
RtsysR­tsettpathtdirnametmodulest__file__tKeyErrorR-RRkR1(R.RR®R—((R«R¬R­sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyR[ss"&

(%t__doc__RRRRlRRWR-RRRtsqlalchemy.sql.expressionRt
oslo_db._i18nRR–Rtoslo_db.sqlalchemyRRRt__name__ReRRRRRFR1R3tdispatch_for_dialectR2tdispatch_forR4R7RZR[(((sO/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.pyt<module>sX		 		2
	 0