Ë
    @Øïi©�  ã                  óˆ  — d Z ddlmZ ddlZddlZddlZddlmZmZ ddlm	Z	m
Z
mZmZmZ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„Zd=d„Zd>d„Zd>d„Zd?d„Zd@d„Z d@d„Z!dAd„Z"dBd„Z#dCd„Z$dDd„Z% G d„ d«      Z& G d„ d«      Z' G d„ d«      Z( G d„ d«      Z) G d„ d e)«      Z* G d!„ d"e*«      Z+ G d#„ d$e*«      Z, G d%„ d&e*«      Z- G d'„ d(e*«      Z. G d)„ d*e*«      Z/ G d+„ d,e*«      Z0 G d-„ d«      Z1 G d.„ d/«      Z2 G d0„ d1«      Z3 G d2„ d3e3«      Z4 G d4„ d5e3«      Z5 G d6„ d7e5«      Z6 G d8„ d9e6«      Z7 G d:„ d;e5«      Z8y)Ez%Implementation of the Result classes.é    )ÚannotationsN)ÚdatetimeÚ	timedelta)ÚAnyÚCallableÚDictÚListÚOptionalÚSequenceÚTupleÚUnioné   )ÚMYSQL_CHARACTER_SETS)ÚDbDoc)Údecode_from_bytesÚ
deprecated)ÚConnectionTypeÚ
FieldTypesÚColumnc                ó–  — t        |«      dk(  ry | j                  «       t        j                  k(  rt	        |d d «      S 	 t        j                  | j                  «          |«      S # t        $ rY}t        j                  j                  |› «       t        j                  j                  |j                  d«      › «       Y d }~y d }~ww xY w)Nr   éÿÿÿÿÚhex)ÚlenÚget_typeÚ
ColumnTypeÚSTRINGr   ÚColumnProtoTypeÚconverter_mapÚget_proto_typeÚKeyErrorÚsysÚstderrÚwriteÚencode)ÚcolumnÚpayloadÚerrs      úG/var/www/html/aiagents/fe/lib/python3.12/site-packages/mysqlx/result.pyÚfrom_protobufr)   /   s    € Ü
ˆ7ƒ|�qÒØà‡�ÓœJ×-Ñ-Ò-Ü  ¨¨" Ó.Ð.ðÜ×,Ñ,¨V×-BÑ-BÓ-DÑEÀgÓNÐNøÜò Ü�
‰
×Ñ˜C˜5Ô"Ü�
‰
×Ñ˜GŸN™N¨5Ó1Ð2Ô4Üûðús   Á %A& Á&	CÁ/ACÃCc                ó   — | d d S )Nr   © ©r&   s    r(   Úbytes_from_protobufr-   >   s   € à�3�Bˆ<Ðó    c                óT   — t        | «      dk(  sJ ‚t        j                  d| «      d   S )Né   z<fr   ©r   ÚstructÚunpackr,   s    r(   Úfloat_from_protobufr4   C   ó*   € Üˆw‹<˜1ÒÐÐÜ�=‰=˜˜wÓ'¨Ñ*Ð*r.   c                óT   — t        | «      dk(  sJ ‚t        j                  d| «      d   S )Né   z<dr   r1   r,   s    r(   Údouble_from_protobufr8   H   r5   r.   c                óü   — t        | «      dk(  rt        d«      ‚d}d}d}| D ]N  }t        |t        «      r|n
t	        |«      }|dz  dk(  }|dz  }||z  }||z  }|r|| |dz   d  fc S |dz  }|dz  }ŒP t        d«      ‚)Nr   zPayload is emptyé€   é   r   é   zPayload too short)r   Ú
ValueErrorÚ
isinstanceÚintÚordÚEOFError)r&   ÚcurÚiÚshiftÚitemÚcharÚeosÚcur_bitss           r(   Úvarint_from_protobuf_streamrI   M   s¯   € Ü
ˆ7ƒ|�qÒÜÐ+Ó,Ð,à
€CØ	€AØ€Eàò 	ˆÜ! $¬Ô,‰t´#°d³)ˆØ�d‰{˜qÑ ˆØ˜$‘;ˆØ�UÑˆØ	ˆX‰ˆÙØ�g˜c A™g˜iÐ(Ð(Ò(Øˆq‰ˆØ�‰
‰ð	ô Ð&Ó
'Ð'r.   c                óT   — t        | «      \  }} t        | «      dk7  rt        d«      ‚|S )Nr   úPayload too long©rI   r   r=   ©r&   rC   s     r(   Úvarint_from_protobufrN   c   s-   € Ü,¨WÓ5�J€A€wÜ
ˆ7ƒ|�qÒÜÐ+Ó,Ð,à€Hr.   c                ó†   — t        | «      \  }} t        | «      dk7  rt        d«      ‚|dz  r| }|dz	  }|dz  }|S |dz	  }|S )Nr   rK   r   l            rL   rM   s     r(   Úvarsint_from_protobufrP   k   sa   € Ü,¨WÓ5�J€A€wÜ
ˆ7ƒ|�qÒÜÐ+Ó,Ð,ð 	ˆ3‚wØˆBˆØ�‰FˆØ	ˆW‰ˆð €Hð �‰Fˆà€Hr.   c                ó  — g }	 	 t        | «      \  }} t        | «      |k  r.t        | «      dk(  r|dk(  rt        |«      dk(  rg S t        d«      ‚|j                  | d | «       | |d  } t        | «      dk(  r	 |S 	 Œw# t        $ r Y |S w xY w)Nr   r   zInvalid Set encoding)rI   r   r=   Úappend)r&   Úset_pbÚ	field_lens      r(   Úset_from_protobufrU   {   s°   € Ø€FØ
ð	Ü!<¸WÓ!EÑˆI�wÜ�7‹|˜iÒ'Ü�w“< 1Ò$¨°aª¼CÀ»KÈ1Ò<Là�IÜ Ð!7Ó8Ð8à�M‰M˜' * 9Ð-Ô.Ø˜i˜jÐ)ˆGÜ�7‹|˜qÒ àð €Mð !ð øô ò 	ØØ€Mð	ús   …>A; Á2A; Á;	BÂBc                óâ  — g }d }t        | d   t        «      r| d   nt        | d   «      }| dd  } | D ]£  }t        |t        «      r|n
t        |«      }|dz  dz	  }|dz  }|dk  rE|j                  |«       |dk  r|j                  |«       ŒZ|dk(  rd} nC|dk(  rd} n:t	        d	«      ‚|dk(  rd}|dk(  sJ ‚ n|dk(  rd}|dk(  sJ ‚ nt	        d
|› �«      ‚ t        j                  ||| f«      S )Nr   r   éð   r0   é   é
   é   é   zInvalid BCDzInvalid BCD: )r>   r?   r@   rR   r=   ÚdecimalÚDecimal)r&   ÚdigitsÚsignÚscalerE   rF   Úhigh_bcdÚlow_bcds           r(   Údecimal_from_protobufrc   �   s$  € Ø€FØ€DÜ$ W¨Q¡Z´Ô5ˆG�AŠJ¼3¸wÀq¹z»?€EØ�a�bˆk€Gàò 9ˆÜ! $¬Ô,‰t´#°d³)ˆØ˜4‘K AÑ%ˆØ˜‘+ˆØ�dŠ?Ø�M‰M˜(Ô#Ø˜Š~Ø—‘˜gÕ&Ø˜D’Ø�ÙØ˜D’Ø�Ùä  Ó/Ð/Ø˜ÒØˆDØ˜d’?Ð"�?ÙØ˜ÒØˆDØ˜d’?Ð"�?Ùä˜}¨X¨JÐ7Ó8Ð8ð39ô6 �?‰?˜D &¨5¨&Ð1Ó2Ð2r.   c           	     ó  — d}d}d}d}t        | «      \  }} t        | «      \  }} t        | «      \  }} 	 t        | «      \  }} t        | «      \  }} t        | «      \  }} t        | «      \  }} t        |||||||«      S # t        $ r Y Œw xY w)Nr   )rI   r=   r   )r&   ÚhourÚminutesÚsecondsÚusecondsÚyearÚmonthÚdays           r(   Údatetime_from_protobufrl   ´   s­   € à€DØ€GØ€GØ€HÜ/°Ó8�M€Dˆ'Ü0°Ó9�N€Eˆ7Ü.¨wÓ7�L€CˆðÜ3°GÓ<‰ˆˆgÜ6°wÓ?Ñˆ�Ü6°wÓ?Ñˆ�Ü7¸Ó@Ñˆ�'ô �D˜%  d¨G°W¸hÓGÐGøô ò Ùðús   ´8A= Á=	B	ÂB	c                ó  — d}d}d}d}| d   dk(  }| dd  } 	 t        | «      \  }} t        | «      \  }} t        | «      \  }} t        | «      \  }} |r|r|dz  }n|r|dz  }n|r|dz  }n|r|dz  }t        ||||¬«      S # t        $ r Y Œ;w xY w)Nr   r   r   )Úhoursrf   rg   Úmicroseconds)rI   r=   r   )r&   re   rf   rg   rh   Únegates         r(   Útime_from_protobufrq   É   sÍ   € à€DØ€GØ€GØ€HØ�Q‰Z˜1‰_€FØ�a�bˆk€GðÜ3°GÓ<‰ˆˆgÜ6°wÓ?Ñˆ�Ü6°wÓ?Ñˆ�Ü7¸Ó@Ñˆ�'ñ áØ�B‰J‰DÙØ�r‰M‰GÙØ�r‰M‰GÙØ˜‰NˆHäØ˜G¨WÀ8ôð øô ò Ùðús   —8A? Á?	BÂ
Bc                  ó   — e Zd ZdZy)Ú
Collationsé!   N)Ú__name__Ú
__module__Ú__qualname__ÚUTF8_GENERAL_CIr+   r.   r(   rs   rs   ê   s   „ Ø�Or.   rs   c                  ó(  — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%e&d-d$„«       Z'e&d.d%„«       Z(e&d/d&„«       Z)e&d/d'„«       Z*e&d/d(„«       Z+e&d/d)„«       Z,e&d/d*„«       Z-e&d/d+„«       Z.y,)0r   r   é   é   r0   é   é   r<   r7   é	   rY   é   rZ   r[   é   rX   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é    rt   é"   é#   c                óX   — t        | «      j                  «       D ]  \  }}||k(  sŒ|c S  y ©N)ÚvarsÚitems)ÚclsÚneedleÚkeyÚvalues       r(   Ú	to_stringzColumnType.to_string  s1   € ä˜s›)Ÿ/™/Ó+ò 	‰JˆC�Ø˜‹Ø’
ð	ð r.   c                ó8   — t        | |j                  «       d «      S r•   )ÚgetattrÚupper)r˜   rš   s     r(   Úfrom_stringzColumnType.from_string  s   € ä�s˜CŸI™I›K¨Ó.Ð.r.   c                ó6   — || j                   | j                  fv S r•   )ÚCHARÚVARCHAR©r˜   Úcol_types     r(   Úis_charzColumnType.is_char  s"   € àØ�H‰HØ�K‰Kð
ð 
ð 	
r.   c                ó6   — || j                   | j                  fv S r•   )ÚBINARYÚ	VARBINARYr¤   s     r(   Ú	is_binaryzColumnType.is_binary%  s"   € àØ�J‰JØ�M‰Mð
ð 
ð 	
r.   c                ób   — || j                   | j                  | j                  | j                  fv S r•   )ÚTEXTÚTINYTEXTÚ
MEDIUMTEXTÚLONGTEXTr¤   s     r(   Úis_textzColumnType.is_text,  s0   € àØ�H‰HØ�L‰LØ�N‰NØ�L‰Lð	
ð 
ð 	
r.   c                óx   — || j                   | j                  | j                  | j                  | j                  fv S r•   )ÚREALÚDOUBLEÚFLOATÚDECIMALÚNUMERICr¤   s     r(   Úis_decimalszColumnType.is_decimals5  s7   € àØ�H‰HØ�J‰JØ�I‰IØ�K‰KØ�K‰Kð
ð 
ð 	
r.   c                óŽ   — || j                   | j                  | j                  | j                  | j                  | j
                  fv S r•   )ÚBITÚTINYINTÚSMALLINTÚ	MEDIUMINTÚINTÚBIGINTr¤   s     r(   Ú
is_numericzColumnType.is_numeric?  s>   € àØ�G‰GØ�K‰KØ�L‰LØ�M‰MØ�G‰GØ�J‰Jð
ð 
ð 	
r.   c                ó6   — || j                   | j                  fv S r•   )ÚSETÚENUMr¤   s     r(   Úis_finite_setzColumnType.is_finite_setJ  s"   € àØ�G‰GØ�H‰Hð
ð 
ð 	
r.   N)r™   r   ÚreturnúOptional[str])rš   ÚstrrÄ   r   )r¥   r?   rÄ   Úbool)/ru   rv   rw   r¹   rº   r»   r¼   r½   r¾   r²   r´   rµ   r¶   r³   ÚJSONr   ÚBYTESÚTIMEÚDATEÚDATETIMEÚ	TIMESTAMPrÁ   rÂ   ÚGEOMETRYÚXMLÚYEARr¢   r£   r¨   r©   ÚTINYBLOBÚBLOBÚ
MEDIUMBLOBÚLONGBLOBr­   r¬   r®   r¯   Úclassmethodrœ   r    r¦   rª   r°   r·   r¿   rÃ   r+   r.   r(   r   r   î   sO  „ Ø
€CØ€GØ€HØ€IØ
€CØ€FØ€DØ€EØ€GØ€GØ€FØ€DØ€FØ€EØ€DØ€DØ€HØ€IØ
€CØ€DØ€HØ
€CØ€DØ€DØ€GØ€FØ€IØ€HØ€DØ€JØ€HØ€HØ€DØ€JØ€Hàòó ðð ò/ó ð/ð ò
ó ð
ð ò
ó ð
ð ò
ó ð
ð ò
ó ð
ð ò
ó ð
ð ò
ó ñ
r.   r   c                  ót   — e Zd ZU dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZeeeeeee	eeeeeeeeee
eeeeeiZded<   y)r   r   rz   r|   r}   r<   rY   rZ   rX   r�   r‚   rƒ   z!Dict[int, Callable[[bytes], Any]]r   N)ru   rv   rw   ÚSINTÚUINTr³   r´   rÉ   rÊ   rÌ   rÁ   rÂ   r¹   rµ   rP   rN   r-   rl   rq   r4   r8   rU   rc   r   Ú__annotations__r+   r.   r(   r   r   R  sŒ   … Ø€DØ€DØ€FØ€EØ€EØ€DØ€HØ
€CØ€DØ
€CØ€Gð 	Ð#ØÐ"ØÐ"ØÐ(ØÐ ØÐ"ØÐ$ØÐ!ØÐØÐ!ØÐ&ð8€MÐ4ô r.   r   c                  óT   — e Zd Zdd„Zdd„Zedd„«       Zej                  d	d„«       Zy)
ÚFlagsc                ó  — i | _         i | _        | j                  j                  j	                  «       D ]F  \  }}|j                  d«      rŒt        |t        «      sŒ)|| j                   |<   || j                  |<   ŒH || _        y )NÚ__)	Ú_allowed_flagsÚ_flag_namesÚ	__class__Ú__dict__r—   Ú
startswithr>   r?   Ú_value)Úselfr›   rš   Úvals       r(   Ú__init__zFlags.__init__o  sz   € Ø.0ˆÔØ+-ˆÔØŸ™×/Ñ/×5Ñ5Ó7ò 	,‰HˆC�Ø�~‰~˜dÔ#ØÜ˜#œsÕ#Ø+.�×#Ñ# CÑ(Ø(+�× Ñ  Ò%ð	,ð !ˆ�r.   c                ó˜  — d}g }| j                   }t        dd«      D ].  }|dz  }||z  }|sŒ	 |j                  | j                  |   «       Œ0 dj                  |«      S # t        $ ra t
        j                  j                  | j                  › «       t
        j                  j                  | j                  j                  › «       Y Œ«w xY w)Nr   r   é?   ú,)rã   ÚrangerR   rß   r    r!   r"   r#   rà   rá   Újoin)rä   ÚmaskÚ
