+
    ˜h©j·C  ã                  óL  € R t ^ RIHt ^ RI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 ^RI H!t! ^RI"H#t# ^RI"H$t$ ]'       d=   ^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"I0H1t1  ! R# R$4      t2 ! R% R&]24      t3 ! R' R(]]!4      t4 ! R) R*]44      t5 ! R+ R,]4      t6 ! R- R.]4      t7 ! R/ R0]4      t8]8t9R# )1u  

.. dialect:: sqlite+aiosqlite
    :name: aiosqlite
    :dbapi: aiosqlite
    :connectstring: sqlite+aiosqlite:///file_path
    :url: https://pypi.org/project/aiosqlite/

The aiosqlite dialect provides support for the SQLAlchemy asyncio interface
running on top of pysqlite.

aiosqlite is a wrapper around pysqlite that uses a background thread for
each connection.   It does not actually use non-blocking IO, as SQLite
databases are not socket-based.  However it does provide a working asyncio
interface that's useful for testing and prototyping purposes.

Using a special asyncio mediation layer, the aiosqlite 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("sqlite+aiosqlite:///filename")

The URL passes through all arguments to the ``pysqlite`` driver, so all
connection arguments are the same as they are for that of :ref:`pysqlite`.

.. _aiosqlite_udfs:

User-Defined Functions
----------------------

aiosqlite extends pysqlite to support async, so we can create our own user-defined functions (UDFs)
in Python and use them directly in SQLite queries as described here: :ref:`pysqlite_udfs`.

.. _aiosqlite_serializable:

Serializable isolation / Savepoints / Transactional DDL (asyncio version)
-------------------------------------------------------------------------

A newly revised version of this important section is now available
at the top level of the SQLAlchemy SQLite documentation, in the section
:ref:`sqlite_transactions`.


.. _aiosqlite_pooling:

Pooling Behavior
----------------

The SQLAlchemy ``aiosqlite`` DBAPI establishes the connection pool differently
based on the kind of SQLite database that's requested:

* When a ``:memory:`` SQLite database is specified, the dialect by default
  will use :class:`.StaticPool`. This pool maintains a single
  connection, so that all access to the engine
  use the same ``:memory:`` database.
* When a file-based database is specified, the dialect will use
  :class:`.AsyncAdaptedQueuePool` as the source of connections.

  .. versionchanged:: 2.0.38

    SQLite file database engines now use :class:`.AsyncAdaptedQueuePool` by default.
    Previously, :class:`.NullPool` were used.  The :class:`.NullPool` class
    may be used by specifying it via the
    :paramref:`_sa.create_engine.poolclass` parameter.

.. _aiosqlite_memory:

Using a Memory Database with Multiple Coroutines
-------------------------------------------------

The default :class:`.StaticPool` used for ``:memory:`` databases forces all
coroutines to share a single DBAPI connection.  Because SQLite maintains only
one transaction state per connection, concurrent coroutines can interfere
with each other â€” a ``ROLLBACK`` in one coroutine will also discard
uncommitted work from any other coroutine using the same engine.

For async workloads where multiple :class:`.AsyncSession` or
:class:`.AsyncConnection` objects may be active simultaneously, use SQLite's
shared-cache URI mode instead.  This gives each checkout its own DBAPI
connection with independent transaction state while still sharing one
in-memory database::

    engine = create_async_engine(
        "sqlite+aiosqlite:///file::memory:?cache=shared&uri=true"
    )

Because this URL form is treated as a file-based database by the dialect,
:class:`.AsyncAdaptedQueuePool` is used automatically and no additional
configuration is needed.

