iddZddlmZddlmZddlmZddlmZddlmZGdd eZ Gd d eZ Gd d eZ e Z dS)a .. 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. )BIT) MySQLDialect)MySQLExecutionContext)types)utilceZdZdZdS) _oursqlBITcdS)z'oursql already converts mysql bits, so.N)selfdialectcoltypes U/opt/cloudlinux/venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/oursql.pyresult_processorz_oursqlBIT.result_processor(s tN)__name__ __module__ __qualname__rr rrr r 's#rr c$eZdZedZdS)MySQLExecutionContext_oursqlc8|jddS)N_oursql_plain_queryF)execution_optionsget)r s r plain_queryz(MySQLExecutionContext_oursql.plain_query/s%))*?GGGrN)rrrpropertyrr rrrr.s2 HHXHHHrrc8eZdZdZejrdZdZdZdZ dZ e Z ej ejejejeeiZedZddZdZdZdZd Z dd Z dd Zdd ZddZddZddZ ddZ!dZ"dZ# ddZ$dZ%dZ&dZ'dZ(ddZ)ddZ*ddZ+dS)MySQLDialect_oursqloursqlTc tdS)Nr ) __import__)clss rdbapizMySQLDialect_oursql.dbapiEs(###rNcv|r |jr||ddS|||dS)zMProvide an implementation of *cursor.execute(statement, parameters)*.TrN)rexecute)r cursor statement parameterscontexts r do_executezMySQLDialect_oursql.do_executeIsL  2w* 2 NN9$N 7 7 7 7 7 NN9j 1 1 1 1 1rcX|dddS)NBEGINTr&)r(r'r connections rdo_beginzMySQLDialect_oursql.do_beginRs-##G#>>>>>rcDtjr|j|}nG|j}|j|||}d|z}|d||zdS)Nz'%s'Tr) rpy2kr0_escape_string_connection_charsetencodedecoderr')r r0queryxidargcharsets r _xa_queryzMySQLDialect_oursql._xa_queryUs 9 '66s;;CC.G'66 7##fWoo sl$$$>>FF CK     rc4||d|dS)Nz XA BEGIN %sr=r r0r:s rdo_begin_twophasez%MySQLDialect_oursql.do_begin_twophasegs z=#66666rcb||d|||d|dS)N XA END %sz XA PREPARE %sr?r@s rdo_prepare_twophasez'MySQLDialect_oursql.do_prepare_twophasejs4 z;444 z?C88888rFcf|s||d|||d|dS)NrCzXA ROLLBACK %sr?r r0r: is_preparedrecovers rdo_rollback_twophasez(MySQLDialect_oursql.do_rollback_twophasens? 9 NN:{C 8 8 8 z#3S99999rcd|s|||||d|dS)Nz XA COMMIT %s)rDr=rFs rdo_commit_twophasez&MySQLDialect_oursql.do_commit_twophaseus> 6  $ $Z 5 5 5 z>377777rc|tj||d||SNTr3)r has_tableconnectr)r r0 table_nameschemas rrNzMySQLDialect_oursql.has_table~s@%     2 2t 2 L L      rc ztj||d|fd|i|SNTr3rQ)rget_table_optionsrOrr r0rPrQkws rrTz%MySQLDialect_oursql.get_table_optionssV-     2 2t 2 L L         rc ztj||d|fd|i|SrS)r get_columnsrOrrUs rrXzMySQLDialect_oursql.get_columnssV'     2 2t 2 L L         rc xtj||dfd|i|SrS)rget_view_namesrOrr r0rQrVs rrZz"MySQLDialect_oursql.get_view_namessS*     2 2t 2 L L       rc ztj||d|SrM)rget_table_namesrOrr[s rr]z#MySQLDialect_oursql.get_table_namess=+     2 2t 2 L L    rc ttj||dfi|SrM)rget_schema_namesrOr)r r0rVs rr_z$MySQLDialect_oursql.get_schema_namessI,     2 2t 2 L L     rcTtj||dSrM)r initializerr/s rrazMySQLDialect_oursql.initializes-& *..4.HH   rctj||dd|||S)NT)close_with_resultr3)r_show_create_table_contextual_connectr)r r0tabler< full_names rrdz&MySQLDialect_oursql._show_create_tablesQ.   * *"& +  D99      rct||jjr8|jduo.d|jdvo|jddS|jdvS)Nr(rclosed)iiiii) isinstancer$ProgrammingErrorerrnoargsendswith)r er0r(s r is_disconnectz!MySQLDialect_oursql.is_disconnectsf a4 5 5 =41AF1I-1F1I&&x00  7<<      ===&&&P--- rrN) __doc__baserrrrrrr rrrr rrrs0''''''!!!!!!HHHHH#8HHH OOOOO,OOOd r