
    mga                         S r SSKrSSKJr  SSKJr  SSKJr  SSKJr  SS	KJr   " S
 S\5      r	 " S S\5      r
 " S S\5      r " S S\5      r\rg)a  
.. dialect:: mysql+mysqlconnector
    :name: MySQL Connector/Python
    :dbapi: myconnpy
    :connectstring: mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>
    :url: https://pypi.org/project/mysql-connector-python/

.. note::

    The MySQL Connector/Python DBAPI has had many issues since its release,
    some of which may remain unresolved, and the mysqlconnector dialect is
    **not tested as part of SQLAlchemy's continuous integration**.
    The recommended MySQL dialects are mysqlclient and PyMySQL.

    N   )BIT)MySQLCompiler)MySQLDialect)MySQLIdentifierPreparer   )utilc                       \ rS rSrS rSrg)MySQLCompiler_mysqlconnector#   c                 ~    U R                   " UR                  40 UD6S-   U R                   " UR                  40 UD6-   $ )Nz % )processleftright)selfbinaryoperatorkws       p/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/sqlalchemy/dialects/mysql/mysqlconnector.pyvisit_mod_binary-MySQLCompiler_mysqlconnector.visit_mod_binary$   s>    LL++ll6<<.2./	
     N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r   #   s    
r   r   c                   N    \ rS rSr\S 5       r\R                  S 5       rS rSrg)&MySQLIdentifierPreparer_mysqlconnector,   c                     g)NFr   )r   s    r   _double_percents7MySQLIdentifierPreparer_mysqlconnector._double_percents-   s    r   c                     g Nr   r   values     r   r#   r$   1   s    r   c                 R    UR                  U R                  U R                  5      nU$ r&   )replaceescape_quoteescape_to_quoter'   s     r   _escape_identifier9MySQLIdentifierPreparer_mysqlconnector._escape_identifier5   s#    d//1E1EFr   r   N)	r   r   r   r   propertyr#   setterr-   r   r   r   r   r    r    ,   s3       r   r    c                       \ rS rSrS rSrg)_myconnpyBIT:   c                     g)z0MySQL-connector already converts mysql bits, so.Nr   )r   dialectcoltypes      r   result_processor_myconnpyBIT.result_processor;   s     r   r   N)r   r   r   r   r7   r   r   r   r   r2   r2   :   s    r   r2   c                      ^  \ rS rSrSrSrSrSrSrSr	\
r\r\R                  " \R"                  \\05      r\S 5       rS rS r\R0                  S 5       rS	 rS
 rS rSS jrSS jr1 SkrU 4S jr Sr!U =r"$ )MySQLDialect_mysqlconnectorA   mysqlconnectorTformatc                     SSK Jn  U$ )Nr   )	connector)mysqlr?   )clsr?   s     r   import_dbapi(MySQLDialect_mysqlconnector.import_dbapiQ   s    #r   c                 &    UR                  S5        g)NFT)ping)r   dbapi_connections     r   do_ping#MySQLDialect_mysqlconnector.do_pingW   s    e$r   c                    UR                  SS9nUR                  UR                  5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[        5        [        R                  " US[
        5        [        R                  " US[        5        [        R                  " US	[        5        [        R                  " US
[
        5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[        5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[
        5        [        R                  " US[
        5        UR                  SS5        U R                  b=   SSK	J
n  UR                  SUR                  5       5      nXCR                  -  nXBS'   / U/$ / U/$ ! [         a     / U/$ f = f)Nuser)usernameallow_local_infile
autocommitbufferedclient_flagcompressconnection_timeoutconnect_timeoutconsume_results
force_ipv6get_warningspool_reset_session	pool_sizeraise_on_warningsrawssl_verify_certuse_pureuse_unicodeTr   )
ClientFlagclient_flags)translate_connect_argsupdatequeryr	   coerce_kw_typeboolint
setdefaultdbapimysql.connector.constantsr]   getget_default
FOUND_ROWS	Exception)r   urloptsr]   r^   s        r   create_connect_args/MySQLDialect_mysqlconnector.create_connect_args[   s   ))6):CIID"6=D,5D*d3D-5D*d3D"6<D"3S9D"3T:D,5D.$7D"6=D+s3D"5t<D%.D"3T:D*d3D-6 	
D) ::!	@#xx"J$:$:$<   5 55'3^$ DzDz  Dzs   '8I' '
I76I7c                 
   U R                   (       ar  [        U R                   S5      (       aV  [        R                  " SU R                   R                  5      nU(       a#  [        S UR                  SSS5       5       5      $ g g g )N__version__z(\d+)\.(\d+)(?:\.(\d+))?c              3   @   #    U  H  oc  M  [        U5      v   M     g 7fr&   )rd   ).0xs     r   	<genexpr>KMySQLDialect_mysqlconnector._mysqlconnector_version_info.<locals>.<genexpr>   s     O-=VSVV-=s   r      r   )rf   hasattrrematchrq   tuplegroup)r   ms     r   _mysqlconnector_version_info8MySQLDialect_mysqlconnector._mysqlconnector_version_info   sa    ::'$**m<<4djj6L6LMAOQWWQ1-=OOO  =:r   c                 .    UR                   R                  $ r&   )
connectioncharset)r   r   s     r   _detect_charset+MySQLDialect_mysqlconnector._detect_charset   s    $$,,,r   c                     UR                   $ r&   )errno)r   	exceptions     r   _extract_error_code/MySQLDialect_mysqlconnector._extract_error_code   s    r   c                     SnU R                   R                  U R                   R                  4n[        X5      (       a9  UR                  U;   =(       d#    S[        U5      ;   =(       d    S[        U5      ;   $ g)N)i  i  i  i  i  i   zMySQL Connection not available.z$Connection to MySQL is not availableF)rf   OperationalErrorInterfaceError
isinstancer   str)r   er   cursorerrnos
exceptionss         r   is_disconnect)MySQLDialect_mysqlconnector.is_disconnect   sj    5jj114::3L3LM
a$$6! D4A>D9SVC r   c                 "    UR                  5       $ r&   )fetchallr   rpr   s      r   _compat_fetchall,MySQLDialect_mysqlconnector._compat_fetchall       {{}r   c                 "    UR                  5       $ r&   )fetchoner   s      r   _compat_fetchone,MySQLDialect_mysqlconnector._compat_fetchone   r   r   >   
AUTOCOMMITSERIALIZABLEREAD COMMITTEDREPEATABLE READREAD UNCOMMITTEDc                 N   > US:X  a  SUl         g SUl         [        TU ]	  X5        g )Nr   TF)rM   super_set_isolation_level)r   r   level	__class__s      r   r   0MySQLDialect_mysqlconnector._set_isolation_level   s(    L $(J!$)J!G(;r   r   r&   )#r   r   r   r   driversupports_statement_cachesupports_sane_rowcountsupports_sane_multi_rowcountsupports_native_decimaldefault_paramstyler   statement_compilerr    preparerr	   update_copyr   colspecsr   r2   classmethodrB   rG   rn   memoized_propertyr~   r   r   r   r   r   _isolation_lookupr   r   __classcell__)r   s   @r   r:   r:   A   s    F#!#' "!55H 5 5\7JKH 
(T 
P P-
< <r   r:   )__doc__ry   baser   r   r   r    r	   r   r    r2   r:   r5   r   r   r   <module>r      sY     
    ) 
= 
-D 3 p<, p<f &r   