See the pysqlite documentation at
:ref:`pysqlite_uri_shared_cache` for full details on shared-cache memory
databases, including how to use named databases to maintain multiple
independent in-memory databases within the same process.

)ÚannotationsN)Údeque)Úpartial)ÚThread)Ú
ModuleType)ÚAny)Úcast)ÚDeque)ÚIterator)ÚNoReturn)ÚOptional)ÚSequence)ÚTYPE_CHECKING)ÚUnion)ÚSQLiteExecutionContext)ÚSQLiteDialect_pysqlite)Úpool)Úutil)ÚAsyncAdapt_dbapi_module)ÚAsyncAdapt_terminate)ÚAdaptedConnection)Úawait_fallback)Ú
await_only)ÚAsyncIODBAPIConnection)ÚAsyncIODBAPICursor)Ú_DBAPICursorDescription)Ú_DBAPIMultiExecuteParams)Ú_DBAPISingleExecuteParams)ÚDBAPIConnection)ÚDBAPICursor)ÚDBAPIModule)ÚURL)ÚPoolProxiedConnectionc                  óž   € ] tR t^—tRtRtR R ltR R l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 R lltR R ltRtR# )ÚAsyncAdapt_aiosqlite_cursorFc               ó   € V ^8„  d   QhRR/# )é   Úadapt_connectionÚAsyncAdapt_aiosqlite_connection© )Úformats   "Ú_/var/www/html/bestweb/venv/lib/python3.14/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.pyÚ__annotate__Ú(AsyncAdapt_aiosqlite_cursor.__annotate__¨   s   € ÷ )ñ )Ð)Hñ )ó    c                	óž   € Wn         VP                  V n        VP                  V n        ^V n        RV n        RV n        \        4       V n        R# )é   Néÿÿÿÿ)Ú_adapt_connectionÚ_connectionÚawait_Ú	arraysizeÚrowcountÚdescriptionr   Ú_rows)Úselfr'   s   &&r+   Ú__init__Ú$AsyncAdapt_aiosqlite_cursor.__init__¨   sB   € Ø!1ÔØ+×7Ñ7ˆÔØ&×-Ñ-ˆŒØˆŒØˆŒØ>BˆÔÜ!&£ˆŽ
r.   c               ó   € V ^8„  d   QhRR/# ©r&   ÚreturnÚNoner)   )r*   s   "r+   r,   r-   ±   s   € ÷ ñ ¨ñ r.   c              ƒ  	ó   "  € R # 5i©Nr)   ©r9   s   &r+   Ú_async_soft_closeÚ-AsyncAdapt_aiosqlite_cursor._async_soft_close±   s   é € Ùùs   ‚c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r-   ´   s   € ÷ ñ �tñ r.   c                	ó:   € V P                   P                  4        R # rA   )r8   ÚclearrB   s   &r+   ÚcloseÚ!AsyncAdapt_aiosqlite_cursor.close´   s   € Ø�
‰
×ÑÖr.   Nc               ó$   € V ^8„  d   QhRRRRRR/# )r&   Ú	operationr   Ú
parametersz#Optional[_DBAPISingleExecuteParams]r>   r)   )r*   s   "r+   r,   r-   ·   s(   € ÷ <ñ <àð<ð 8ð<ð 
ñ	<r.   c                	óò  €  V P                  V P                  P                  4       4      pVf"   V P                  VP                  V4      4       M V P                  VP                  W4      4       VP                  '       d`   VP                  V n        R;V n        V n        V P                  '       g.   \        V P                  VP                  4       4      4      V n
        M)R V n        VP
                  V n        VP                  V n        V P                  '       g"   V P                  VP                  4       4       R # W0n        R #   \         d'   pT P                  P                  T4        R p?R # R p?ii ; i)Nr1   )r4   r3   ÚcursorÚexecuter7   Ú	lastrowidr6   Úserver_sider   Úfetchallr8   rH   Ú_cursorÚ	Exceptionr2   Ú_handle_exception)r9   rK   rL   rS   Úerrors   &&&  r+   rO   Ú#AsyncAdapt_aiosqlite_cursor.execute·   s  € ð	<Ø*.¯+©+°d×6FÑ6F×6MÑ6MÓ6OÓ*PˆGàÒ!Ø—‘˜GŸO™O¨IÓ6Õ7à—‘˜GŸO™O¨IÓBÔCà×"×"Ð"Ø#*×#6Ñ#6�Ô Ø13Ð3�” ¤à×'×'Ð'Ü!& t§{¡{°7×3CÑ3CÓ3EÓ'FÓ!G�D”Jøà#'�Ô Ø!(×!2Ñ!2�”Ø '× 0Ñ 0�”à×#×#Ð#Ø—‘˜GŸM™M›OÖ,à&–øÜô 	<Ø×"Ñ"×4Ñ4°U×;Ò;ûð	<ús+   ‚A?E ÂBE ÄE Ä=E ÅE6ÅE1Å1E6c               ó$   € V ^8„  d   QhRRRRRR/# )r&   rK   r   Úseq_of_parametersr   r>   r)   )r*   s   "r+   r,   r-   ×   s(   € ÷ <ñ <àð<ð 4ð<ð 
