
    ,h                        S r SSKJr  SSKJrJrJr  SSKJrJ	r	  SSK
Jr  SSKJrJr  SSKJrJr  SS	KJr  SS
KJr  SSKJr  \(       a  SSKJr   " S S\S\4   \\   5      rg)z$
psycopg server-side cursor (sync).
    )annotations)TYPE_CHECKINGAnyoverload)IterableIterator   )errors)ParamsQuery)Row
RowFactory)Cursor)Self)ServerCursorMixin)
Connectionc                  <  ^  \ rS rSrSrSr\SSS.       SS jj5       r\SSS.         SS jj5       rSSSS	.         SS
 jjrSU 4S jjr SSS.         SS jjjrSS.       SS jjr	SS jr
SS S jjrS!S jrS"S jrS#S$S jjrSrU =r$ )%ServerCursor   psycopg NF)
scrollablewithholdc                   g Nr   )self
connectionnamer   r   s        Q/var/www/html/Ai_home/venv/lib/python3.13/site-packages/psycopg/_server_cursor.py__init__ServerCursor.__init__   s         c                   g r   r   r   r   r   row_factoryr   r   s         r   r    r!   (   s     r"   )r%   r   r   c                   [         R                  " XU=(       d    UR                  S9  [        R                  " XXE5        g )N)r%   )r   r    r%   r   r$   s         r   r    r!   3   s2     	+*O9O9O	
 	""4zDr"   c                @  > U R                   R                     U R                  (       a
   SSS5        gU R                   R                  (       d)  U R                   R                  U R	                  5       5        [
        TU ]  5         SSS5        g! , (       d  f       g= f)z9
Close the current cursor and free associated resources.
N)_connlockclosedwait
_close_gensuperclose)r   	__class__s    r   r.   ServerCursor.closeA   sZ     ZZ__{{ _ ::$$

 12GMO __s   BAB
B)binaryc                  U(       a  [        S[        U5      S    35      eU R                  R                  (       a  [        R
                  " S5      e U R                  R                     U R                  R                  U R                  XU5      5        SSS5        U $ ! , (       d  f       U $ = f! [        R                   a  nUR                  S5      eSnAff = f)z3
Open a cursor to execute a query to the database.
zkeyword not supported: r   z2server-side cursors not supported in pipeline modeN)	TypeErrorlist_pgconnpipeline_statuseNotSupportedErrorr(   r)   r+   _declare_gen_NO_TRACEBACKwith_traceback)r   queryparamsr1   kwargsexs         r   executeServerCursor.executeL   s     5d6l1o5FGHH<<''%%D 	*

 1 1% HI !
  !
   	*##D))	*s6   B2 *,B B2  
B/*B2 /B2 2CCCT)	returningc               .    [         R                  " S5      e)z/Method not implemented for server-side cursors.z0executemany not supported on server-side cursors)r7   r8   )r   r<   
params_seqrB   s       r   executemanyServerCursor.executemanyf   s     !!"TUUr"   c                    U R                   R                     U R                   R                  U R                  S5      5      nS S S 5        W(       a  U =R                  S-  sl        US   $ g ! , (       d  f       N0= f)Nr	   r   )r(   r)   r+   
_fetch_gen_posr   recss     r   fetchoneServerCursor.fetchonel   sQ    ZZ__::??4??1#56D IINI7N _s   +A,,
A:c                   U(       d  U R                   nU R                  R                     U R                  R                  U R	                  U5      5      nS S S 5        U =R
                  [        W5      -  sl        U$ ! , (       d  f       N.= fr   )	arraysizer(   r)   r+   rH   rI   len)r   sizerK   s      r   	fetchmanyServerCursor.fetchmanyu   sX    >>DZZ__::??4??4#89D 		SY	 _s   +A==
Bc                    U R                   R                     U R                   R                  U R                  S 5      5      nS S S 5        U =R                  [        W5      -  sl        U$ ! , (       d  f       N.= fr   )r(   r)   r+   rH   rI   rP   rJ   s     r   fetchallServerCursor.fetchall}   sL    ZZ__::??4??4#89D 		SY	 _s   +A**
A8c              #  P  #     U R                   R                     U R                   R                  U R                  U R                  5      5      nS S S 5        W H  nU =R
                  S-  sl        Uv   M     [        U5      U R                  :  a  g M  ! , (       d  f       NL= f7f)Nr	   )r(   r)   r+   rH   itersizerI   rP   )r   rK   recs      r   __iter__ServerCursor.__iter__   sr     zztt}}'EF !		Q		  4y4==(  s   B&5BAB&
B#B&c                    U R                   R                     U R                   R                  U R                  X5      5        S S S 5        US:X  a  U =R                  U-  sl        g Xl        g ! , (       d  f       N1= f)Nrelative)r(   r)   r+   _scroll_genrI   )r   valuemodes      r   scrollServerCursor.scroll   sR    ZZ__JJOOD,,U9:  :IIII _s   +A--
A;)rI   )r   zConnection[Row]r   strr   bool | Noner   bool)
r   Connection[Any]r   rc   r%   zRowFactory[Row]r   rd   r   re   )
r   rf   r   rc   r%   zRowFactory[Row] | Noner   rd   r   re   )returnNoner   )
r<   r   r=   zParams | Noner1   rd   r>   r   rg   r   )r<   r   rD   zIterable[Params]rB   re   rg   rh   )rg   z
Row | None)r   )rQ   intrg   	list[Row])rg   rj   )rg   zIterator[Row])r]   )r_   ri   r`   rc   rg   rh   )__name__
__module____qualname____firstlineno__	__slots__r   r    r.   r@   rE   rL   rR   rU   rZ   ra   __static_attributes____classcell__)r/   s   @r   r   r      sw   JI #'# 
      #'# 
 %     /3"&E#E E
 ,E  E E	 !%
 # 
   
6 PTVV(8VHLV	V r"   r   rf   N)__doc__
__future__r   typingr   r   r   collections.abcr   r    r
   r7   abcr   r   rowsr   r   cursorr   _compatr   _server_cursor_baser   r   r   r   r   r"   r   <module>r|      sP    # / / .   !   2&z$%6%;<fSk zr"   