
    h                     `    d dl Z d dlmZmZ d dlmZmZmZmZ erddl	m
Z
  G d d          ZdS )    N)AsyncIteratorIterable)AnyCallableOptionalTYPE_CHECKING   )
Connectionc                      e Zd Zdddej        ddfdZdeej                 fdZd Z	d	 Z
	 d"d
edeee                  dd fdZd
edeee                  dd fdZdedd fdZdeej                 fdZd"dee         deej                 fdZdeej                 fdZd#dZedefd            Zedee         fd            Zedefd            Zej        deddfd            Zedeeeddddddf         df         fd            Zedeeej        ej        gef                  fd            Z e j        dee!         ddfd            Z edej"        fd            Z#d  Z$d! Z%dS )$Cursorconnr
   cursorreturnNc                 :    |j         | _        || _        || _        d S N)_iter_chunk_sizeiter_chunk_size_conn_cursor)selfr   r   s      P/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/aiosqlite/cursor.py__init__zCursor.__init__   s    #4
    c                 *    |                                  S )z+The cursor proxy is also an async iterator.)_fetch_chunkedr   s    r   	__aiter__zCursor.__aiter__   s    ""$$$r   c                f   K   	 |                      | j                   d {V }|sd S |D ]}|W V  /r   )	fetchmanyr   )r   rowsrows      r   r   zCursor._fetch_chunked   s_      	(<========D   						r   c                 >   K    | j         j        |g|R i | d{V S )z=Execute the given function on the shared connection's thread.N)r   _execute)r   fnargskwargss       r   r#   zCursor._execute   s=      (TZ(=d===f=========r   sql
parametersc                 `   K   |g }|                      | j        j        ||           d{V  | S )zExecute the given query.N)r#   r   executer   r'   r(   s      r   r*   zCursor.execute"   sE       JmmDL0#zBBBBBBBBBr   c                 X   K   |                      | j        j        ||           d{V  | S )zExecute the given multiquery.N)r#   r   executemanyr+   s      r   r-   zCursor.executemany+   s:       mmDL4c:FFFFFFFFFr   
sql_scriptc                 V   K   |                      | j        j        |           d{V  | S )zExecute a user script.N)r#   r   executescript)r   r.   s     r   r0   zCursor.executescript2   s6      mmDL6
CCCCCCCCCr   c                 P   K   |                      | j        j                   d{V S )zFetch a single row.N)r#   r   fetchoner   s    r   r2   zCursor.fetchone7   /      ]]4<#8999999999r   sizec                 P   K   d}||f} | j         | j        j        g|R   d{V S )z.Fetch up to `cursor.arraysize` number of rows. N)r#   r   r   )r   r4   r%   s      r   r   zCursor.fetchmany;   sI       "7D"T]4<#9ADAAAAAAAAAAr   c                 P   K   |                      | j        j                   d{V S )zFetch all remaining rows.N)r#   r   fetchallr   s    r   r8   zCursor.fetchallB   r3   r   c                 T   K   |                      | j        j                   d{V  dS )zClose the cursor.N)r#   r   closer   s    r   r:   zCursor.closeF   s5      mmDL.///////////r   c                     | j         j        S r   )r   rowcountr   s    r   r<   zCursor.rowcountJ   s    |$$r   c                     | j         j        S r   )r   	lastrowidr   s    r   r>   zCursor.lastrowidN       |%%r   c                     | j         j        S r   r   	arraysizer   s    r   rB   zCursor.arraysizeR   r?   r   valuec                     || j         _        d S r   rA   )r   rC   s     r   rB   zCursor.arraysizeV   s    !&r   .c                     | j         j        S r   )r   descriptionr   s    r   rF   zCursor.descriptionZ       |''r   c                     | j         j        S r   r   row_factoryr   s    r   rJ   zCursor.row_factory^   rG   r   factoryc                     || j         _        d S r   rI   )r   rK   s     r   rJ   zCursor.row_factoryb   s    #*   r   c                     | j         j        S r   )r   
connectionr   s    r   rN   zCursor.connectionf   s    |&&r   c                 
   K   | S r   r6   r   s    r   
__aenter__zCursor.__aenter__j   s      r   c                 >   K   |                                   d {V  d S r   )r:   )r   exc_typeexc_valexc_tbs       r   	__aexit__zCursor.__aexit__m   s,      jjllr   r   )r   N)&__name__
__module____qualname__sqlite3r   r   r   Rowr   r   r#   strr   r   r   r*   r-   r0   r2   intr   r8   r:   propertyr<   r>   rB   settertuplerF   r   objectrJ   typer
   rN   rP   rU   r6   r   r   r   r      sU       \ 7> d    
%=5 % % % %  > > >
 ?C $,Xc]$;	   $,Xc]$;	   c h    
: 5 : : : :B BHSM BXgk=R B B B B: 5 : : : :0 0 0 0 %# % % % X% &8C= & & & X& &3 & & & X& 's 't ' ' ' ' (U5dD$dD)P#QSV#VW ( ( ( X( (Xh/Lf/T&UV ( ( ( X( +8D> +d + + + + 'G. ' ' ' X'      r   r   )rY   collections.abcr   r   typingr   r   r   r   corer
   r   r6   r   r   <module>re      s     3 3 3 3 3 3 3 3 9 9 9 9 9 9 9 9 9 9 9 9 !      b b b b b b b b b br   