ñ	<r.   c                	ó’  €  V P                  V P                  P                  4       4      pV P                  VP                  W4      4       R V n        VP
                  V n        VP                  V n        V P                  VP                  4       4       R #   \         d'   pT P                  P                  T4        R p?R # R p?ii ; irA   )r4   r3   rN   Úexecutemanyr7   rP   r6   rH   rT   r2   rU   )r9   rK   rY   rS   rV   s   &&&  r+   r[   Ú'AsyncAdapt_aiosqlite_cursor.executemany×   s–   € ð
	<Ø*.¯+©+°d×6FÑ6F×6MÑ6MÓ6OÓ*PˆGØ�K‰K˜×+Ñ+¨IÓIÔJØ#ˆDÔØ$×.Ñ.ˆDŒNØ#×,Ñ,ˆDŒMØ�K‰K˜Ÿ™›Ö(øÜô 	<Ø×"Ñ"×4Ñ4°U×;Ò;ûð	<ús   ‚BB ÂCÂ CÃCc               ó    € V ^8„  d   QhRRRR/# )r&   Ú
inputsizesr   r>   r?   r)   )r*   s   "r+   r,   r-   æ   s   € ÷ ñ ¨ð °ñ r.   c                	ó   € R # rA   r)   )r9   r^   s   &*r+   ÚsetinputsizesÚ)AsyncAdapt_aiosqlite_cursor.setinputsizesæ   s   € Ùr.   c               ó   € V ^8„  d   QhRR/# )r&   r>   zIterator[Any]r)   )r*   s   "r+   r,   r-   é   s   € ÷ 'ñ '˜-ñ 'r.   c              #  	ón   "  € V P                   '       d   V P                   P                  4       x € K0  R # 5irA   ©r8   ÚpopleftrB   s   &r+   Ú__iter__Ú$AsyncAdapt_aiosqlite_cursor.__iter__é   s&   é € Ø�j�jˆjØ—*‘*×$Ñ$Ó&Ô&ñ ùs   ‚5• 5c               ó   € V ^8„  d   QhRR/# ©r&   r>   zOptional[Any]r)   )r*   s   "r+   r,   r-   í   s   € ÷ ñ ˜-ñ r.   c                	ó^   € V P                   '       d   V P                   P                  4       # R # rA   rd   rB   s   &r+   ÚfetchoneÚ$AsyncAdapt_aiosqlite_cursor.fetchoneí   s!   € Ø�:�:ˆ:Ø—:‘:×%Ñ%Ó'Ð'ár.   c               ó    € V ^8„  d   QhRRRR/# ©r&   ÚsizezOptional[int]r>   úSequence[Any]r)   )r*   s   "r+   r,   r-   ó   s   € ÷ Añ A˜mð A°}ñ Ar.   c                	óº   € Vf   V P                   pV P                  p\        \        V\	        V4      4      4       Uu. uF  q2P                  4       NK  	  up# u upi rA   )r5   r8   ÚrangeÚminÚlenre   )r9   ro   ÚrrÚ_s   &&  r+   Ú	fetchmanyÚ%AsyncAdapt_aiosqlite_cursor.fetchmanyó   sG   € ØŠ<Ø—>‘>ˆDà�Z‰ZˆÜ&+¬C°´c¸"³gÓ,>Ô&?Ó@Ñ&? —
‘
–Ñ&?Ñ@Ð@ùÒ@s   ½Ac               ó   € V ^8„  d   QhRR/# ©r&   r>   rp   r)   )r*   s   "r+   r,   r-   ú   s   € ÷ ñ ˜-ñ r.   c                	ód   € \        V P                  4      pV P                  P                  4        V# rA   )Úlistr8   rG   )r9   Úretvals   & r+   rR   Ú$AsyncAdapt_aiosqlite_cursor.fetchallú   s%   € Ü�d—j‘jÓ!ˆØ�
‰
×ÑÔØˆr.   )	r2   r3   rS   r8   r5   r4   r7   rP   r6   )r2   r3   r7   r4   r8   r5   r6   rP   rA   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__rQ   r:   rC   rH   rO   r[   r`   rf   rk   rw   rR   Ú__static_attributes__r)   r.   r+   r$   r$   —   sI   † ð	€Ið €Kõ)õõ÷<õ@<õõ'õ÷A÷ñ r.   r$   c                  ój   a € ] tR tRtRtRtR V 3R lltR R ltR R	 ltRR
 R llt	R R lt
RtV ;t# )ÚAsyncAdapt_aiosqlite_ss_cursoré   rS   Tc               ó$   € V ^8„  d   QhRRRRRR/# )r&   Úargr   Úkwr>   r?   r)   )r*   s   "r+   r,   Ú+AsyncAdapt_aiosqlite_ss_cursor.__annotate__  s!   € ÷ :ñ :˜Sð :¨ð :°ñ :r.   c                	ó6   <€ \         SV `  ! V/ VB  R V n        R # rA   )Úsuperr:   rS   )r9   r‰   rŠ   Ú	__class__s   &*,€r+   r:   Ú'AsyncAdapt_aiosqlite_ss_cursor.__init__  s   ø€ Ü‰Ò˜#Ð$ Ò$Ø59ˆŽr.   c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r‹     s   € ÷  ñ  �tñ  r.   c                	ó†   € V P                   e3   V P                  V P                   P                  4       4       R V n         R # R # rA   )rS   r4   rH   rB   s   &r+   rH   Ú$AsyncAdapt_aiosqlite_ss_cursor.close  s1   € Ø�<‰<Ò#Ø�K‰K˜Ÿ™×*Ñ*Ó,Ô-ØˆDŽLñ $r.   c               ó   € V ^8„  d   QhRR/# ri   r)   )r*   s   "r+   r,   r‹     ó   € ÷ 4ñ 4˜-ñ 4r.   c                	ót   € V P                   f   Q hV P                  V P                   P                  4       4      # rA   )rS   r4   rk   rB   s   &r+   rk   Ú'AsyncAdapt_aiosqlite_ss_cursor.fetchone  ó.   € Ø�|‰|Ò'Ð'Ð'Ø�{‰{˜4Ÿ<™<×0Ñ0Ó2Ó3Ð3r.   c               ó    € V ^8„  d   QhRRRR/# rn   r)   )r*   s   "r+   r,   r‹     s   € ÷ >ñ >˜mð >°}ñ >r.   c                	ó˜   € V P                   f   Q hVf   V P                  pV P                  V P                   P                  VR7      4      # )N)ro   )rS   r5   r4   rw   )r9   ro   s   &&r+   rw   Ú(AsyncAdapt_aiosqlite_ss_cursor.fetchmany  sA   € Ø�|‰|Ò'Ð'Ð'ØŠ<Ø—>‘>ˆDØ�{‰{˜4Ÿ<™<×1Ñ1°tÐ1Ó<Ó=Ð=r.   c               ó   € V ^8„  d   QhRR/# rz   r)   )r*   s   "r+   r,   r‹     r”   r.   c                	ót   € V P                   f   Q hV P                  V P                   P                  4       4      # rA   )rS   r4   rR   rB   s   &r+   rR   Ú'AsyncAdapt_aiosqlite_ss_cursor.fetchall  r—   r.   )rS   rA   )r   r€   r�   r‚   rƒ   rQ   r:   rH   rk   rw   rR   r„   Ú__classcell__©rŽ   s   @r+   r†   r†      s2   ø† ð €Ià€K÷:ð :õ õ
4÷>÷4ó 4r.   r†   c                  óæ   € ] tR tRt]! ]4      tRtR R lt]	R R l4       t
]
P                  R R l4       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# )r(   i  c               ó$   € V ^8„  d   QhRRRRRR/# )r&   Údbapir   Ú
connectionr   r>   r?   r)   )r*   s   "r+   r,   Ú,AsyncAdapt_aiosqlite_connection.__annotate__#  s"   € ÷ &ñ &˜cð &Ð/Eð &È$ñ &r.   c                	ó   € Wn         W n        R # rA   )r¢   r3   )r9   r¢   r£   s   &&&r+   r:   Ú(AsyncAdapt_aiosqlite_connection.__init__#  s   € ØŒ
Ø%Ör.   c               ó   € V ^8„  d   QhRR/# )r&   r>   úOptional[str]r)   )r*   s   "r+   r,   r¤   (  s   € ÷ ;ñ ; ñ ;r.   c                	óJ   € \        \        V P                  P                  4      # rA   )r   Ústrr3   Úisolation_levelrB   s   &r+   r«   Ú/AsyncAdapt_aiosqlite_connection.isolation_level'  s   € ä”C˜×)Ñ)×9Ñ9Ó:Ð:r.   c               ó    € V ^8„  d   QhRRRR/# )r&   Úvaluer¨   r>   r?   r)   )r*   s   "r+   r,   r¤   ,  s   € ÷ *ñ * ]ð *°tñ *r.   c                	ó\  € R  R lp\        W P                  P                  V4      p\        P                  ! 4       P                  4       pV P                  P                  P                  WC34        V P                  V4       R#   \         d   pT P                  T4        Rp?R# Rp?ii ; i)c               ó$   € V ^8„  d   QhRRRRRR/# )r&   r£   r(   r®   r¨   r>   r?   r)   )r*   s   "r+   r,   ÚEAsyncAdapt_aiosqlite_connection.isolation_level.<locals>.__annotate__2  s$   € ÷ 	/ñ 	/Ø7ð	/Ø@Mð	/àñ	/r.   c                ó   € Wn         R # rA   )r«   )r£   r®   s   &&r+   Úset_isoÚ@AsyncAdapt_aiosqlite_connection.isolation_level.<locals>.set_iso2  s
   € ð */Ö&r.   N)r   r3   Ú_connÚasyncioÚget_event_loopÚcreate_futureÚ_txÚ
