ó
    Ð]jg  ã                  óÆ   • 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 (async).
é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚoverload)ÚIterableé   )Úerrors)ÚParamsÚQuery)ÚAsyncRowFactoryÚRow)ÚSelf)ÚAsyncCursor)ÚServerCursorMixin)ÚAsyncConnectionc                  ó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$ )'ÚAsyncServerCursoré   Úpsycopg© NF)Ú
scrollableÚwithholdc               ó   • g ©Nr   )ÚselfÚ
connectionÚnamer   r   s        ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/psycopg/_server_cursor_async.pyÚ__init__ÚAsyncServerCursor.__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    2   s4   € ô 	×ÒØ¨+×*O¸×9OÑ9Oò	
ô 	×"Ò" 4¨zÕDr!   c              ƒ  ó¾  >#   • U R                   R                   ISh  v•N   U R                  (       a   SSS5      ISh  v•N   gU R                   R                  (       d1  U R                   R                  U R	                  5       5      I Sh  v•N   [
        TU ]  5       I Sh  v•N   SSS5      ISh  v•N   g Nš Nz N/ N N! , ISh  v•N  (       d  f       g= f7f)z9
Close the current cursor and free associated resources.
N)Ú_connÚlockÚclosedÚwaitÚ
_close_genÚsuperÚclose)r   Ú	__class__s    €r   r-   ÚAsyncServerCursor.close@   s   øé € ð —:‘:—?—?“?Ø�{�{Ø÷ #—?�?ð —:‘:×$×$Ø—j‘j—o‘o d§o¡oÓ&7Ó8×8Ð8Ü‘'‘-“/×!Ð!÷ #—?”?ñ 9Ù!÷ #—?—?�?üs†   ƒCžB9ŸC¢CµCÁ B;ÁCÁACÂB=ÂCÂ#B?Â$CÂ(CÂ3CÂ4CÂ;CÂ=CÂ?CÃCÃCÃ	CÃ
CÃC)Úbinaryc             ‹  ó  #   • U(       a  [        S[        U5      S    35      eU R                  R                  (       a  [        R
                  " S5      e U R                  R                   ISh  v•N   U R                  R                  U R                  XU5      5      I Sh  v•N   SSS5      ISh  v•N   U $  NI N N
! , ISh  v•N  (       d  f       U $ = f! [        R                   a  nUR                  S5      eSnAff = f7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ÚAsyncServerCursor.executeK   sÊ   é € ö ÜÐ5´d¸6³lÀ1±oÐ5FÐGÓHÐHØ�<‰<×'×'Ü×%Ò%ØDóð ð	*Ø—z‘z——“Ø—j‘j—o‘o d×&7Ñ&7¸ÀvÓ&NÓO×OÐO÷ '—ð
 ˆñ 'ÙO÷ '——ð
 ˆûô �‰ó 	*Ø×#Ñ# DÓ)Ð)ûð	*üs�   ‚ADÁC Á0B:Á1C Á4/C Â#B<Â$C Â(C Â3B>Â4C Â8DÂ:C Â<C Â>C Ã CÃC	ÃCÃC ÃDÃC ÃDÃ/D Ä DÄDT)Ú	returningc             ƒ  ó6   #   • [         R                  " S5      e7f)z/Method not implemented for server-side cursors.z0executemany not supported on server-side cursors)r6   r7   )r   r;   Ú
params_seqrA   s       r   ÚexecutemanyÚAsyncServerCursor.executemanye   s   é € ô ×!Ò!Ð"TÓUÐUùs   ‚c              ƒ  óP  #   • U R                   R                   IS h  v•N   U R                   R                  U R                  S5      5      I S h  v•N nS S S 5      IS h  v•N   W(       a  U =R                  S-  sl        US   $ g  Nh N8 N*! , IS h  v•N  (       d  f       N?= f7f)Nr   r   )r'   r(   r*   Ú
_fetch_genÚ_pos©r   Úrecss     r   ÚfetchoneÚAsyncServerCursor.fetchonek   sf   é € Ø—:‘:—?—?“?ØŸ™Ÿ™¨¯©¸Ó);Ó<×<ˆD÷ #—?æØ�IŠI˜‰N�IØ˜‘7ˆNàñ #Ù<÷ #—?—?�?üsV   ‚B&�BžB&¡.BÁBÁBÁB&ÁB
Á 'B&ÂBÂ
B&ÂB#ÂBÂB#ÂB&c              ƒ  ór  #   • U(       d  U R                   nU R                  R                   IS h  v•N   U R                  R                  U R	                  U5      5      I S h  v•N nS S S 5      IS h  v•N   U =R
                  [        W5      -  sl        U$  Nf N6 N(! , IS h  v•N  (       d  f       N== f7fr   )Ú	arraysizer'   r(   r*   rG   rH   Úlen)r   ÚsizerJ   s      r   Ú	fetchmanyÚAsyncServerCursor.fetchmanyt   sm   é € ÞØ—>‘>ˆDØ—:‘:—?—?“?ØŸ™Ÿ™¨¯©¸Ó)>Ó?×?ˆD÷ #—?à�	Š	”S˜“YÑ�	Øˆñ #Ù?÷ #—?—?�?üsV   ‚.B7°B±B7´.BÁ"BÁ#BÁ'B7Á2BÁ3%B7ÂBÂB7ÂB4Â#B&Â$B4Â0B7c              ƒ  óL  #   • U R                   R                   IS h  v•N   U R                   R                  U R                  S 5      5      I S h  v•N nS S S 5      IS h  v•N   U =R                  [        W5      -  sl        U$  Nf N6 N(! , IS h  v•N  (       d  f       N== f7fr   )r'   r(   r*   rG   rH   rO   rI   s     r   ÚfetchallÚAsyncServerCursor.fetchall|   sa   é € Ø—:‘:—?—?“?ØŸ™Ÿ™¨¯©¸Ó)>Ó?×?ˆD÷ #—?à�	Š	”S˜“YÑ�	Øˆñ #Ù?÷ #—?—?�?üsV   ‚B$�BžB$¡.B
ÁBÁB
ÁB$ÁBÁ %B$ÂB
ÂB$Â
B!ÂBÂB!ÂB$c                ó   • U $ r   r   )r   s    r   Ú	__aiter__ÚAsyncServerCursor.__aiter__‚   s   € Øˆr!   c              ƒ  ó¦  #   • U R                   b7  U R                  [        U R                   5      s=:¼  a  U R                  :¼  az  O  OwU R                  R
                   IS h  v•N   U R                  R                  U R                  U R                  5      5      I S h  v•N U l         SU l        S S S 5      IS h  v•N   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$  NÏ N• N{! , IS h  v•N  (       d  f       N�= f7f)Nr   zno more records to returnr   )
Ú
_iter_rowsÚ	_page_posrO   Úitersizer'   r(   r*   rG   ÚStopAsyncIterationrH   )r   Úrecs     r   Ú	__anext__ÚAsyncServerCursor.__anext__…   sÖ   é € ð �?‰?Ñ"Ø�N‰Nœc $§/¡/Ó2ÕC°d·m±mÖCà—z‘z——“Ø(,¯
©
¯©¸¿¹ÈÏÉÓ8VÓ(W×"W�”Ø!"�”÷ '—ð �>‰>œS §¡Ó1Ó1Ü$Ð%@ÓAÐAà�o‰o˜dŸn™nÑ-ˆØ�Š˜!Ñ�Ø�	Š	�Q‰�	Øˆ
ñ 'Ù"W÷ '——�üs[   ‚AEÁ!D1Á"EÁ%8D7ÂD3ÂD7Â.EÂ9D5Â:A8EÄ3D7Ä5EÄ7EÄ=E Ä>EÅ
Ec              ƒ  óR  #   • U R                   R                   IS h  v•N   U R                   R                  U R                  X5      5      I S h  v•N   S S S 5      IS h  v•N   US:X  a  U =R                  U-  sl        g Xl        g  Ni N9 N+! , IS h  v•N  (       d  f       N@= f7f)NÚrelative)r'   r(   r*   Ú_scroll_genrH   )r   ÚvalueÚmodes      r   ÚscrollÚAsyncServerCursor.scroll—   sj   é € Ø—:‘:—?—?“?Ø—*‘*—/‘/ $×"2Ñ"2°5Ó"?Ó@×@Ð@÷ #—?ð �:ÓØ�IŠI˜ÑŽIà�Iñ #Ù@÷ #—?—?�?üsV   ‚B'�BžB'¡.BÁB	ÁBÁB'ÁBÁ (B'Â	BÂB'ÂB$ÂBÂB$Â B')rZ   r[   rH   )r   zAsyncConnection[Row]r   Ústrr   úbool | Noner   Úbool)
r   úAsyncConnection[Any]r   rh   r$   zAsyncRowFactory[Row]r   ri   r   rj   )
r   rk   r   rh   r$   zAsyncRowFactory[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àð #'Øñà(ðð ðð
  ðð ôó ðð ð #'Øñà(ðð ðð
 *ðð  ðð ôó ðð 48Ø"&ØñEà(ðEð ðEð
 1ð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   Ú_compatr   Úcursor_asyncr   Ú_server_cursor_baser   Úconnection_asyncr   r   r   r!   r   Ú<module>r‚      sQ   ðñõ #ç /Ñ /Ý $å ß ß &Ý Ý %Ý 2æÝ1ôGØÐ,¨cÐ1Ñ2°KÀÑ4DõGr!   