ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ 4]c@sdZddlmZddlmZddlmZddlmZddlmZdefd YZ d efd YZ d efd YZ e Z dS(s .. dialect:: mysql+oursql :name: OurSQL :dbapi: oursql :connectstring: mysql+oursql://:@[:]/ :url: http://packages.python.org/oursql/ .. note:: The OurSQL MySQL dialect is legacy and is no longer supported upstream, and is **not tested as part of SQLAlchemy's continuous integration**. The recommended MySQL dialects are mysqlclient and PyMySQL. Unicode ------- Please see :ref:`mysql_unicode` for current recommendations on unicode handling. i(tBIT(t MySQLDialect(tMySQLExecutionContexti(ttypes(tutilt _oursqlBITcBseZdZRS(cCsdS(s'oursql already converts mysql bits, so.N(tNone(tselftdialecttcoltype((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytresult_processor(s(t__name__t __module__R (((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR'stMySQLExecutionContext_oursqlcBseZedZRS(cCs|jjdtS(Nt_oursql_plain_query(texecution_optionstgettFalse(R((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyt plain_query/s(R R tpropertyR(((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR .stMySQLDialect_oursqlcBsieZdZejr$eZeZneZeZ eZ e Z ej ejiejej6ee6ZedZddZdZdZdZdZeedZeedZdd Zdd Z dd Z!dd Z"dd Z#dZ$dZ%dddZ&dZ'dZ(dZ)dZ*ddZ+ddZ,ddZ-RS(toursqlcCs tdS(NR(t __import__(tcls((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytdbapiEscCs9|r%|jr%|j|dtn|j||dS(sMProvide an implementation of *cursor.execute(statement, parameters)*.RN(RtexecutetTrue(Rtcursort statementt parameterstcontext((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyt do_executeIscCs|jjddtdS(NtBEGINR(RRR(Rt connection((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytdo_beginRscCsvtjr|jj|}n-|j}|jj|j|j|}d|}|jdtj ||dS(Ns'%s'R( Rtpy2kR!t_escape_stringt_connection_charsettencodetdecodeRRR(RR!tquerytxidtargtcharset((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyt _xa_queryUs     cCs|j|d|dS(Ns XA BEGIN %s(R,(RR!R)((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytdo_begin_twophasegscCs*|j|d||j|d|dS(Ns XA END %ss XA PREPARE %s(R,(RR!R)((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytdo_prepare_twophasejscCs3|s|j|d|n|j|d|dS(Ns XA END %ssXA ROLLBACK %s(R,(RR!R)t is_preparedtrecover((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytdo_rollback_twophasenscCs0|s|j||n|j|d|dS(Ns XA COMMIT %s(R.R,(RR!R)R/R0((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pytdo_commit_twophaseuscCs(tj||jjdt||S(NR(Rt has_tabletconnectRR(RR!t table_nametschema((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR3~s cKs.tj||jjdt|d||S(NRR6(Rtget_table_optionsR4RR(RR!R5R6tkw((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR7s cKs.tj||jjdt|d||S(NRR6(Rt get_columnsR4RR(RR!R5R6R8((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR9s cKs+tj||jjdtd||S(NRR6(Rtget_view_namesR4RR(RR!R6R8((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR:s cKs%tj||jjdt|S(NR(Rtget_table_namesR4RR(RR!R6R8((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR;scKs%tj||jjdt|S(NR(Rtget_schema_namesR4RR(RR!R8((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR<scCstj||jdtS(NR(Rt initializeRR(RR!((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR=scCs1tj||jdtjdt|||S(Ntclose_with_resultR(Rt_show_create_tablet_contextual_connectRR(RR!ttableR+t full_name((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyR?s  cCs\t||jjrK|jdkoJd|jdkoJ|jdjdS|jd kSdS( NRitclosediiiii(iiiii(t isinstanceRtProgrammingErrorterrnoRtargstendswith(RteR!R((sS/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/oursql.pyt is_disconnects cCsz|jdddddd}|j|jtj|dttj|dttj|d ttj|d ttj|d t|jd trd|d s