put_nowaitr4   rT   rU   )r9   r®   r³   ÚfunctionÚfuturerV   s   &&    r+   r«   r¬   +  s‡   € õ	/ô
 ˜7×$4Ñ$4×$:Ñ$:¸EÓBˆÜ×'Ò'Ó)×7Ñ7Ó9ˆà×Ñ×Ñ×'Ñ'¨Ð(:Ô;ð	*Ø�K‰K˜ÖøÜô 	*Ø×"Ñ" 5×)Ò)ûð	*ús   Á1B ÂB+ÂB&Â&B+c               ó$   € V ^8„  d   QhRRRRRR/# )r&   Úargsr   rŠ   r>   r?   r)   )r*   s   "r+   r,   r¤   A  s!   € ÷ *ñ * Sð *°ð *¸ñ *r.   c                	ó²   €  V P                  V P                  P                  ! V/ VB 4       R #   \         d   pT P	                  T4        R p?R # R p?ii ; irA   )r4   r3   Úcreate_functionrT   rU   )r9   r¾   rŠ   rV   s   &*, r+   rÀ   Ú/AsyncAdapt_aiosqlite_connection.create_functionA  sJ   € ð	*Ø�K‰K˜×(Ñ(×8Ò8¸$ÐEÀ"ÑEÖFøÜô 	*Ø×"Ñ" 5×)Ò)ûð	*ús   ‚+/ ¯AºAÁAc               ó    € V ^8„  d   QhRRRR/# )r&   rQ   Úboolr>   r$   r)   )r*   s   "r+   r,   r¤   G  s   € ÷ 5ñ 5 $ð 5Ð3Nñ 5r.   c                	ó>   € V'       d   \        V 4      # \        V 4      # rA   )r†   r$   )r9   rQ   s   &&r+   rN   Ú&AsyncAdapt_aiosqlite_connection.cursorG  s   € ßÜ1°$Ó7Ð7ä.¨tÓ4Ð4r.   c               ó$   € V ^8„  d   QhRRRRRR/# )r&   r¾   r   rŠ   r>   r)   )r*   s   "r+   r,   r¤   M  s&   € ÷ Bñ B˜Sð B¨ð B°ñ Br.   c                	óX   € V P                  V P                  P                  ! V/ VB 4      # rA   )r4   r3   rO   )r9   r¾   rŠ   s   &*,r+   rO   Ú'AsyncAdapt_aiosqlite_connection.executeM  s'   € Ø�{‰{˜4×+Ñ+×3Ò3°TÐ@¸RÑ@ÓAÐAr.   c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r¤   P  s   € ÷ *ñ *˜$ñ *r.   c                	ó®   €  V P                  V P                  P                  4       4       R #   \         d   pT P	                  T4        R p?R # R p?ii ; irA   )r4   r3   ÚrollbackrT   rU   ©r9   rV   s   & r+   rË   Ú(AsyncAdapt_aiosqlite_connection.rollbackP  sC   € ð	*Ø�K‰K˜×(Ñ(×1Ñ1Ó3Ö4øÜô 	*Ø×"Ñ" 5×)Ò)ûð	*úó   ‚)- ­A¸AÁAc               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r¤   V  s   € ÷ *ñ *˜ñ *r.   c                	ó®   €  V P                  V P                  P                  4       4       R #   \         d   pT P	                  T4        R p?R # R p?ii ; irA   )r4   r3   ÚcommitrT   rU   rÌ   s   & r+   rÑ   Ú&AsyncAdapt_aiosqlite_connection.commitV  sC   € ð	*Ø�K‰K˜×(Ñ(×/Ñ/Ó1Ö2øÜô 	*Ø×"Ñ" 5×)Ò)ûð	*úrÎ   c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r¤   \  s   € ÷ *ñ *�tñ *r.   c                	óÈ   €  V P                  V P                  P                  4       4       R #   \         d     R # \         d   pT P                  T4        R p?R # R p?ii ; irA   )r4   r3   rH   Ú
