
    g                     h    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
y)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y)_cymysqlBITc                     d }|S )z@Convert MySQL's 64 bit, variable length binary string to a long.c                 B    | d}t        |       D ]
  }|dz  |z  } |S | S )N       )iter)valuevis      `/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/sqlalchemy/dialects/mysql/cymysql.pyprocessz-_cymysqlBIT.result_processor.<locals>.process#   s7     e #AQ
A#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y)	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| j                  |      dv S t        || j                  j                        ryy)N)i  i  i  i  i  TF)
isinstancedbapiOperationalErrorr,   InterfaceError)r   er&   cursors       r   is_disconnectz"MySQLDialect_cymysql.is_disconnectC   sQ    a445++A. 3   4::445 r   )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   .   se    F#!#( "&t 5 5[7IJH% %-r   r   N)__doc__baser   r   mysqldbr    r   r	   r   r   r   r   r   <module>rB      s9       ) # #/ #L r   