+
    Xjt                       R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ]	'       d1   ^RIHt ^RIHt ^RIHt ^RIHt ^RIH t  ^RIH!t! ^RIH"t" ^RI#H$t$  ! R R]4      t% ! R R]]%4      t& ! R  R!]]4      t' ! R" R#]'4      t( ! R$ R%]4      t) ! R& R']4      t*]*t+R(# ))a  
.. dialect:: mysql+asyncmy
    :name: asyncmy
    :dbapi: asyncmy
    :connectstring: mysql+asyncmy://user:password@host:port/dbname[?key=value&key=value...]
    :url: https://github.com/long2ice/asyncmy

Using a special asyncio mediation layer, the asyncmy dialect is usable
as the backend for the :ref:`SQLAlchemy asyncio <asyncio_toplevel>`
extension package.

This dialect should normally be used only with the
:func:`_asyncio.create_async_engine` engine creation function::

    from sqlalchemy.ext.asyncio import create_async_engine

    engine = create_async_engine(
        "mysql+asyncmy://user:pass@hostname/dbname?charset=utf8mb4"
    )

)annotations)
ModuleType)Any)NoReturn)Optional)TYPE_CHECKING)Union) _connection_ping_reconnects_true)MySQLDialect_pymysql)pool)util)AsyncAdapt_dbapi_connection)AsyncAdapt_dbapi_cursor)AsyncAdapt_dbapi_module)AsyncAdapt_dbapi_ss_cursor)AsyncAdapt_terminate)langhelpers)await_fallback)
await_only)AsyncIODBAPIConnection)AsyncIODBAPICursor)ConnectArgsType)DBAPIConnection)DBAPICursor)DBAPIModule)PoolProxiedConnection)URLc                      ] tR t^?tRtRtR# )AsyncAdapt_asyncmy_cursor N)__name__
__module____qualname____firstlineno__	__slots____static_attributes__r       }   /Users/wind/Downloads/Coruna-main学习资料A/backend/venv/lib/python3.14/site-packages/sqlalchemy/dialects/mysql/asyncmy.pyr   r   ?   s    Ir&   r   c                  &    ] tR t^CtRtR R ltRtR# )AsyncAdapt_asyncmy_ss_cursorc                    V ^8  d   QhRRRR/# )   
connectionr   returnr   r   )formats   "r'   __annotate__)AsyncAdapt_asyncmy_ss_cursor.__annotate__H   s     
 
0
	
r&   c                	    VP                  V P                  P                  P                  P                  P
                  4      # N)cursor_adapt_connectiondbapiasyncmycursorsSSCursorselfr,   s   &&r'   _make_new_cursor-AsyncAdapt_asyncmy_ss_cursor._make_new_cursorH   s8       ""((0088AA
 	
r&   r   N)r    r!   r"   r#   r$   r;   r%   r   r&   r'   r)   r)   C   s     I
 
r&   r)   c                      ] tR t^PtRt]t]tR R lt	RR R llt
R R ltR R ltR	 R
 ltR R ltR R ltR R ltR R ltRtR# )AsyncAdapt_asyncmy_connectionc                    V ^8  d   QhRRRR/# )r+   error	Exceptionr-   r   r   )r.   s   "r'   r/   *AsyncAdapt_asyncmy_connection.__annotate__X   s      y X r&   c                	j    \        V\        4      '       d   V P                  P                  R 4      VhVh)z7network operation failed due to asyncmy attribute error)
isinstanceAttributeErrorr5   InternalErrorr:   r@   s   &&r'   _handle_exception/AsyncAdapt_asyncmy_connection._handle_exceptionX   s3    e^,,****I r&   c                    V ^8  d   QhRRRR/# )r+   	reconnectboolr-   Noner   )r.   s   "r'   r/   rB   `   s     , ,d ,t ,r&   c                	T    V'       d   Q hV P                  V P                  4       4      # r2   )await__do_ping)r:   rK   s   &&r'   ping"AsyncAdapt_asyncmy_connection.ping`   s    }{{4==?++r&   c                   V ^8  d   QhRR/# r+   r-   rM   r   )r.   s   "r'   r/   rB   d   s     * * *r&   c                	  "    V P                   ;_uu_4       GR j  xL
  V P                  P                  '       d&   V P                  P	                  RR7      G R j  xL
  M"V P                  P	                  4       G R j  xL
  R R R 4      GR j  xL
  R #  Ly L; L L  + GR j  xL 
 '       g   i     R # ; i  \
         d   pT P                  T4        R p?R # R p?ii ; i5i)NF)rK   )_execute_mutexr5   _send_false_to_ping_connectionrQ   rA   rH   rG   s   & r'   rP   &AsyncAdapt_asyncmy_connection._do_pingd   s     	*****::111**//%/@@@**//111	 +**@1	 +***
  	*""5))	*s   C%B; BB; <BB"B?B BB; BB; C%B; BBB; B8	$B'%