ValueErrorrT   rU   rÌ   s   & r+   rH   Ú%AsyncAdapt_aiosqlite_connection.close\  sP   € ð	*Ø�K‰K˜×(Ñ(×.Ñ.Ó0Ö1øÜô 		ò Üô 	*Ø×"Ñ" 5×)Ò)ûð	*ús    ‚)- ­A!»A!ÁA!ÁAÁA!c               ó    € V ^8„  d   QhRRRR/# )r&   rV   rT   r>   r   r)   )r*   s   "r+   r,   r¤   l  s   € ÷ 	ñ 	 yð 	°Xñ 	r.   c                	ó®   € \        V\        4      '       d?   VP                  ^ ,          R8X  d'   V P                  P                  P                  R4      VhVh)é    úno active connection)Ú
isinstancerÕ   r¾   r¢   ÚsqliteÚOperationalErrorrÌ   s   &&r+   rU   Ú1AsyncAdapt_aiosqlite_connection._handle_exceptionl  sJ   € ä�uœj×)Ò)Ø—
‘
˜1•Ð!7Ô7à—*‘*×#Ñ#×4Ñ4Ø&óàðð ˆKr.   c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r¤   w  s   € ÷ 'ñ '°ñ 'r.   c              ƒ  óV   "  € V P                   P                  4       G Rj  x€L
  R#  L5i)z"Try to close connection gracefullyN)r3   rH   rB   s   &r+   Ú_terminate_graceful_closeÚ9AsyncAdapt_aiosqlite_connection._terminate_graceful_closew  s   é € à×Ñ×$Ñ$Ó&×&Ô&ùs   ‚) '¡)c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   r¤   {  s   € ÷ ñ ¨ñ r.   c                ó€   €  V P                   P                  pV! 4        R#   \         d   p\        R4      ThRp?ii ; i)zTerminate the connectionz:terminate_force_close() not implemented by this DBAPI shimN)r3   ÚstopÚAttributeErrorÚNotImplementedError)r9   ÚmethÚaes   &  r+   Ú_terminate_force_closeÚ6AsyncAdapt_aiosqlite_connection._terminate_force_close{  sD   € ð
	Ø×#Ñ#×(Ñ(ˆDñ ŽFøô ô 	Ü%ØLóàðûð	ús   ‚! ¡=¬8¸=)r3   r¢   N)r¢   )F)r   r€   r�   r‚   Ústaticmethodr   r4   rƒ   r:   Úpropertyr«   ÚsetterrÀ   rN   rO   rË   rÑ   rH   rU   rá   rê   r„   r)   r.   r+   r(   r(     sw   † Ù˜*Ó%€FØ€Iõ&ð ô;ó ð;ð ×Ñô*ó ð*õ**÷5õBõ*õ*õ*õ 	õ'÷ñ r.   r(   c                  ó*   € ] tR tRtRt]! ]4      tRtR# )Ú'AsyncAdaptFallback_aiosqlite_connectioniŠ  r)   N)	r   r€   r�   r‚   rƒ   rì   r   r4   r„   r)   r.   r+   rð   rð   Š  s   † Ø€Iá˜.Ó)„Fr.   rð   c                  ó:   € ] tR tRtR R ltR R ltR R ltRtR	# )
