Ñò Š„[Jc@s‹dZddklZddklZdefd„ƒYZdeifd„ƒYZdei fd „ƒYZ d ei fd „ƒYZ d S( s:Provides a thread-local transactional wrapper around the root Engine class. The ``threadlocal`` module is invoked when using the ``strategy="threadlocal"`` flag with :func:`~sqlalchemy.engine.create_engine`. This module is semi-private and is invoked automatically when the threadlocal engine strategy is used. iÿÿÿÿ(tutil(tbaset TLSessioncBszeZd„Zed„Zd„Zd„Zd„Zd„Zd d„Z d„Z d„Z d „Z d „Zd „ZRS( cCs||_d|_dS(Ni(tenginet_TLSession__tcount(tselfR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyt__init__ s cCsMy|iiƒSWn5tj o)|ii||iiiƒd|ƒSXdS(Ntclose_with_result(t_TLSession__transactiont_increment_connecttAttributeErrorRt TLConnectiontpooltconnect(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytget_connectionscCs@y|iiƒ|`|`Wntj onXd|_dS(Ni(Rt _force_closet_TLSession__transR R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytresets  cCs2|idjo|iiiƒ|iƒndS(Ni(RRt_transtrollbackR(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyt _conn_closedscCs |idjS(Ni(R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytin_transaction$scCs(|idjo|iiiƒndS(Ni(RRRtprepare(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR'scCsQ|idjo+|iƒ|_|iid|ƒ|_n|id7_|iS(Nitxidi(RRRt_begin_twophaseR(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytbegin_twophase+s cKsN|idjo(|iƒ|_|ii||_n|id7_|iS(Nii(RRRt_beginR(Rtkwargs((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytbegin2s cCs:|idjo&z|iiiƒWd|iƒXndS(Ni(RRRRR(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR9scCs]|idjo&z|iiiƒWd|iƒXn$|idjo|id8_ndS(Ni(RRRtcommitR(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR@s cCsE|idjo|iƒn$|idjo|id8_ndS(Ni(RR(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytcloseIscCs |idjS(Ni(R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytis_begunOsN(t__name__t __module__RtFalseRRRRRtNoneRRRRRR(((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR s         R cBs†eZd„Zd„Zd„ZeeƒZd„Zd„Zd d„Z d„Z d„Z d d„Z d „Z d „Zd „ZRS( cKs2tii||i||||_d|_dS(Ni(Rt ConnectionRRt_TLConnection__sessiont_TLConnection__opencount(Rtsessiont connectionR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRTs cCs|ii|i|idtƒS(Nt_branch(RR$R(tTrue(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR)YscCs|iS(N(R%(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR'\scCs|id7_|S(Ni(R&(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR `scKs"ttt|ƒi||iƒS(N(t TLTransactiontsuperR RR%(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRdscCs%ttt|ƒid|ƒ|iƒS(NR(R+R,R RR%(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRhscCs |iiƒS(N(R'R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRlscKs|ii|S(N(R'R(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRoscCs|iid|ƒS(NR(R'R(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRrscCstdƒ‚dS(Ns6SAVEPOINT transactions with the 'threadlocal' strategy(tNotImplementedError(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyt begin_nesteduscCsD|idjo!tii|ƒ|iiƒn|id8_dS(Ni(R&RR$RR%R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRxscCsd|_tii|ƒdS(Ni(R&RR$R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR~s N(R R!RR)R'tpropertyR RR#RRRRR.RR(((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR Ss            R+cBsqeZd„Zd„ZeeƒZd„ZeeƒZd„Zd„Zd„Zd„Z d„Z d„Z RS( cCs||_||_dS(N(Rt_session(RttransR'((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR„s cCs |iiS(N(RR((R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR(ˆscCs |iiS(N(Rt is_active(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR2ŒscCs|iiƒdS(N(R0R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRscCs|iiƒdS(N(R0R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR“scCs|iiƒdS(N(R0R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR–scCs|iiƒdS(N(R0R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR™scCs|S(N((R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyt __enter__œscCs|ii|||ƒdS(N(Rt__exit__(Rttypetvaluet traceback((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR4Ÿs( R R!RR(R/R2RRRRR3R4(((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR+ƒs          tTLEnginecBsteZdZd„Zd„ZeeƒZd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z RS( sAn Engine that includes support for thread-local managed transactions. The TLEngine relies upon its Pool having "threadlocal" behavior, so that once a connection is checked out for the current thread, you get that same connection repeatedly. cOsgtt|ƒi||Žtiiƒ|_|idƒ}|oti t |ƒ|_ n t |_ dS(sConstruct a new TLEngine.tproxyN( R,R8RRt threadingtlocaltcontexttgetRt_proxy_connection_clsR (RtargsRR9((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR«s cCs3t|idƒpt|ƒ|i_n|iiS(s&Returns the current thread's TLSessionR'(thasattrR<RR'(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR'·scKs|ii|S(s5Return a TLConnection which is thread-locally scoped.(R'R(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pytcontextual_connect¿scKs|ii|S(N(R'R(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRÄscCstdƒ‚dS(Ns6SAVEPOINT transactions with the 'threadlocal' strategy(R-(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR.ÇscKs|ii|S(N(R'R(RR((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRÊscCs|iiƒdS(N(R'R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRÍscCs|iiƒdS(N(R'R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRÐscCs|iiƒdS(N(R'R(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyRÓscCsdt|iƒS(Ns TLEngine(%s)(tstrturl(R((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyt__repr__Ös(R R!t__doc__RR'R/RARR.RRRRRD(((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyR8£s         N( REt sqlalchemyRtsqlalchemy.engineRtobjectRR$R t TransactionR+tEngineR8(((sA/usr/lib/python2.6/site-packages/sqlalchemy/engine/threadlocal.pyts H0