B8	0B8	2B; 6C%8B; ;C"CC%C""C%c                   V ^8  d   QhRR/# )r+   r-   zOptional[str]r   )r.   s   "r'   r/   rB   n   s     5 5M 5r&   c                	6    V P                   P                  4       # r2   )rX   character_set_namer:   s   &r'   r\   0AsyncAdapt_asyncmy_connection.character_set_namen   s    2244r&   c                    V ^8  d   QhRRRR/# )r+   valuer   r-   rM   r   )r.   s   "r'   r/   rB   q   s     8 8 8 8r&   c                	Z    V P                  V P                  P                  V4      4       R # r2   )rO   rX   
autocommit)r:   r`   s   &&r'   rb   (AsyncAdapt_asyncmy_connection.autocommitq   s    D$$//67r&   c                   V ^8  d   QhRR/# r+   r-   rL   r   )r.   s   "r'   r/   rB   t   s     1 1 1r&   c                	6    V P                   P                  4       # r2   )rX   get_autocommitr]   s   &r'   rg   ,AsyncAdapt_asyncmy_connection.get_autocommitt   s    ..00r&   c                   V ^8  d   QhRR/# rT   r   )r.   s   "r'   r/   rB   w   s     6 6t 6r&   c                	X    V P                  V P                  P                  4       4       R # r2   )rO   rX   ensure_closedr]   s   &r'   close#AsyncAdapt_asyncmy_connection.closew   s    D$$2245r&   c                   V ^8  d   QhRR/# rT   r   )r.   s   "r'   r/   rB   z   s     / / /r&   c                	V   "   V P                   P                  4       G R j  xL
  R #  L5ir2   )rX   rk   r]   s   &r'   _terminate_graceful_close7AsyncAdapt_asyncmy_connection._terminate_graceful_closez   s     ,,...s   )')c                   V ^8  d   QhRR/# rT   r   )r.   s   "r'   r/   rB   }   s     ! ! !r&   c                	:    V P                   P                  4        R # r2   )rX   rl   r]   s   &r'   _terminate_force_close4AsyncAdapt_asyncmy_connection._terminate_force_close}   s     r&   r   N)F)r    r!   r"   r#   r$   r   _cursor_clsr)   _ss_cursor_clsrH   rQ   rP   r\   rb   rg   rl   rp   rt   r%   r   r&   r'   r>   r>   P   sE     I+K1N,*5816/! !r&   r>   c                  *    ] tR t^tRt]! ]4      tRtR# )%AsyncAdaptFallback_asyncmy_connectionr   N)	r    r!   r"   r#   r$   staticmethodr   rO   r%   r   r&   r'   ry   ry      s    I.)Fr&   ry   c                  (   ] tR t^tR R ltR R lt]P                  ! R4      t]P                  ! R4      t	]P                  ! R4      t
]P                  ! R4      t]P                  ! R	4      t]! ]4      tR
 R lt]P$                  R R l4       tRtR# )AsyncAdapt_asyncmy_dbapic                   V ^8  d   QhRR/# )r+   r6   r   r   )r.   s   "r'   r/   %AsyncAdapt_asyncmy_dbapi.__annotate__   s     & &
 &r&   c                	@    Wn         R V n        V P                  4        R# )r.   N)r6   
paramstyle_init_dbapi_attributes)r:   r6   s   &&r'   __init__!AsyncAdapt_asyncmy_dbapi.__init__   s    "##%r&   c                   V ^8  d   QhRR/# rT   r   )r.   s   "r'   r/   r~      s     D D Dr&   c           	     	l    R F-  p\        W\        V P                  P                  V4      4       K/  	  R# )WarningN)r   ErrorInterfaceError	DataErrorDatabaseErrorOperationalErrorr   IntegrityErrorProgrammingErrorrF   NotSupportedError)setattrgetattrr6   errors)r:   names   & r'   r   /AsyncAdapt_asyncmy_dbapi._init_dbapi_attributes   s+    
D D(;(;T BC
r&   STRINGNUMBERBINARYDATETIME	TIMESTAMPc               $    V ^8  d   QhRRRRRR/# )r+   argr   kwr-   r>   r   )r.   s   "r'   r/   r~      s"      C s /L r&   c           
     	   VP                  R R4      pVP                  RV P                  P                  4      p\        P                  ! V4      '       d   \        V \        V! V/ VB 4      4      # \        V \        V! V/ VB 4      4      # )async_fallbackFasync_creator_fn)	popr6   connectr   asboolry   r   r>   r   )r:   r   r   r   
creator_fns   &*,  r'   r    AsyncAdapt_asyncmy_dbapi.connect   s     0%8VV.0D0DE
;;~&&8z35"56 
 1:s1b12 r&   c                   V ^8  d   QhRR/# re   r   )r.   s   "r'   r/   r~      s     @ @T @r&   c                     \        R4      P                  P                  p\        V4      #   \        \
        3 d     R# i ; i)zdetermine if asyncmy has deprecated, changed the default of,
or removed the 'reconnect' argument of connection.ping().

See #13306 and #10492

zasyncmy.connectionT)
__import__r,   
Connectionr	   ImportErrorrE   )r:   r   s   & r'   rW   ,AsyncAdapt_asyncmy_dbapi._send_false_to_ping   sE    	@#$89DDOOJ 4J?? ^, 		s   , A A)r6   r   N)r    r!   r"   r#   r   r   r   symbolr   r   r   r   r   rz   bytesBinaryr   r   memoized_propertyrW   r%   r   r&   r'   r|   r|      s    &
D  [["F[["F[["F{{:&HK(I% F ""@ #@r&   r|   c                     a  ] tR t^tRtRtRt]tRt	Rt
]R R l4       t]R R l4       tR R ltR	 V 3R
 lltR V 3R lltR R ltR R ltRtV ;t# )MySQLDialect_asyncmyr6   Tc                   V ^8  d   QhRR/# )r+   r-   r   r   )r.   s   "r'   r/   !MySQLDialect_asyncmy.__annotate__   s     ? ?[ ?r&   c                	*    \        \        R 4      4      # )r6   )r|   r   )clss   &r'   import_dbapi!MySQLDialect_asyncmy.import_dbapi   s    '
9(=>>r&   c                    V ^8  d   QhRRRR/# )r+   urlr   r-   typer   )r.   s   "r'   r/   r      s     . . . .r&   c                	    VP                   P                  R R4      p\        P                  ! V4      '       d   \        P
                  # \        P                  # )r   F)querygetr   r   r   FallbackAsyncAdaptedQueuePoolAsyncAdaptedQueuePool)r   r   r   s   && r'   get_pool_class#MySQLDialect_asyncmy.get_pool_class   s>    '7?;;~&&555---r&   c                    V ^8  d   QhRRRR/# )r+   dbapi_connectionr   r-   rM   r   )r.   s   "r'   r/   r      s     % %_ % %r&   c                	&    VP                  4        R # r2   )	terminate)r:   r   s   &&r'   do_terminate!MySQLDialect_asyncmy.do_terminate   s    ""$r&   c                    V ^8  d   QhRRRR/# )r+   r   r   r-   r   r   )r.   s   "r'   r/   r      s     
 
s 
 
r&   c                	<   < \         SV `  V\        R RR7      R7      # )userdb)usernamedatabase)_translate_args)supercreate_connect_argsdict)r:   r   	__class__s   &&r'   r   (MySQLDialect_asyncmy.create_connect_args   s&    w*v!E + 
 	