ÚAsyncAdapt_aiosqlite_dbapii�  c               ó    € V ^8„  d   QhRRRR/# )r&   Ú	aiosqliter   rÜ   r)   )r*   s   "r+   r,   Ú'AsyncAdapt_aiosqlite_dbapi.__annotate__‘  s   € ÷ &ñ & *ð &°jñ &r.   c                	ó‚   € Wn         W n        R V n        \        VP                  R4      V n        V P                  4        R# )Úqmarkrå   N)rô   rÜ   Ú
paramstyleÚhasattrÚ
ConnectionÚhas_stopÚ_init_dbapi_attributes)r9   rô   rÜ   s   &&&r+   r:   Ú#AsyncAdapt_aiosqlite_dbapi.__init__‘  s3   € Ø"ŒØŒØ!ˆŒÜ 	× 4Ñ 4°fÓ=ˆŒØ×#Ñ#Ö%r.   c               ó   € V ^8„  d   QhRR/# r=   r)   )r*   s   "r+   r,   rõ   ˜  s   € ÷ <ñ <¨ñ <r.   c           	     	óü   € R F#  p\        W\        V P                  V4      4       K%  	  R F#  p\        W\        V P                  V4      4       K%  	  R F#  p\        W\        V P                  V4      4       K%  	  R# )ÚDatabaseErrorN)r   ÚErrorÚIntegrityErrorÚNotSupportedErrorrÝ   ÚProgrammingErrorÚsqlite_versionÚsqlite_version_info)ÚPARSE_COLNAMESÚPARSE_DECLTYPES)ÚBinary)ÚsetattrÚgetattrrô   rÜ   )r9   Únames   & r+   rü   Ú1AsyncAdapt_aiosqlite_dbapi._init_dbapi_attributes˜  sg   € ó	
ˆDô �D¤¨¯©¸Ó =Ö>ñ	
ó :ˆDÜ�D¤¨¯©°TÓ :Ö;ñ :ó  ˆDÜ�D¤¨¯©°TÓ :Ö;ó  r.   c               ó$   € V ^8„  d   QhRRRRRR/# )r&   r‰   r   rŠ   r>   r(   r)   )r*   s   "r+   r,   rõ   «  s"   € ÷ ñ ˜Cð  sð Ð/Nñ r.   c                	óŽ  € VP                  R R4      pVP                  RR4      pV'       d
   V! V/ VB pMKV P                  P                  ! V/ VB p\        V\        4      '       d	   RVn        MRVP                  n        \        P                  ! V4      '       d   \        V \        V4      4      # \        V \        V4      4      # )Úasync_fallbackFÚasync_creator_fnNT)Úpoprô   ÚconnectrÛ   r   ÚdaemonÚ_threadr   Úasboolrð   r   r(   r   )r9   r‰   rŠ   r  Ú
