
    [h                     v    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d de          Z G d	 d
e          Z	e	Z
dS )a  

.. dialect:: mysql+cymysql
    :name: CyMySQL
    :dbapi: cymysql
    :connectstring: mysql+cymysql://<username>:<password>@<host>/<dbname>[?<options>]
    :url: https://github.com/nakagami/CyMySQL

.. note::

    The CyMySQL dialect is **not tested as part of SQLAlchemy's continuous
    integration** and may have unresolved issues.  The recommended MySQL
    dialects are mysqlclient and PyMySQL.

   )BIT)MySQLDialect)MySQLDialect_mysqldb   )utilc                       e Zd Zd ZdS )_cymysqlBITc                     d }|S )z@Convert MySQL's 64 bit, variable length binary string to a long.c                 F    | d}t          |           D ]
}|dz  |z  }|S | S )N       )iter)valuevis      p/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/cymysql.pyprocessz-_cymysqlBIT.result_processor.<locals>.process#   s;     e # #AQ
AAL     )selfdialectcoltyper   s       r   result_processorz_cymysqlBIT.result_processor    s    	 	 	 r   N)__name__
__module____qualname__r   r   r   r   r	   r	      s#            r   r	   c                   ~    e Zd ZdZdZdZdZdZdZ e	j
        ej        eei          Zed             Zd Zd Zd ZdS )	MySQLDialect_cymysqlcymysqlTNFc                      t          d          S )Nr   )
__import__)clss    r   import_dbapiz!MySQLDialect_cymysql.import_dbapi9   s    )$$$r   c                     |j         j        S N)
connectioncharset)r   r&   s     r   _detect_charsetz$MySQLDialect_cymysql._detect_charset=   s    $,,r   c                     |j         S r%   )errno)r   	exceptions     r   _extract_error_codez(MySQLDialect_cymysql._extract_error_code@   s
    r   c                     t          || j        j                  r|                     |          dv S t          || j        j                  rdS dS )N)i  i  i  i  i  TF)
isinstancedbapiOperationalErrorr,   InterfaceError)r   er&   cursors       r   is_disconnectz"MySQLDialect_cymysql.is_disconnectC   s^    a455 	++A.. 3   4:455 	 45r   )r   r   r   driversupports_statement_cachedescription_encodingsupports_sane_rowcountsupports_sane_multi_rowcountsupports_unicode_statementsr   update_copyr   colspecsr   r	   classmethodr#   r(   r,   r4   r   r   r   r   r   .   s        F#!#( "&t 5[7IJJH% % [%- - -      r   r   N)__doc__baser   r   mysqldbr    r   r	   r   r   r   r   r   <module>rB      s                  ) ) ) ) ) )          #   # # # # #/ # # #L r   