r&   c               (    V ^8  d   QhRRRRRRRR/# )	r+   ezDBAPIModule.Errorr,   z7Optional[Union[PoolProxiedConnection, DBAPIConnection]]r3   zOptional[DBAPICursor]r-   rL   r   )r.   s   "r'   r/   r      s3       L &	
 
r&   c                	   < \         SV `  WV4      '       d   R # \        V4      P                  4       pRV9   ;'       g    RV9   # )Tznot connectedznetwork operation failed)r   is_disconnectstrlower)r:   r   r,   r3   str_er   s   &&&& r'   r   "MySQLDialect_asyncmy.is_disconnect   sD     7 77FLLNE5(OO,F%,Or&   c                   V ^8  d   QhRR/# )r+   r-   intr   )r.   s   "r'   r/   r      s     ! ! !r&   c                	&    ^ RI Hp VP                  # )    )CLIENT)asyncmy.constantsr   
FOUND_ROWS)r:   r   s   & r'   _found_rows_client_flag,MySQLDialect_asyncmy._found_rows_client_flag   s    ,   r&   c                    V ^8  d   QhRRRR/# )r+   r,   r   r-   r   r   )r.   s   "r'   r/   r      s     & &)&	&r&   c                	    VP                   # r2   )rX   r9   s   &&r'   get_driver_connection*MySQLDialect_asyncmy.get_driver_connection   s     %%%r&   r   )r    r!   r"   r#   driversupports_statement_cachesupports_server_side_cursorsr)   	_sscursoris_asynchas_terminateclassmethodr   r   r   r   r   r   r   r%   __classcell__)r   s   @r'   r   r      sq    F##' ,IHM? ? . .%
 

 !
& &r&   r   N),__doc__
__future__r   typesr   typingr   r   r   r   r   pymysqlr	   r
    r   r   connectors.asyncior   r   r   r   r   r   util.concurrencyr   r   r   r   engine.interfacesr   r   r   r   r   
engine.urlr   r   r)   r>   ry   r|   r   dialectr   r&   r'   <module>r      s   , #        5 )   = 9 9 < 6  . *<84400:! 7 

 9

/!5/!d*,I *:@6 :@z5&/ 5&p r&   