creator_fnr£   s   &*,   r+   r  Ú"AsyncAdapt_aiosqlite_dbapi.connect«  s·   € ØŸ™Ð 0°%Ó8ˆà—V‘VÐ.°Ó5ˆ
ßÙ# SÐ/¨BÑ/‰JàŸ™×/Ò/°Ð;¸Ñ;ˆJô ˜*¤f×-Ò-à$(�
Õ!ð -1�
×"Ñ"Ô)ä�;Š;�~×&Ò&Ü:ØÜ˜zÓ*óð ô
 3ØÜ˜:Ó&óð r.   )rô   rû   rø   rÜ   N)r   r€   r�   r‚   r:   rü   r  r„   r)   r.   r+   rò   rò   �  s   † õ&õ<÷&ñ r.   rò   c                  ó"   € ] tR tRtR R ltRtR# )Ú SQLiteExecutionContext_aiosqliteiÈ  c               ó   € V ^8„  d   QhRR/# )r&   r>   r   r)   )r*   s   "r+   r,   Ú-SQLiteExecutionContext_aiosqlite.__annotate__É  s   € ÷ ?ñ ?¨;ñ ?r.   c                	ó:   € V P                   P                  R R7      # )T)rQ   )Ú_dbapi_connectionrN   rB   s   &r+   Úcreate_server_side_cursorÚ:SQLiteExecutionContext_aiosqlite.create_server_side_cursorÉ  s   € Ø×%Ñ%×,Ñ,¸Ð,Ó>Ð>r.   r)   N)r   r€   r�   r‚   r  r„   r)   r.   r+   r  r  È  s   † ÷?ñ ?r.   r  c                  óœ   a € ] tR tRtRtRtRtRtRt]	t
R V 3R llt]R R l4       t]R R	 l4       tR
 V 3R lltR R ltR R ltRtV ;t# )ÚSQLiteDialect_aiosqliteiÍ  rô   Tc               ó   € V ^8„  d   QhRR/# )r&   Úkwargsr   r)   )r*   s   "r+   r,   Ú$SQLiteDialect_aiosqlite.__annotate__Ø  s   € ÷ 'ñ ' ñ 'r.   c                	óš   <€ \         SV `  ! R/ VB  V P                  '       d(   V P                  P                  '       g
   R V n        R# R# R# )FNr)   )r�   r:   r¢   rû   Úhas_terminate)r9   r$  rŽ   s   &,€r+   r:   Ú SQLiteDialect_aiosqlite.__init__Ø  s:   ø€ Ü‰ÒÑ"˜6Ò"Ø�:�:ˆ:˜dŸj™j×1×1Ð1Ø!&ˆDÖñ 2‰:r.   c               ó   € V ^8„  d   QhRR/# )r&   r>   rò   r)   )r*   s   "r+   r,   r%  Þ  s   € ÷ 
