§
    YŠtjg  ã                  óÐ   — d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ erddlmZ  G d„ dedef         ee         ¦  «        ZdS )z%
psycopg server-side cursor (async).
é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚoverload)ÚIterableé   )Úerrors)ÚParamsÚQuery)ÚAsyncRowFactoryÚRow)ÚSelf)ÚAsyncCursor)ÚServerCursorMixin)ÚAsyncConnectionc                  óÎ   ‡ — e Zd ZdZdZedddœd8d„¦   «         Zedddœd9d„¦   «         Zddddœd:d„Zd;ˆ fd„Z	 d<ddœd=d"„Zd#d$œd>d(„Zd?d*„Z	d@dAd/„Z
dBd0„ZdCd1„ZdDd3„ZdEdFd7„Zˆ xZS )GÚAsyncServerCursorÚpsycopg© NF)Ú
scrollableÚwithholdÚ
connectionúAsyncConnection[Row]ÚnameÚstrr   úbool | Noner   Úboolc               ó   — d S ©Nr   )Úselfr   r   r   r   s        úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/psycopg/_server_cursor_async.pyÚ__init__zAsyncServerCursor.__init__   s	   € ð €só    úAsyncConnection[Any]Úrow_factoryúAsyncRowFactory[Row]c               ó   — d S r   r   ©r    r   r   r%   r   r   s         r!   r"   zAsyncServerCursor.__init__'   s	   € ð €sr#   )r%   r   r   úAsyncRowFactory[Row] | Nonec               óp   — t          j        | ||p|j        ¬¦  «         t          j        | |||¦  «         d S )N)r%   )r   r"   r%   r   r(   s         r!   r"   zAsyncServerCursor.__init__2   sL   € õ 	ÔØ�*¨+Ð*O¸Ô9Oð	
ñ 	
ô 	
ð 	
õ 	Ô" 4¨¨z¸8ÑDÔDÐDÐDÐDr#   ÚreturnÚNonec              ƒ  óx  •K  — | j         j        4 ƒd{V —† | j        r	 ddd¦  «        ƒd{V —† dS | j         j        s2| j                              |                      ¦   «         ¦  «        ƒ d{V —† t          ¦   «                              ¦   «         ƒ d{V —† ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )zI
        Close the current cursor and free associated resources.
        N)Ú_connÚlockÚclosedÚwaitÚ
_close_genÚsuperÚclose)r    Ú	__class__s    €r!   r4   zAsyncServerCursor.close@   s‡  øè è € ð ”:”?ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ØŒ{ð Øð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð ”:Ô$ð 9Ø”j—o’o d§o¢oÑ&7Ô&7Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ý‘'”'—-’-‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   –	B)²A$B)Â)
B3Â6B3)ÚbinaryÚqueryr   ÚparamsúParams | Noner6   Úkwargsr   r   c             ‹  óÊ  K  — |r%t          dt          |¦  «        d         › �¦  «        ‚| j        j        rt	          j        d¦  «        ‚	 | j        j        4 ƒd{V —† | j                             |  	                    |||¦  «        ¦  «        ƒ d{V —† ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   n,# t          j
        $ r}|                     d¦  «        ‚d}~ww xY w| S )zC
        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/   r1   Ú_declare_genÚ_NO_TRACEBACKÚwith_traceback)r    r7   r8   r6   r:   Úexs         r!   ÚexecutezAsyncServerCursor.executeK   s­  è è € ð ð 	IÝÐGµd¸6±l´lÀ1´oÐGÐGÑHÔHÐHØŒ<Ô'ð 	ÝÔ%ØDñô ð ð	*Ø”z”ð Pð Pð Pð Pð Pð Pð Pð PØ”j—o’o d×&7Ò&7¸¸vÀvÑ&NÔ&NÑOÔOÐOÐOÐOÐOÐOÐOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð PøøåŒð 	*ð 	*ð 	*Ø×#Ò# DÑ)Ô)Ð)øøøøð	*øøøð ˆs<   ÁB7 Á6B%ÂB7 Â%
