
    辙h                     X    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y)    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j6                  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 j6                  dee!   ddfd       Z edejD                  fd       Z#d  Z$d! Z%y)$Cursorconnr
   cursorreturnNc                 B    |j                   | _        || _        || _        y N)_iter_chunk_sizeiter_chunk_size_conn_cursor)selfr   r   s      L/var/www/Befach/backend/env/lib/python3.12/site-packages/aiosqlite/cursor.py__init__zCursor.__init__   s    #44
    c                 "    | j                         S )z+The cursor proxy is also an async iterator.)_fetch_chunkedr   s    r   	__aiter__zCursor.__aiter__   s    ""$$r   c                v   K   	 | j                  | j                         d {   }|sy |D ]  }| 	 37 wr   )	fetchmanyr   )r   rowsrows      r   r   zCursor._fetch_chunked   s=     (<(<==D	 	 =s    979c                 ^   K    | j                   j                  |g|i | d{   S 7 w)z=Execute the given function on the shared connection's thread.N)r   _execute)r   fnargskwargss       r   r#   zCursor._execute   s-     (TZZ((=d=f====s   $-+-sql
parametersc                 x   K   |g }| j                  | j                  j                  ||       d{    | S 7 w)zExecute the given query.N)r#   r   executer   r'   r(   s      r   r*   zCursor.execute"   s>      JmmDLL00#zBBB 	Cs   /:8:c                 p   K   | j                  | j                  j                  ||       d{    | S 7 w)zExecute the given multiquery.N)r#   r   executemanyr+   s      r   r-   zCursor.executemany+   s3      mmDLL44c:FFF 	Gs   +646
sql_scriptc                 n   K   | j                  | j                  j                  |       d{    | S 7 w)zExecute a user script.N)r#   r   executescript)r   r.   s     r   r0   zCursor.executescript2   s/     mmDLL66
CCC 	Ds   *535c                 h   K   | j                  | j                  j                         d{   S 7 w)zFetch a single row.N)r#   r   fetchoner   s    r   r2   zCursor.fetchone7   %     ]]4<<#8#89999   )202sizec                 z   K   d}||f} | j                   | j                  j                  g|  d{   S 7 w)z.Fetch up to `cursor.arraysize` number of rows. N)r#   r   r   )r   r5   r%   s      r   r   zCursor.fetchmany;   s>      "7D"T]]4<<#9#9ADAAAAs   2;9;c                 h   K   | j                  | j                  j                         d{   S 7 w)zFetch all remaining rows.N)r#   r   fetchallr   s    r   r9   zCursor.fetchallB   r3   r4   c                 j   K   | j                  | j                  j                         d{    y7 w)zClose the cursor.N)r#   r   closer   s    r   r;   zCursor.closeF   s"     mmDLL..///s   )313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   rC   zCursor.arraysizeR   r@   r   valuec                 &    || j                   _        y r   rB   )r   rD   s     r   rC   zCursor.arraysizeV   s    !&r   .c                 .    | j                   j                  S r   )r   descriptionr   s    r   rG   zCursor.descriptionZ       ||'''r   c                 .    | j                   j                  S r   r   row_factoryr   s    r   rK   zCursor.row_factory^   rH   r   factoryc                 &    || j                   _        y r   rJ   )r   rL   s     r   rK   zCursor.row_factoryb   s    #* r   c                 .    | j                   j                  S r   )r   
connectionr   s    r   rO   zCursor.connectionf   s    ||&&&r   c                    K   | S wr   r7   r   s    r   
__aenter__zCursor.__aenter__j   s     s   c                 @   K   | j                          d {    y 7 wr   )r;   )r   exc_typeexc_valexc_tbs       r   	__aexit__zCursor.__aexit__m   s     jjls   r   )r   N)&__name__
__module____qualname__sqlite3r   r   r   Rowr   r   r#   strr   r   r   r*   r-   r0   r2   intr   r9   r;   propertyr=   r?   rC   settertuplerG   r   objectrK   typer
   rO   rQ   rV   r7   r   r   r   r      s;   \ 7>> d 
%=5 %>
 ?C$,Xc]$;	$,Xc]$;	c h 
: 5 :BHSM BXgkk=R B: 5 :0 %# % % &8C= & & &3 & & 's 't ' ' (U5dD$dD)P#QSV#VW ( ( (Xh/Lf/T&UV ( ( +8D> +d + + 'G.. ' 'r   r   )rZ   collections.abcr   r   typingr   r   r   r   corer
   r   r7   r   r   <module>rf      s%     3 9 9 b br   