ñ 
Ð7ñ 
r.   c                	ó>   € \        \        R 4      \        R4      4      # )rô   Úsqlite3)rò   Ú
__import__)Úclss   &r+   Úimport_dbapiÚ$SQLiteDialect_aiosqlite.import_dbapiÝ  s   € ä)Ü�{Ó#¤Z°	Ó%:ó
ð 	
r.   c               ó    € V ^8„  d   QhRRRR/# )r&   Úurlr!   r>   ztype[pool.Pool]r)   )r*   s   "r+   r,   r%  ä  s   € ÷ #ñ # ð #¨ñ #r.   c                	óp   € V P                  V4      '       d   \        P                  # \        P                  # rA   )Ú_is_url_file_dbr   ÚAsyncAdaptedQueuePoolÚ
StaticPool)r-  r1  s   &&r+   Úget_pool_classÚ&SQLiteDialect_aiosqlite.get_pool_classã  s)   € à×Ñ˜s×#Ò#Ü×-Ñ-Ð-ä—?‘?Ð"r.   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r&   ÚezDBAPIModule.Errorr£   z7Optional[Union[PoolProxiedConnection, DBAPIConnection]]rN   zOptional[DBAPICursor]r>   rÃ   r)   )r*   s   "r+   r,   r%  ê  s3   € ÷ <ñ <àð<ð Lð<ð &ð	<ð
 
ñ<r.   c                	óÈ   <€ \        R V P                  4      V n        \        WP                  P                  4      '       d   R\	        V4      9   d   R# \
        SV `  WV4      # )r    rÚ   T)r   r¢   rÛ   rÝ   rª   r�   Úis_disconnect)r9   r9  r£   rN   rŽ   s   &&&&€r+   r;  Ú%SQLiteDialect_aiosqlite.is_disconnectê  sR   ø€ ô ˜-¨¯©Ó4ˆŒ
ÜØ�z‰z×*Ñ*÷
ò 
à$¬¨A«Ô.Ùä‰wÑ$ Q°FÓ;Ð;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                   # rA   )r3   )r9   r£   s   &&r+   Úget_driver_connectionÚ-SQLiteDialect_aiosqlite.get_driver_connectionø  s   € ð ×%Ñ%Ð%r.   c               ó    € V ^8„  d   QhRRRR/# )r&   Údbapi_connectionr   r>   r?   r)   )r*   s   "r+   r,   r%  ý  s   € ÷ %ñ %¨_ð %Àñ %r.   c                	ó&   € VP                  4        R # rA   )Ú	terminate)r9   rB  s   &&r+   Údo_terminateÚ$SQLiteDialect_aiosqlite.do_terminateý  s   € Ø×"Ñ"Ö$r.   )r¢   r'  )r   r€   r�   r‚   ÚdriverÚsupports_statement_cacheÚis_asyncr'  Úsupports_server_side_cursorsr  Úexecution_ctx_clsr:   Úclassmethodr.  r6  r;  r?  rE  r„   rž   rŸ   s   @r+   r"  r"  Í  so   ø† Ø€FØ#Ðà€HØ€Mà#'Ð à8Ð÷'ð 'ð
 ô
ó ð
ð
 ô#ó ð#÷<ð <õ&÷
%ó %r.   r"  ):Ú__doc__Ú
__future__r   r¶   Úcollectionsr   Ú	functoolsr   Ú	threadingr   Útypesr   Útypingr   r   r	   r
   r   r   r   r   r   Úbaser   Úpysqliter   Ú r   r   Úconnectors.asyncior   r   Úenginer   Úutil.concurrencyr   r   r   r   Úengine.interfacesr   r   r   r   r   r    Ú
engine.urlr!   Ú	pool.baser"   r$   r†   r(   rð   rò   r  r"  Údialectr)   r.   r+   Ú<module>r^     sá   ðñdõL #ã Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý å (Ý ,Ý Ý Ý 9Ý 6Ý 'Ý .Ý *çÝ<Ý8Ý<Ý=Ý>Ý4Ý0Ý0Ý!Ý2÷fñ fôR4Ð%@ô 4ô>hÐ&:Ð<Mô hôV*Ð.Mô *ô5Ð!8ô 5ôp?Ð'=ô ?ô
1%Ð4ô 1%ðh "‚r.   