flag_namesr›   Ú_Úflags         r(   Ú__str__zFlags.__str__z  s¾   € ØˆØˆ
Ø—‘ˆä�q˜"“ò 		CˆAØ�Q‰JˆDØ˜4‘<ˆDÚðCØ×%Ñ% d×&6Ñ&6°tÑ&<Õ=ð		Cð �x‰x˜
Ó#Ð#øô	  ò CÜ—J‘J×$Ñ$¨×(8Ñ(8Ð'9Ô;Ü—J‘J×$Ñ$¨¯©×(?Ñ(?Ð'@ÖBðCús   ®AÁA'C	ÃC	c                ó   — | j                   S r•   ©rã   ©rä   s    r(   r›   zFlags.valueŒ  s   € à�{‰{Ðr.   c                ó   — || _         y r•   rò   )rä   rå   s     r(   r›   zFlags.value�  s	   € àˆ�r.   N)r›   r?   rÄ   ÚNone©rÄ   rÆ   ©rÄ   r?   )rå   r?   rÄ   rõ   )ru   rv   rw   ræ   rð   Úpropertyr›   Úsetterr+   r.   r(   rÛ   rÛ   n  s8   „ ó	!ó$ð$ òó ðð ‡\�\òó ñr.   rÛ   c                  ó    — e Zd ZdZdZdZdZdZy)ÚColumnFlagsr�   r‘   é@   r:   é   N)ru   rv   rw   ÚNOT_NULLÚPRIMARY_KEYÚ
UNIQUE_KEYÚMULTIPLE_KEYÚAUTO_INCREMENTr+   r.   r(   rû   rû   •  s   „ Ø€HØ€KØ€JØ€LØ�Nr.   rû   c                  ó   — e Zd ZdZy)ÚDatetimeColumnFlagsr   N)ru   rv   rw   rÍ   r+   r.   r(   r  r  �  ó   „ Ø�Ir.   r  c                  ó   — e Zd ZdZy)ÚUIntColumnFlagsr   N)ru   rv   rw   ÚZEROFILLr+   r.   r(   r  r  ¡  ó   „ Ø�Hr.   r  c                  ó   — e Zd ZdZy)ÚDoubleColumnFlagsr   N©ru   rv   rw   ÚUNSIGNEDr+   r.   r(   r  r  ¥  r	  r.   r  c                  ó   — e Zd ZdZy)ÚFloatColumnFlagsr   Nr  r+   r.   r(   r  r  ©  r	  r.   r  c                  ó   — e Zd ZdZy)ÚBytesColumnFlagsr   N)ru   rv   rw   Ú	RIGHT_PADr+   r.   r(   r  r  ­  r  r.   r  c                  ó   — e Zd ZdZdZdZy)ÚBytesContentTyper   rz   r{   N)ru   rv   rw   rÎ   rÈ   rÏ   r+   r.   r(   r  r  ±  s   „ Ø€HØ€DØ
�Cr.   r  c                  ó¶  — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 	 d"	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d#d„Zd$d„Zd%d„Zd%d„Zd%d„Zd%d„Z	d%d	„Z
ed$d
„«       Zed$d„«       Zed$d„«       Zed$d„«       Zed$d„«       Zed&d„«       Zed&d„«       Zed&d„«       Zed$d„«       Zed$d„«       Zd$d„Zd$d„Zd$d„Zd$d„Zd$d„Zd&d„Zd&d„Zd&d„Zd&d„Zd$d„Zd$d„Z d'd„Z!d(d „Z"d'd!„Z#y))r   a_  Represents meta data for a table column.

    Args:
        col_type (int): The column type.
        catalog (str): The catalog.
        schema (str): The schema name.
        table (str): The table name.
        original_table (str): The original table name.
        name (str): The column name.
        original_name (str): The original table name.
        length (int): The column length,
        collation (str): The collation name.
        fractional_digits (int): The fractional digits.
        flags (int): The flags.
        content_type (int): The content type.

    .. versionchanged:: 8.0.12
    Nc                ól  — t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        || _        d | _        || _        || _	        |	| _
        |
| _        || _        || _        d| _        d| _        d| _        d| _        d | _        d | _        d | _        | j                  dkD  r~| j                  t+        t,        «      k\  rt/        d| j                  › �«      ‚t,        | j                     }|d   | _        |d   | _        d| j$                  v xs d| j$                  v | _        | j1                  «        | j                  t2        j4                  t2        j6                  t2        j8                  t2        j:                  t2        j<                  fv | _        y )NFr   zNo mapping found for collation r   ÚbinaryÚ_bin)r   Ú_schemaÚ_nameÚ_original_nameÚ_tableÚ_original_tableÚ_proto_typeÚ	_col_typeÚ_catalogÚ_lengthÚ
_collationÚ_fractional_digitsÚ_flagsÚ_content_typeÚ_number_signedÚ
_is_paddedÚ
_is_binaryÚ	_is_bytesÚ_collation_nameÚ_character_set_nameÚ
_zero_fillr   r   r=   Ú	_map_typer   rÎ   rÈ   rÏ   rÉ   r   )rä   r¥   ÚcatalogÚschemaÚtableÚoriginal_tableÚnameÚoriginal_nameÚlengthÚ	collationÚfractional_digitsÚflagsÚcontent_typeÚinfos                 r(   ræ   zColumn.__init__Î  s|  € ô .¨fÓ5ˆŒÜ+¨DÓ1ˆŒ
Ü#4°]Ó#CˆÔÜ,¨UÓ3ˆŒÜ$5°nÓ$EˆÔØ (ˆÔØ(,ˆŒØ'.ˆŒØ&,ˆŒØ)2ˆŒØ1BˆÔØ%*ˆŒØ,8ˆÔØ$)ˆÔØ,1ˆŒØ %ˆŒØ$ˆŒØ.2ˆÔØ26ˆÔ Ø)-ˆŒà�?‰?˜QÒØ�‰¤#Ô&:Ó";Ò;Ü Ð#BÀ4Ç?Á?ÐBSÐ!TÓUÐUÜ'¨¯©Ñ8ˆDØ'+¨A¡wˆDÔ$Ø#'¨¡7ˆDÔ à˜D×0Ñ0Ð0ÒR°F¸d×>RÑ>RÐ4Rð ŒOð 	�‰ÔØŸ™Ü×ÑÜ�O‰OÜ�N‰NÜ×ÑÜ×Ñð,
ð 
ˆ�r.   c                ó„   — t        | j                  | j                  | j                  t        | j                  «      dœ«      S )N)r¥   r/  r0  r7  )rÆ   r  r  r  r$  ró   s    r(   rð   zColumn.__str__  s5   € Üà ŸN™NØŸ,™,ØŸ™Ü˜TŸ[™[Ó)ñ	ó
ð 	
r.   c                óÌ  — | j                   t        j                  k(  rt        j                  | _        n�| j                   t        j
                  k(  rt        j
                  | _        nj| j                   t        j                  k(  rt        j                  | _        n7| j                  rt        j                  | _        nt        j                  | _        | j                  dz  | _        y)z
Map bytes.r   N)r%  r  rÎ   r   r  rÈ   rÏ   r(  rÉ   r   r$  r'  ró   s    r(   Ú
_map_byteszColumn._map_bytes  s”   € à×ÑÔ!1×!:Ñ!:Ò:Ü'×0Ñ0ˆD�NØ×ÑÔ#3×#8Ñ#8Ò8Ü'Ÿ_™_ˆD�NØ×ÑÔ#3×#7Ñ#7Ò7Ü'Ÿ^™^ˆD�NØ�_Š_Ü'×-Ñ-ˆD�Nä'×.Ñ.ˆDŒNØŸ+™+¨™/ˆ�r.   c                ó  — | j                   dk(  rt        j                  | _        y| j                  t
        j                  z  dkD  rt        j                  | _        y| j                   dk\  rt        j                  | _        yt        d«      ‚)zMap datetime.rY   r   r„   z#Datetime mapping scenario unhandledN)	r!  r   rË   r  r$  r  rÍ   rÌ   r=   ró   s    r(   Ú_map_datetimezColumn._map_datetime  sc   € à�<‰<˜2ÒÜ'Ÿ_™_ˆD�NØ�[‰[Ô.×8Ñ8Ñ8¸1Ò<Ü'×1Ñ1ˆD�NØ�\‰\˜RÒÜ'×0Ñ0ˆD�NäÐBÓCÐCr.   c                óœ  — | j                   dk  rt        j                  | _        d| _        y| j                   dk  rt        j                  | _        d| _        y| j                   dk  rt        j
                  | _        d| _        y| j                   dk  rt        j                  | _        d| _        yt        j                  | _        d| _        y)zMap int type.r0   r}   r~   r   TN)	r!  r   rº   r  r»   r¼   r½   r¾   r&  ró   s    r(   Ú_map_int_typezColumn._map_int_type'  s©   € à�<‰<˜1ÒÜ'×/Ñ/ˆDŒNð #ˆÕð �\‰\˜QÒÜ'×0Ñ0ˆDŒNð #ˆÕð �\‰\˜QÒÜ'×1Ñ1ˆDŒNð
 #ˆÕð	 �\‰\˜RÒÜ'Ÿ^™^ˆDŒNð #ˆÕô (×.Ñ.ˆDŒNØ"ˆÕr.   c                ó~  — | j                   dk  rt        j                  | _        n„| j                   dk  rt        j                  | _        n_| j                   dk  rt        j
                  | _        n:| j                   dk  rt        j                  | _        nt        j                  | _        | j                  dz  | _	        y)zMap uint type.r{   r|   r7   rY   r   N)