B/Â/B7 Â2B/Â3B7 Â7C ÃCÃC T)Ú	returningÚ
params_seqúIterable[Params]rG   c             ƒ  ó.   K  — t          j        d¦  «        ‚)z/Method not implemented for server-side cursors.z0executemany not supported on server-side cursors)r@   rA   )r    r7   rH   rG   s       r!   ÚexecutemanyzAsyncServerCursor.executemanye   s   è è € õ Ô!Ð"TÑUÔUÐUr#   ú
Row | Nonec              ƒ  ó  K  — | j         j        4 ƒd {V —† | j                              |                      d¦  «        ¦  «        ƒ d {V —†}d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |r| xj        dz  c_        |d         S d S )Nr   r   )r.   r/   r1   Ú
_fetch_genÚ_pos©r    Úrecss     r!   ÚfetchonezAsyncServerCursor.fetchonek   s  è è € Ø”:”?ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ØœŸš¨¯ª¸Ñ);Ô);Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<ˆDð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=àð 	ØˆIŒI˜‰NˆIŒIØ˜”7ˆNà�4ó   •4AÁ
A%Á(A%r   ÚsizeÚintú	list[Row]c              ƒ  ó(  K  — |s| j         }| j        j        4 ƒd {V —† | j                             |                      |¦  «        ¦  «        ƒ d {V —†}d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   | xj        t          |¦  «        z  c_        |S r   )Ú	arraysizer.   r/   r1   rN   rO   Úlen)r    rT   rQ   s      r!   Ú	fetchmanyzAsyncServerCursor.fetchmanyt   s=  è è € Øð 	"Ø”>ˆDØ”:”?ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ØœŸš¨¯ª¸Ñ)>Ô)>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?ˆDð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@àˆ	Œ	•S˜‘Y”YÑˆ	Œ	Øˆs   ž4A$Á$
A.Á1A.c              ƒ  ó  K  — | j         j        4 ƒd {V —† | j                              |                      d ¦  «        ¦  «        ƒ d {V —†}d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   | xj        t          |¦  «        z  c_        |S r   )r.   r/   r1   rN   rO   rY   rP   s     r!   ÚfetchallzAsyncServerCursor.fetchall|   s.  è è € Ø”:”?ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ØœŸš¨¯ª¸Ñ)>Ô)>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?ˆDð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@àˆ	Œ	•S˜‘Y”YÑˆ	Œ	ØˆrS   c                ó   — | S r   r   )r    s    r!   Ú	__aiter__zAsyncServerCursor.__aiter__‚   s   € Øˆr#   r   c              ƒ  ó   K  — | j         �,| j        t          | j         ¦  «        cxk    r| j        k    r}n nz| j        j        4 ƒd {V —† | j                             |                      | j        ¦  «        ¦  «        ƒ d {V —†| _         d| _        d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   | j        t          | j         ¦  «        k    rt          d¦  «        ‚| j         | j                 }| xj        dz  c_        | xj	        dz  c_	        |S )Nr   zno more records to returnr   )
Ú
_iter_rowsÚ	_page_posrY   Úitersizer.   r/   r1   rN   ÚStopAsyncIterationrO   )r    Úrecs     r!   Ú	__anext__zAsyncServerCursor.__anext__…   s�  è è € ð Œ?Ð"ØŒN�c $¤/Ñ2Ô2ÐCÐCÒCÐC°d´mÒCÐCÐCÐCÐCà”z”ð #ð #ð #ð #ð #ð #ð #ð #Ø(,¬
¯ª¸¿ºÈÌÑ8VÔ8VÑ(WÔ(WÐ"WÐ"WÐ"WÐ"WÐ"WÐ"W�”Ø!"�”ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð Œ>�S ¤Ñ1Ô1Ò1Ð1Ý$Ð%@ÑAÔAÐAàŒo˜dœnÔ-ˆØˆŒ˜!ÑˆŒØˆ	Œ	�Q‰ˆ	Œ	Øˆ
s   ÁABÂ
B)Â,B)ÚrelativeÚvalueÚmodec              ƒ  ó  K  — | j         j        4 ƒd {V —† | j                              |                      ||¦  «        ¦  «        ƒ d {V —† d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |dk    r| xj        |z  c_        d S || _        d S )Nrf   )r.   r/   r1   Ú_scroll_genrO   )r    rg   rh   s      r!   ÚscrollzAsyncServerCursor.scroll—   sD  è è € Ø”:”?ð 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	AØ”*—/’/ $×"2Ò"2°5¸$Ñ"?Ô"?Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að �:ÒÐØˆIŒI˜ÑˆIŒIˆIˆIàˆDŒIˆIˆIs   •5AÁ
A&Á)A&)r   r   r   r   r   r   r   r   )
r   r$   r   r   r%   r&   r   r   r   r   )
r   r$   r   r   r%   r)   r   r   r   r   )r+   r,   r   )
r7   r   r8   r9   r6   r   r:   r   r+   r   )r7   r   rH   rI   rG   r   r+   r,   )r+   rL   )r   )rT   rU   r+   rV   )r+   rV   )r+   r   )r+   r   )rf   )rg   rU   rh   r   r+   r,   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r"   r4   rF   rK   rR   rZ   r\   r^   re   rk   Ú__classcell__)r5   s   @r!   r   r      s´  ø€ € € € € ð €JØ€Iàð #'Øðð ð ð ð ñ „Xðð ð #'Øðð ð ð ð ñ „Xðð 48Ø"&ØðEð Eð Eð Eð Eð Eð	"ð 	"ð 	"ð 	"ð 	"ð 	"ð !%ðð
 #ðð ð ð ð ð ð6 PTðVð Vð Vð Vð Vð Vðð ð ð ðð ð ð ð ðð ð ð ðð ð ð ðð ð ð ð$ð ð ð ð ð ð ð ð r#   r   r$   N)Ú__doc__Ú
__future__r   Útypingr   r   r   Úcollections.abcr   Ú r	   r@   Úabcr
   r   Úrowsr   r   Ú_compatr   Úcursor_asyncr   Ú_server_cursor_baser   Úconnection_asyncr   r   r   r#   r!   ú<module>r|      s6  ððð ð #Ð "Ð "Ð "Ð "Ð "à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø $Ð $Ð $Ð $Ð $Ð $à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2àð 2Ø1Ð1Ð1Ð1Ð1Ð1ðGð Gð Gð Gð GØÐ,¨cÐ1Ô2°KÀÔ4DñGô Gð Gð Gð Gr#   