ó
    Ð]j6  ã                  óÆ   • S r SSKJr  SSKJrJrJr  SSK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é   )Úerrors)ÚParamsÚQuery)ÚRowÚ
RowFactory)ÚCursor)ÚSelf)ÚServerCursorMixin)Ú
Connectionc                  óF  ^ • \ 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 jrS%S&S jjrSrU =r$ )'ÚServerCursoré   Úpsycopg© NF)Ú
scrollableÚwithholdc               ó   • g ©Nr   )ÚselfÚ
connectionÚnamer   r   s        ÚS/home/mande/repo/quber/.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¸×9OÑ9Oò	
ô 	×"Ò" 4¨zÕ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   ø€ ð �Z‰Z�_‹_Ø�{�{Ø÷ ˆ_ð —:‘:×$×$Ø—
‘
—‘ §¡Ó 1Ô2Ü‰G‰MŒO÷ �_Ž_ú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Úparamsr0   ÚkwargsÚexs         r   ÚexecuteÚServerCursor.executeL   s´   € ö ÜÐ5´d¸6³lÀ1±oÐ5FÐ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)r6   r7   )r   r;   Ú
params_seqrA   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   € Ø�Z‰Z�_‹_Ø—:‘:—?‘? 4§?¡?°1Ó#5Ó6ˆD÷ æØ�IŠI˜‰N�IØ˜‘7ˆNà÷ �_ú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*   rG   rH   Úlen)r   ÚsizerJ   s      r   Ú	fetchmanyÚServerCursor.fetchmanyu   sX   € ÞØ—>‘>ˆDØ�Z‰Z�_‹_Ø—:‘:—?‘? 4§?¡?°4Ó#8Ó9ˆD÷ à�	Š	”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*   rG   rH   rO   rI   s     r   ÚfetchallÚServerCursor.fetchall}   sL   € Ø�Z‰Z�_‹_Ø—:‘:—?‘? 4§?¡?°4Ó#8Ó9ˆD÷ à�	Š	”S˜“YÑ�	Øˆ÷ �_ús   —+A*Á*
A8c                ó   • U $ r   r   )r   s    r   Ú__iter__ÚServerCursor.__iter__ƒ   s   € Øˆr!   c                óP  • U R                   b7  U R                  [        U R                   5      s=:¼  a  U R                  :¼  ab  O  O_U R                  R
                     U R                  R                  U R                  U R                  5      5      U l         SU l        S S S 5        U R                  [        U R                   5      :¼  a  [        S5      eU R                   U R                     nU =R                  S-  sl        U =R                  S-  sl	        U$ ! , (       d  f       N�= f)Nr   zno more records to returnr   )
Ú
_iter_rowsÚ	_page_posrO   Úitersizer'   r(   r*   rG   ÚStopIterationrH   )r   Úrecs     r   Ú__next__ÚServerCursor.__next__†   sÁ   € ð �O‰OÑ#Ø�~‰~¤ T§_¡_Ó!5ÕF¸¿¹ÖFà—‘—“Ø"&§*¡*§/¡/°$·/±/À$Ç-Á-Ó2PÓ"Q�”Ø!"�”÷ !ð �>‰>œS §¡Ó1Ó1ÜÐ ;Ó<Ð<à�o‰o˜dŸn™nÑ-ˆØ�Š˜!Ñ�Ø�	Š	�Q‰�	Øˆ
÷ !•ús   ÁADÄ
D%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_genrH   )r   ÚvalueÚmodes      r   ÚscrollÚServerCursor.scroll™   sR   € Ø�Z‰Z�_‹_Ø�J‰J�O‰O˜D×,Ñ,¨UÓ9Ô:÷ ð �:ÓØ�IŠI˜ÑŽIà�I÷ �_ús   —+A-Á-
A;)rZ   r[   rH   )r   zConnection[Row]r   Ústrr   úbool | Noner   Úbool)
r   úConnection[Any]r   rh   r$   zRowFactory[Row]r   ri   r   rj   )
r   rk   r   rh   r$   zRowFactory[Row] | Noner   ri   r   rj   )ÚreturnÚNoner   )
r;   r   r<   zParams | Noner0   ri   r=   r   rl   r   )r;   r   rC   zIterable[Params]rA   rj   rl   rm   )rl   z
Row | None)r   )rP   Úintrl   ú	list[Row])rl   ro   )rl   r   )rl   r   )rb   )rd   rn   re   rh   rl   rm   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r   r   r-   r?   rD   rK   rQ   rT   rW   r_   rf   Ú__static_attributes__Ú__classcell__)r.   s   @r   r   r      s|  ø† Ø€JØ€Iàð #'Øñà#ðð ðð
  ðð ôó ðð ð #'Øñà#ðð ðð
 %ðð  ðð ôó ðð /3Ø"&ØñEà#ðEð ðEð
 ,ðEð  ðEð õE÷	ð !%ðð
 #ñàðð ðð
 ðð ðð 
öð6 PTñVØðVØ(8ðVØHLðVà	õVôöôôô÷&ô r!   r   rk   N)Ú__doc__Ú
__future__r   Útypingr   r   r   Úcollections.abcr   Ú r	   r6   Úabcr
   r   Úrowsr   r   Úcursorr   Ú_compatr   Ú_server_cursor_baser   r   r   r   r   r!   r   Ú<module>r�      sP   ðñõ #ç /Ñ /Ý $å ß ß !Ý Ý Ý 2æÝ&ôFÐ$Ð%6¸Ð%;Ñ<¸fÀS¹kõ Fr!   