r!  r   rº   r  r»   r¼   r½   r¾   r$  r,  ró   s    r(   Ú_map_uint_typezColumn._map_uint_type5  s€   € à�<‰<˜1ÒÜ'×/Ñ/ˆD�NØ�\‰\˜QÒÜ'×0Ñ0ˆD�NØ�\‰\˜QÒÜ'×1Ñ1ˆD�NØ�\‰\˜RÒÜ'Ÿ^™^ˆD�Nä'×.Ñ.ˆDŒNØŸ+™+¨™/ˆ�r.   c                óJ  — | j                   t        j                  k(  r| j                  «        y| j                   t        j                  k(  r| j                  «        y| j                   t        j                  k(  r;t        j                  | _        | j                  t        j                  z  dk(  | _        y| j                   t        j                  k(  r;t        j                  | _        | j                  t        j                  z  dk(  | _        y| j                   t        j                  k(  r;t        j                  | _        | j                  t        j                  z  dk(  | _        y| j                   t        j                  k(  r| j!                  «        y| j                   t        j"                  k(  rt        j"                  | _        y| j                   t        j$                  k(  r| j'                  «        y| j                   t        j(                  k(  rt        j(                  | _        y| j                   t        j*                  k(  rt        j*                  | _        y| j                   t        j,                  k(  rt        j,                  | _        yt/        d| j                   › �«      ‚)z	Map type.r   zUnknown column type N)r  r   r×   r@  rØ   rB  r´   r   r  r$  r  r  Ú_is_number_signedrµ   r³   rÉ   r<  rÊ   rÌ   r>  rÁ   rÂ   r¹   r=   ró   s    r(   r-  zColumn._map_typeC  sÓ  € à×Ñœ×3Ñ3Ò3Ø×ÑÕ Ø×Ñ¤×!5Ñ!5Ò5Ø×ÑÕ!Ø×Ñ¤×!6Ñ!6Ò6Ü'×-Ñ-ˆDŒNØ&*§k¡kÔ4D×4MÑ4MÑ&MÐRSÑ%SˆDÕ"Ø×Ñ¤×!8Ñ!8Ò8Ü'×/Ñ/ˆDŒNØ&*§k¡kÔ4D×4MÑ4MÑ&MÐRSÑ%SˆDÕ"Ø×Ñ¤×!7Ñ!7Ò7Ü'×.Ñ.ˆDŒNØ&*§k¡kÔ4D×4MÑ4MÑ&MÐRSÑ%SˆDÕ"Ø×Ñ¤×!6Ñ!6Ò6Ø�O‰OÕØ×Ñ¤×!5Ñ!5Ò5Ü'Ÿ_™_ˆD�NØ×Ñ¤×!9Ñ!9Ò9Ø×ÑÕ Ø×Ñ¤×!4Ñ!4Ò4Ü'Ÿ^™^ˆD�NØ×Ñ¤×!5Ñ!5Ò5Ü'Ÿ_™_ˆD�NØ×Ñ¤×!4Ñ!4Ò4Ü'Ÿ^™^ˆD�NäÐ3°D×4DÑ4DÐ3EÐFÓGÐGr.   c                ó   — | j                   S )z@str: The schema name.

        .. versionadded:: 8.0.12
        ©r  ró   s    r(   Úschema_namezColumn.schema_namea  ó   € ð �|‰|Ðr.   c                ó6   — | j                   xs | j                  S )z?str: The table name.

        .. versionadded:: 8.0.12
        ©r  r  ró   s    r(   Ú
table_namezColumn.table_namei  ó   € ð ×#Ñ#Ò2 t§{¡{Ð2r.   c                ó6   — | j                   xs | j                  S )z@str: The table label.

        .. versionadded:: 8.0.12
        ©r  r  ró   s    r(   Útable_labelzColumn.table_labelq  ó   € ð �{‰{Ò2˜d×2Ñ2Ð2r.   c                ó6   — | j                   xs | j                  S )z@str: The column name.

        .. versionadded:: 8.0.12
        ©r  r  ró   s    r(   Úcolumn_namezColumn.column_namey  ó   € ð ×"Ñ"Ò0 d§j¡jÐ0r.   c                ó6   — | j                   xs | j                  S )zAstr: The column label.

        .. versionadded:: 8.0.12
        ©r  r  ró   s    r(   Úcolumn_labelzColumn.column_label�  ó   € ð �z‰zÒ0˜T×0Ñ0Ð0r.   c                ó   — | j                   S )z@int: The column type.

        .. versionadded:: 8.0.12
        ©r  ró   s    r(   ÚtypezColumn.type‰  ó   € ð �~‰~Ðr.   c                ó   — | j                   S )zBint. The column length.

        .. versionadded:: 8.0.12
        ©r!  ró   s    r(   r4  zColumn.length‘  rH  r.   c                ó   — | j                   S )zMint: The column fractional digits.

        .. versionadded:: 8.0.12
        ©r#  ró   s    r(   r6  zColumn.fractional_digits™  ó   € ð ×&Ñ&Ð&r.   c                ó   — | j                   S )zCstr: The collation name.

        .. versionadded:: 8.0.12
        ©r*  ró   s    r(   Úcollation_namezColumn.collation_name¡  ó   € ð ×#Ñ#Ð#r.   c                ó   — | j                   S )zGstr: The character set name.

        .. versionadded:: 8.0.12
        ©r+  ró   s    r(   Úcharacter_set_namezColumn.character_set_name©  ó   € ð ×'Ñ'Ð'r.   c                ó   — | j                   S )zUReturns the schema name.

        Returns:
            str: The schema name.
        rF  ró   s    r(   Úget_schema_namezColumn.get_schema_name±  rH  r.   c                ó6   — | j                   xs | j                  S )zSReturns the table name.

        Returns:
            str: The table name.
        rJ  ró   s    r(   Úget_table_namezColumn.get_table_name¹  rL  r.   c                ó6   — | j                   xs | j                  S )zUReturns the table label.

        Returns:
            str: The table label.
        rN  ró   s    r(   Úget_table_labelzColumn.get_table_labelÁ  rP  r.   c                ó6   — | j                   xs | j                  S )zUReturns the column name.

        Returns:
            str: The column name.
        rR  ró   s    r(   Úget_column_namezColumn.get_column_nameÉ  rT  r.   c                ó6   — | j                   xs | j                  S )zWReturns the column label.

        Returns:
            str: The column label.
        rV  ró   s    r(   Úget_column_labelzColumn.get_column_labelÑ  rX  r.   c                ó   — | j                   S )zaReturns the column proto type.

        Returns:
            int: The column proto type.
        )r  ró   s    r(   r   zColumn.get_proto_typeÙ  s   € ð ×ÑÐr.   c                ó   — | j                   S )zUReturns the column type.

        Returns:
            int: The column type.
        rZ  ró   s    r(   r   zColumn.get_typeá  r\  r.   c                ó   — | j                   S )zYReturns the column length.

        Returns:
            int: The column length.
        r^  ró   s    r(   Ú
get_lengthzColumn.get_lengthé  rH  r.   c                ó   — | j                   S )zoReturns the column fractional digits.

        Returns:
            int: The column fractional digits.
        r`  ró   s    r(   Úget_fractional_digitszColumn.get_fractional_digitsñ  ra  r.   c                ó   — | j                   S )z[Returns the collation name.

        Returns:
            str: The collation name.
        rc  ró   s    r(   Úget_collation_namezColumn.get_collation_nameù  re  r.   c                ó   — | j                   S )zcReturns the character set name.

        Returns:
            str: The character set name.
        rg  ró   s    r(   Úget_character_set_namezColumn.get_character_set_name  ri  r.   c                ó   — | j                   S )zxReturns `True` if is a number signed.

        Returns:
            bool: Returns `True` if is a number signed.
        )r&  ró   s    r(   Úis_number_signedzColumn.is_number_signed	  ó   € ð ×"Ñ"Ð"r.   c                ó   — | j                   S )zfReturns `True` if is padded.

        Returns:
            bool: Returns `True` if is padded.
        )r'  ró   s    r(   Ú	is_paddedzColumn.is_padded  s   € ð �‰Ðr.   c                ó   — | j                   S )zdReturns `True` if is bytes.

        Returns:
            bool: Returns `True` if is bytes.
        )r)  ró   s    r(   Úis_byteszColumn.is_bytes  r\  r.   )NNNNNNNNNNN)r¥   r?   r.  rÅ   r/  rÅ   r0  rÅ   r1  rÅ   r2  rÅ   r3  rÅ   r4  úOptional[int]r5  r…  r6  r…  r7  r…  r8  r…  rÄ   rõ   rö   ©rÄ   rõ   r÷   ©rÄ   rÇ   ©rÄ   zUnion[bool, int])$ru   rv   rw   Ú__doc__ræ   rð   r<  r>  r@  rB  r-  rø   rG  rK  rO  rS  rW  r[  r4  r6  rd  rh  rk  rm  ro  rq  rs  r   r   rw  ry  r{  r}  r  r‚  r„  r+   r.   r(   r   r   º  sÞ  „ ñð, "&Ø $Ø#Ø(,Ø"Ø'+Ø $Ø#'Ø+/Ø#Ø&*ð4
àð4
ð ð4
ð ð	4
ð
 ð4
ð &ð4
ð ð4
ð %ð4
ð ð4
ð !ð4
ð )ð4
ð ð4
ð $ð4
ð 
ó4
ól
ó*ó	Dó#ó*óHð< òó ðð ò3ó ð3ð ò3ó ð3ð ò1ó ð1ð ò1ó ð1ð òó ðð òó ðð ò'ó ð'ð ò$ó ð$ð ò(ó ð(óó3ó3ó1ó1ó óóó'ó$ó(ó#óôr.   c                  óR   — e Zd ZdZ	 	 	 	 	 	 dd„Zd	d„Zd
d„Z ed«      dd„«       Zy)ÚRowz½Represents a row element returned from a SELECT query.

    Args:
        resultset (mysqlx.SqlResult or mysqlx.RowResult): The result set.
        fields (`list`): The list of fields.
    c                ó    — || _         || _        y r•   )Ú_fieldsÚ
_resultset)rä   Ú	resultsetÚfieldss      r(   ræ   zRow.__init__*  s   € ð .4ˆŒØ=Fˆ�r.   c                ó,   — t        | j                  «      S r•   )Úreprr�  ró   s    r(   Ú__repr__zRow.__repr__0  s   € Ü�D—L‘LÓ!Ð!r.   c                ó  — t        |t        «      r| j                  j                  |«      n|}|dk(  rt        |t        «      rt	        d|› d�«      ‚|t        | j                  «      k\  s|dk  rt        d«      ‚| j                  |   S )z\Returns the value of a column by name or index.

        .. versionchanged:: 8.0.12
        r   úColumn name 'ú' not foundr   zIndex out of range)r>   rÆ   rŽ  Úindex_ofr=   r   r�  Ú
IndexError)rä   ÚindexÚ	int_indexs      r(   Ú__getitem__zRow.__getitem__3  s{   € ô
 8BÀ%ÌÔ7M�D—O‘O×,Ñ,¨UÔ3ÐSXˆ	Ø˜Š?œz¨%´Ô5Ü˜}¨U¨G°;Ð?Ó@Ð@Øœ˜DŸL™LÓ)Ò)¨Y¸ª]ÜÐ1Ó2Ð2Ø�|‰|˜IÑ&Ð&r.   ú8.0.12c                óÖ   — | j                   j                  |«      }|t        | j                  «      k\  rt	        d«      ‚|dk(  rt        d|› d�«      ‚t        | j                  |   «      S )zŽReturns the value using the column name.

        Args:
            str_index (str): The column name.

        .. deprecated:: 8.0.12
        zArgument out of ranger   r•  r–  )rŽ  r—  r   r�  r˜  r=   rÆ   )rä   Ú	str_indexrš  s      r(   Ú
get_stringzRow.get_string?  sd   € ð —O‘O×,Ñ,¨YÓ7ˆ	Øœ˜DŸL™LÓ)Ò)ÜÐ4Ó5Ð5Ø˜Š?Ü˜}¨Y¨K°{ÐCÓDÐDÜ�4—<‘< 	Ñ*Ó+Ð+r.   N)r�  z!Union[BufferingResult, RowResult]r�  zSequence[FieldTypes]rÄ   rõ   rö   )r™  zUnion[int, str]rÄ   r   )rž  rÆ   rÄ   rÆ   )	ru   rv   rw   r‰  ræ   r“  r›  r   rŸ  r+   r.   r(   r‹  r‹  "  sK   „ ñðGØ:ðGØDXðGà	óGó"ó
'ñ �Óò,ó ñ,r.   r‹  c                  óX   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zy)Ú
BaseResultz‰Provides base functionality for result objects.

    Args:
        connection (mysqlx.connection.Connection): The Connection object.
    c                ó®   — || _         d| _        d| _        d| _        g | _        g | _        |€d | _        y |j                  | _        |j                  «        y ©NFr   r   )	Ú_connectionÚ_closedÚ_rows_affectedÚ_generated_idÚ_generated_idsÚ	_warningsÚ	_protocolÚprotocolÚfetch_active_result)rä   Ú
connections     r(   ræ   zBaseResult.__init__W  sV   € Ø+5ˆÔØ"ˆŒØ#$ˆÔØ"$ˆÔØ)+ˆÔØ;=ˆŒàÐØ!ˆD�Nà'×0Ñ0ˆDŒNØ×*Ñ*Õ,r.   c                ó   — | j                   S )z†Returns the number of affected items for the last operation.

        Returns:
            int: The number of affected items.
        ©r¦  ró   s    r(   Úget_affected_items_countz#BaseResult.get_affected_items_counte  r€  r.   c                ó   — | j                   S )zZReturns the warnings.

        Returns:
            `list`: The list of warnings.
        )r©  ró   s    r(   Úget_warningszBaseResult.get_warningsm  r\  r.   c                ó,   — t        | j                  «      S )zcReturns the number of warnings.

        Returns:
            int: The number of warnings.
        )r   r©  ró   s    r(   Úget_warnings_countzBaseResult.get_warnings_countu  s   € ô �4—>‘>Ó"Ð"r.   c                ó   — || _         y)z Sets if resultset fetch is done.N)r¥  ©rä   rï   s     r(   Ú
set_closedzBaseResult.set_closed}  s	   € àˆ�r.   c                óB   — | j                   j                  |||dœ«       y)z«Append a warning.

        Args:
            level (int): The warning level.
            code (int): The warning code.
            msg (str): The warning message.
        )ÚlevelÚcodeÚmsgN)r©  rR   )rä   r¹  rº  r»  s       r(   Úappend_warningzBaseResult.append_warning�  s   € ð 	�‰×Ñ¨°tÀCÑHÕIr.   c                ó   — || _         y)zSets the generated ids.N©r¨  )rä   Úgenerated_idss     r(   Úset_generated_idszBaseResult.set_generated_ids‹  s
   € à+ˆÕr.   c                ó   — || _         y)zSets the generated insert id.N©r§  )rä   Úgenerated_ids     r(   Úset_generated_insert_idz"BaseResult.set_generated_insert_id�  s
   € à)ˆÕr.   c                ó   — || _         y)z!Sets the number of rows affected.Nr¯  )rä   Útotals     r(   Úset_rows_affectedzBaseResult.set_rows_affected“  s
   € à#ˆÕr.   N©r­  r   rÄ   rõ   r÷   )rÄ   z List[Dict[str, Union[int, str]]]©rï   rÇ   rÄ   rõ   )r¹  r?   rº  r?   r»  rÆ   rÄ   rõ   )r¿  ú	List[int]rÄ   rõ   )rÃ  r?   rÄ   rõ   )rÆ  r?   rÄ   rõ   )ru   rv   rw   r‰  ræ   r°  r²  r´  r·  r¼  rÀ  rÄ  rÇ  r+   r.   r(   r¡  r¡  P  s5   „ ñó-ó#óó#óóJó,ó*ô$r.   r¡  c                  ó€   ‡ — e Zd ZdZ	 	 d	 	 	 	 	 d	ˆ fd„Zd
d„Z ed«      dd„«       Z ed«      d
d„«       Zdd„Z	ˆ xZ
S )ÚResulta  Allows retrieving information about non query operations performed on
    the database.

    Args:
        connection (mysqlx.connection.Connection): The Connection object.
                                                   ids (`list`): A list of IDs.
    c                ón   •— t         ‰| �  |«       || _        |�| j                  j	                  | «       y y r•   )Úsuperræ   Ú_idsr¤  Úclose_result)rä   r­  Úidsrà   s      €r(   ræ   zResult.__init__¡  s8   ø€ ô
 	‰Ñ˜Ô$Ø),ˆŒ	àÐ!Ø×Ñ×)Ñ)¨$Õ/ð "r.   c                ó   — | j                   S )zjReturns the last insert id auto generated.

        Returns:
            int: The last insert id.
        rÂ  ró   s    r(   Úget_autoincrement_valuezResult.get_autoincrement_value¬  ó   € ð ×!Ñ!Ð!r.   rœ  c                ój   — | j                   �t        | j                   «      dk(  ry| j                   d   S )zdReturns ID of the last document inserted into a collection.

        .. deprecated:: 8.0.12
        Nr   )rÏ  r   ró   s    r(   Úget_document_idzResult.get_document_id´  s.   € ð �9‰9Ð¤ D§I¡I£°!Ò 3ØØ�y‰y˜‰|Ðr.   c                ó   — | j                   S )zIReturns the generated insert id.

        .. deprecated:: 8.0.12
        rÂ  ró   s    r(   Úget_generated_insert_idzResult.get_generated_insert_id¾  rÔ  r.   c                ó   — | j                   S )zReturns the generated ids.r¾  ró   s    r(   Úget_generated_idszResult.get_generated_idsÆ  s   € à×"Ñ"Ð"r.   )NN)r­  zOptional[ConnectionType]rÑ  zOptional[List[int]]rÄ   rõ   r÷   )rÄ   r…  )rÄ   rÊ  )ru   rv   rw   r‰  ræ   rÓ  r   rÖ  rØ  rÚ  Ú__classcell__©rà   s   @r(   rÌ  rÌ  ˜  sm   ø„ ñð 04Ø#'ð	0à,ð	0ð !ð	0ð 
õ		0ó"ñ �Óòó ðñ �Óò"ó ð"÷#r.   rÌ  c                  ó~   ‡ — e Zd ZdZdˆ fd„Zdd„Zedd„«       Zdd„Zdd„Z	dd„Z
dd„Zdd	„Zdd
„Zdd„Zdd„Zˆ xZS )ÚBufferingResultzãProvides base functionality for buffering result objects.

    Args:
        connection (mysqlx.connection.Connection): The Connection object.
                                                   ids (`list`): A list of IDs.
    c                ó˜   •— t         ‰| �  |«       g | _        d| _        d| _        g | _        d| _        d| _        | j                  «        y r£  )	rÎ  ræ   Ú_columnsÚ	_has_dataÚ_has_more_resultsÚ_itemsÚ
_page_sizeÚ	_positionÚ_init_result)rä   r­  rà   s     €r(   ræ   zBufferingResult.__init__Ó  sG   ø€ Ü‰Ñ˜Ô$Ø&(ˆŒØ$ˆŒØ',ˆÔØ/1ˆŒØ ˆŒØ ˆŒØ×ÑÕr.   c                ó    — | j                   |   S r•   )rã  )rä   r™  s     r(   r›  zBufferingResult.__getitem__Ý  s   € Ø�{‰{˜5Ñ!Ð!r.   c                ó,   — t        | j                  «      S )zint: The total of items.)r   rã  ró   s    r(   ÚcountzBufferingResult.countà  s   € ô �4—;‘;ÓÐr.   c                ó  — | j                   j                  | «      | _        t        | j                  «      dkD  | _        g | _        d| _        d| _        | j                   j                  | j                  r| «       yd«       y)zInitialize the result.r   r…   r   N)	r¤  Úget_column_metadatarà  r   Ú_has_more_datarã  rä  rå  Úset_active_resultró   s    r(   ræ  zBufferingResult._init_resultå  sf   € à×(Ñ(×<Ñ<¸TÓBˆŒÜ! $§-¡-Ó0°1Ñ4ˆÔØˆŒØˆŒØˆŒØ×Ñ×*Ñ*°4×3FÒ3F¨4ÕQÈDÕQr.   c                óþ   — | j                   j                  | «      }|€ydgt        |d   «      z  }|s@t        t        |d   «      «      D ]&  }| j                  |   }t        ||d   |   «      ||<   Œ( t        | |«      S )z•Read item.

        Args:
            dumping (bool): `True` for dumping.

        Returns:
            :class:`mysqlx.Row`: A `Row` object.
        NÚfield)r¤  Úread_rowr   rê   rà  r)   r‹  )rä   ÚdumpingÚrowrE   rš   r%   s         r(   Ú
_read_itemzBufferingResult._read_itemî  sŽ   € ð ×Ñ×'Ñ'¨Ó-ˆØˆ;ØØˆvœ˜C ™LÓ)Ñ)ˆÙÜœS  W¡Ó.Ó/ò E�ØŸ™ sÑ+�Ü)¨&°#°g±,¸sÑ2CÓD��S’	ðEô �4˜‹Ðr.   c                óÄ   — | j                   ryd}t        | j                  «      D ]8  }| j                  d«      }|€ |S | j                  j                  |«       |dz  }Œ: |S )zSReads the page items.

        Returns:
            int: Total items read.
        Fr   r   )r¥  rê   rä  ró  rã  rR   )rä   ré  rî   rE   s       r(   Ú_page_in_itemszBufferingResult._page_in_items  sl   € ð �<Š<ØàˆÜ�t—‘Ó'ò 	ˆAØ—?‘? 5Ó)ˆDØˆ|Øð ˆð �K‰K×Ñ˜tÔ$Ø�Q‰J‰Eð	ð ˆr.   c                ób   — d}| j                   D ]  }|j                  «       |k(  r|c S |dz  }Œ  y)zeReturns the index of the column.

        Returns:
            int: The index of the column.
        r   r   r   )rà  rs  )rä   Úcol_namer™  Úcols       r(   r—  zBufferingResult.index_of  s@   € ð ˆØ—=‘=ò 	ˆCØ×#Ñ#Ó%¨Ò1Ø’Ø�Q‰J‰Eð	ð r.   c                ó>   — | j                   ry| j                  d«      S )zuFetch one item.

        Returns:
            :class:`mysqlx.Row` or :class:`mysqlx.DbDoc`: one result item.
        NF)r¥  ró  ró   s    r(   Ú	fetch_onezBufferingResult.fetch_one   s   € ð �<Š<Øà�‰˜uÓ%Ð%r.   c                ó@   — 	 | j                  «       s	 | j                  S Œ)z–Fetch all items.

        Returns:
            `list`: The list of items of :class:`mysqlx.DbDoc` or
                    :class:`mysqlx.Row`.
        )rõ  rã  ró   s    r(   Ú	fetch_allzBufferingResult.fetch_all+  s%   € ð Ø×&Ñ&Ô(ØØ�{‰{Ðð r.   c                ó   — || _         y)zdSets if result has data.

        Args:
            flag (bool): `True` if result has data.
        N©rá  r¶  s     r(   Úset_has_datazBufferingResult.set_has_data7  s   € ð ˆ�r.   c                ó   — || _         y)zfSets if has more results.

        Args:
            flag (bool): `True` if has more results.
        N)râ  r¶  s     r(   Úset_has_more_resultsz$BufferingResult.set_has_more_results?  s   € ð "&ˆÕr.   rÈ  )r™  r?   rÄ   zUnion[Row, DbDoc]r÷   r†  )rñ  rÇ   rÄ   úOptional[Union[Row, DbDoc]]rˆ  )r÷  rÆ   rÄ   r?   )rÄ   r  )rÄ   zList[Union[Row, DbDoc]]rÉ  )ru   rv   rw   r‰  ræ   r›  rø   ré  ræ  ró  rõ  r—  rú  rü  rÿ  r  rÛ  rÜ  s   @r(   rÞ  rÞ  Ë  sO   ø„ ñõó"ð ò ó ð óRóó&ó$ó	&ó
ó÷&r.   rÞ  c                  ó*   — e Zd ZdZedd„«       Zdd„Zy)Ú	RowResultz¡Allows traversing the Row objects returned by a Table.select operation.

    Args:
        connection (mysqlx.connection.Connection): The Connection object.
    c                ó   — | j                   S )z`list`: The list of columns.©rà  ró   s    r(   ÚcolumnszRowResult.columnsO  s   € ð �}‰}Ðr.   c                ó   — | j                   S )z‚Returns the list of columns.

        Returns:
            `list`: The list of columns.

        .. versionadded:: 8.0.12
        r  ró   s    r(   Úget_columnszRowResult.get_columnsT  s   € ð �}‰}Ðr.   N)rÄ   zList[Column])ru   rv   rw   r‰  rø   r  r	  r+   r.   r(   r  r  H  s    „ ñð òó ðôr.   r  c                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)Ú	SqlResultzƒRepresents a result from a SQL statement.

    Args:
        connection (mysqlx.connection.Connection): The Connection object.
    c                ó   — | j                   S )zŒReturns the identifier for the last record inserted.

        Returns:
            str: The identifier of the last record inserted.
        rÂ  ró   s    r(   rÓ  z!SqlResult.get_autoincrement_valuef  rÔ  r.   c                óL   — | j                   ryd| _        | j                  «        y)zjProcess the next result.

        Returns:
            bool: Returns `True` if the fetch is done.
        FT)r¥  râ  ræ  ró   s    r(   Únext_resultzSqlResult.next_resultn  s%   € ð �<Š<ØØ!&ˆÔØ×ÑÔØr.   c                ó   — | j                   S )z’Returns True if result has data.

        Returns:
            bool: Returns `True` if result has data.

        .. versionadded:: 8.0.12
        rþ  ró   s    r(   Úhas_datazSqlResult.has_dataz  s   € ð �~‰~Ðr.   Nr÷   r‡  )ru   rv   rw   r‰  rÓ  r  r  r+   r.   r(   r  r  _  s   „ ñó"ó
ôr.   r  c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )Ú	DocResultzªAllows traversing the DbDoc objects returned by a Collection.find
    operation.

    Args:
        connection (mysqlx.connection.Connection): The Connection object.
    c                óV   •— t         ‰| �  |«      }|€yt        t        |d   «      «      S )z™Read item.

        Args:
            dumping (bool): `True` for dumping.

        Returns:
            :class:`mysqlx.DbDoc`: A `DbDoc` object.
        Nr   )rÎ  ró  r   r   )rä   rñ  rò  rà   s      €r(   ró  zDocResult._read_item�  s1   ø€ ô ‰gÑ  Ó)ˆØˆ;ØÜÔ& s¨1¡vÓ.Ó/Ð/r.   )rñ  rÇ   rÄ   r   )ru   rv   rw   r‰  ró  rÛ  rÜ  s   @r(   r  r  …  s   ø„ ñ÷0ñ 0r.   r  )r%   r   r&   ÚbytesrÄ   r   )r&   r  rÄ   r  )r&   r  rÄ   Úfloat)r&   r  rÄ   zTuple[int, bytes])r&   r  rÄ   r?   )r&   r  rÄ   zList[bytes])r&   r  rÄ   zdecimal.Decimal)r&   r  rÄ   r   )r&   r  rÄ   r   )9r‰  Ú
__future__r   r\   r2   r!   r   r   Útypingr   r   r   r	   r
   r   r   r   Úcharsetsr   Údbdocr   Úhelpersr   r   Útypesr   r   r)   r-   r4   r8   rI   rN   rP   rU   rc   rl   rq   rs   r   r   rÛ   rû   r  r  r  r  r  r  r   r‹  r¡  rÌ  rÞ  r  r  r  r+   r.   r(   ú<module>r     sN  ðñ: ,å "ã Û Û 
ç (ß N× NÓ Nå *Ý ß 2ß -óóó
+ó
+ó
(ó,óó ó*!3óHHó*÷Bñ ÷a
ñ a
÷Hñ ÷8$ñ $ôN�%ô ô˜+ô ô�kô ô˜ô ô�{ô ô�{ô ô�{ô ÷eñ e÷P+,ñ +,÷\E$ñ E$ôP0#ˆZô 0#ôfz&�jô z&ôz�ô ô.#�	ô #ôL0�õ 0r.   