§
    öÛgÇ"  ã            	       ó¾  — d dl Z d dlZd dlZddlmZ ddlmZ  ej        d¦  «        j         ej        d¦  «        j        dœd„Z	d	 e	d
d¦  «        fd	 e	d
dd¦  «        fdd	 e	d
dd¦  «        fd	 e	d
d¦  «        ffZ
 G d„ de j        ¦  «        Zedk    rEd dlmZ  ed¦  «        Zej                              e¦   «         ¦  «          e j        e¦  «         dS dS )é    Né   )Ú	optimized)Ú	interlaceú!Hú!L)ÚpackHÚpackLc                 óx   ‡—  | t          |¦  «        ¦  «        d                     ˆfd„|D ¦   «         ¦  «        z   S )Nó    c              3   óV   •K  — | ]#}|� ‰t          |¦  «        ¦  «        |z   ndV — Œ$d S )Nó   ÿÿÿÿ)Úlen)Ú.0Úxr	   s     €úT/granary/edev/quantum/lib/python3.11/site-packages/postgresql/test/test_optimized.pyú	<genexpr>zpack_tuple.<locals>.<genexpr>   sT   øè è € ð %ð %àð �}€%€%�ˆA‰Œ�-„-�!ÑÐÐ*=ð%ð %ð %ð %ð %ð %r   )r   Újoin)r   r	   Údatas    ` r   Ú
pack_tupler   
   sX   ø€ ð 	ˆ�c�$‰iŒiÑÔ˜3Ÿ8š8ð %ð %ð %ð %àð%ñ %ô %ñ ô ñ 	ð r   ó   Dó   fooó   bar)ó   Ns   feec                   óJ   — 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S )Útest_optimizedc                 óP  — t           j        }|                      t          |g ¦  «         |                       |d¦  «        g ¦  «         |                       |t
          ¦  «        ddg¦  «         |                      t          |d¦  «         |                      t          |d¦  «         d S )N© )r   r   )r   Nr   ))r   s   ÿÿÿþfoo))r   s      foo)r   Úconsume_tuple_messagesÚassertRaisesÚ	TypeErrorÚassertEqualÚtuplemessagesÚ
ValueError)ÚselfÚctms     r   Útest_consume_tuple_messagesz*test_optimized.test_consume_tuple_messages   s©   € ÝÔ(€#à×Ò•I˜s BÑ'Ô'Ð'Ø×Ò�3�3�r‘7”7˜BÑÔÐà×Ò�3�3•}Ñ%Ô%ØØð(ñ ô ð ð ×Ò•J Ð%FÑGÔGÐGØ×Ò•J Ð%FÑGÔGÐGÐGÐGr   c                 ó,  — t           j        }|                      t          |d¦  «         |                      t          |d¦  «         |                      t          |d¦  «         |                      t          |d¦  «         t          j        dd¦  «        }|                      t          ||¦  «         t          j        ddd¦  «        d	z   t          j        d
d¦  «        z   }|                      t          ||¦  «         t          j        ddd¦  «        d	z   t          j        d
d¦  «        z   }|                      t          ||¦  «         t          j        ddd¦  «        d	z   }|                      t          ||¦  «          G d„ dt          ¦  «        }t          j        dd¦  «        } ||¦  «        }|                      t          t          |d¦  «         |                      t          t          |dd¦  «         |                      t          |¦  «        d¦  «         d S )NÚ	stringzoré{   r   ó   0r   r   z!HLé
   s
   0000000000r   l   þÿ é   é   é   c                   ó   — e Zd Zd„ ZdS )ú8test_optimized.test_parse_tuple_message.<locals>.faketupc                 óJ   — t                                | d¦  «        }||_        |S )Nr   )ÚtupleÚ__new__Úfoo)ÚsubtypeÚgeezeÚrs      r   r3   z@test_optimized.test_parse_tuple_message.<locals>.faketup.__new__?   s!   € Ý�Š�g˜rÑ"Ô"€AØ€A„EØ€Hr   N)Ú__name__Ú
__module__Ú__qualname__r3   r   r   r   Úfaketupr0   >   s#   € € € € € ðð ð ð ð r   r;   r   r4   Úbar)r   Úparse_tuple_messager   r    r#   ÚstructÚpackr2   ÚAttributeErrorÚgetattrÚsetattrr!   r   )	r$   ÚptmÚnotenoughdataÚ
wraparoundÚoneatt_notenoughÚtoomuchdatar;   Úzerodatar7   s	            r   Útest_parse_tuple_messagez'test_optimized.test_parse_tuple_message+   sê  € ÝÔ%€#Ø×Ò•I˜s KÑ0Ô0Ð0Ø×Ò•I˜s CÑ(Ô(Ð(Ø×Ò•J  SÑ)Ô)Ð)Ø×Ò•J  TÑ*Ô*Ð*å”+˜d AÑ&Ô&€-Ø×Ò•J  ]Ñ3Ô3Ð3åŒ{˜5 ! RÑ(Ô(¨IÑ6½¼ÀTÈ:Ñ9VÔ9VÑV€*Ø×Ò•J  ZÑ0Ô0Ð0å”[ ¨¨2Ñ.Ô.°)Ñ<½v¼{È4ÐQSÑ?TÔ?TÑTÐØ×Ò•J Ð%5Ñ6Ô6Ð6å”˜E 1 aÑ(Ô(¨IÑ6€+Ø×Ò•J  [Ñ1Ô1Ð1ðð ð ð ð •ñ ô ð õ
 Œ[˜˜qÑ!Ô!€(Ø	€cˆ(�m„m€!Ø×Ò•N¥G¨Q°Ñ6Ô6Ð6Ø×Ò•N¥G¨Q°°uÑ=Ô=Ð=Ø×Ò•3�q‘6”6˜1ÑÔÐÐÐr   c                 ó  — d„ }t           j        }|                      t          |dd|¦  «         |                      t          |dd|¦  «         |                      t          |dd|¦  «         |                      t          |dd|¦  «         d S )Nc                 ó   — d S ©Nr   )ÚprocsÚtupÚcols      r   Úfunpassz2test_optimized.test_process_tuple.<locals>.funpassJ   s   € Ø€4r   r4   r<   r   )r4   )r   Úprocess_tupler   r    )r$   rP   Úpts      r   Útest_process_tuplez!test_optimized.test_process_tupleI   s�   € ðð ð åÔ€"à×Ò•I˜r 5¨%°Ñ9Ô9Ð9Ø×Ò•I˜r 2 u¨gÑ6Ô6Ð6Ø×Ò•I˜r 5¨"¨gÑ6Ô6Ð6Ø×Ò•I˜r 2 x°Ñ9Ô9Ð9Ð9Ð9r   c                 ó:  — t           j        }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         |                       |d	¦  «        d
¦  «         |                       |d¦  «        d¦  «         |                      t          |d¦  «         |                      t          |d¦  «         |                      t          |d¦  «         d S )NrL   r   )NNó   ÿÿÿÿÿÿÿÿ)NNNs   ÿÿÿÿÿÿÿÿÿÿÿÿ)Nr   s   ÿÿÿÿ   foo)Nr   s   ÿÿÿÿ    )Nr   r   s   ÿÿÿÿ       barr-   )r-   )Ú )r   Úpack_tuple_datar!   r   r    )r$   Úpits     r   Útest_pack_tuple_dataz#test_optimized.test_pack_tuple_dataS   s  € ÝÔ!€#Ø×Ò�3�3�w‘<”<Ð!4Ñ5Ô5Ð5Ø×Ò�3�3�y‘>”>Ð#8Ñ9Ô9Ð9Ø×Ò�3�3�y‘>”>Ð#8Ñ9Ô9Ð9Ø×Ò�3�3�}Ñ%Ô%Ð'MÑNÔNÐNØ×Ò�3�3�z‘?”?Ð$GÑHÔHÐHØ×Ò�3�3Ð(Ñ)Ô)Ð+aÑbÔbÐbØ×Ò•I˜s AÑ&Ô&Ð&Ø×Ò•I˜s DÑ)Ô)Ð)Ø×Ò•I˜s EÑ*Ô*Ð*Ð*Ð*r   c                 ó`  — d}d}t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t
          j        dk    rY|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         nX|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         d S )Nó    ó    r-   Úlittleé   i €  iÿÿÿ)
r   Úswap_int2_unpackÚint2_unpackÚswap_int2_packÚ	int2_packÚsysÚ	byteorderr!   r   ÚOverflowError©r$   ÚdÚrdÚsÚnÚsdÚnds          r   Ú	test_int2ztest_optimized.test_int2_   s~  € Ø€!Ø€"ÝÔ  Ñ#Ô#€!ÝÔ˜AÑÔ€!ÝÔ Ñ"Ô"€"ÝÔ˜1ÑÔ€"Ý„]�hÒÐØ×Ò�A�qÑÔÐØ×Ò�C˜ÑÔÐØ×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐÐà×Ò�A�qÑÔÐØ×Ò�C˜ÑÔÐØ×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐØ×Ò•M¥9Ô#;¸UÑCÔCÐCØ×Ò•M¥9Ô#6¸Ñ>Ô>Ð>Ø×Ò•M¥9Ô#;¸ZÑHÔHÐHØ×Ò•M¥9Ô#6¸
ÑCÔCÐCÐCÐCr   c                 ó`  — d}d}t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t
          j        dk    rY|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         nX|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         d S )Nó      ó      r-   r]   é   l        lýÿÿÿ    )
r   Úswap_int4_unpackÚint4_unpackÚswap_int4_packÚ	int4_packrc   rd   r!   r   re   rf   s          r   Ú	test_int4ztest_optimized.test_int4u   s~  € Ø€!Ø€"ÝÔ  Ñ#Ô#€!ÝÔ˜AÑÔ€!ÝÔ Ñ"Ô"€"ÝÔ˜1ÑÔ€"Ý„]�hÒÐØ×Ò�A�qÑÔÐØ×Ò�H˜aÑ Ô Ð Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐÐà×Ò�A�qÑÔÐØ×Ò�H˜aÑ Ô Ð Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐØ×Ò•M¥9Ô#;¸UÑCÔCÐCØ×Ò•M¥9Ô#6¸Ñ>Ô>Ð>Ø×Ò•M¥9Ô#;¸ZÑHÔHÐHØ×Ò•M¥9Ô#6¸
ÑCÔCÐCÐCÐCr   c                 óè  — d}d}t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t
          j        dk    rY|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         nX|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         |                      t          j        d¦  «        d¦  «         |                      t          j        d¦  «        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d	¦  «         |                      t          t           j        d	¦  «         d
}d}t          j        |¦  «        }	t          j        |¦  «        }
t          j        |¦  «        }t          j        |¦  «        }|                      t          j        |	¦  «        |¦  «         |                      t          j        |
¦  «        |¦  «         |                      t          j        |¦  «        |¦  «         |                      t          j        |¦  «        |¦  «         d S )Nó          ó          r-   r]   ì          éÿÿÿÿrU   l            lûÿÿÿ        l   ÿÿÿÿ lûÿÿÿ         )
r   Úswap_int8_unpackÚint8_unpackÚswap_int8_packÚ	int8_packrc   rd   r!   r   re   )r$   rg   rh   ri   rj   rk   rl   Úint8_maxÚint8_minÚswap_maxÚmaxÚswap_minÚmins                r   Ú	test_int8ztest_optimized.test_int8‹   s’  € Ø)€!Ø*€"ÝÔ  Ñ#Ô#€!ÝÔ˜AÑÔ€!ÝÔ Ñ"Ô"€"ÝÔ˜1ÑÔ€"Ý„]�hÒÐØ×Ò�C˜ÑÔÐØ×ÒÐ% qÑ)Ô)Ð)Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐÐà×Ò�C˜ÑÔÐØ×ÒÐ% qÑ)Ô)Ð)Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐØ×Ò•9Ô+¨BÑ/Ô/Ð1FÑGÔGÐGØ×Ò•9Ô& rÑ*Ô*Ð,AÑBÔBÐBØ×Ò•M¥9Ô#;¸UÑCÔCÐCØ×Ò•M¥9Ô#6¸Ñ>Ô>Ð>Ø×Ò•M¥9Ô#;¸ZÑHÔHÐHØ×Ò•M¥9Ô#6¸
ÑCÔCÐCà€(Ø€(ÝÔ% hÑ/Ô/€(ÝÔ˜HÑ%Ô%€#ÝÔ% hÑ/Ô/€(ÝÔ˜HÑ%Ô%€#Ø×Ò•9Ô-¨hÑ7Ô7¸ÑBÔBÐBØ×Ò•9Ô(¨Ñ-Ô-¨xÑ8Ô8Ð8Ø×Ò•9Ô-¨hÑ7Ô7¸ÑBÔBÐBØ×Ò•9Ô(¨Ñ-Ô-¨xÑ8Ô8Ð8Ð8Ð8r   c                 ó   — d}d}t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t
          j        dk    rY|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         nX|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          j        d¦  «        d	¦  «         |                      t          j        d¦  «        d	¦  «         d S )
Nr[   r\   r-   r]   r^   r{   i   iÿÿ  s   ÿÿ)
r   Úswap_uint2_unpackÚuint2_unpackÚswap_uint2_packÚ
uint2_packrc   rd   r!   r   re   rf   s          r   Ú
test_uint2ztest_optimized.test_uint2®   sÀ  € Ø€!Ø€"ÝÔ! !Ñ$Ô$€!ÝÔ˜QÑÔ€!ÝÔ  Ñ#Ô#€"ÝÔ˜AÑÔ€"Ý„]�hÒÐØ×Ò�A�qÑÔÐØ×Ò�C˜ÑÔÐØ×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐÐà×Ò�A�qÑÔÐØ×Ò�C˜ÑÔÐØ×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐØ×Ò•M¥9Ô#<¸bÑAÔAÐAØ×Ò•M¥9Ô#7¸Ñ<Ô<Ð<Ø×Ò•M¥9Ô#<¸eÑDÔDÐDØ×Ò•M¥9Ô#7¸Ñ?Ô?Ð?Ø×Ò•9Ô'¨Ñ0Ô0°+Ñ>Ô>Ð>Ø×Ò•9Ô,¨WÑ5Ô5°{ÑCÔCÐCÐCÐCr   c                 ó   — d}d}t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t
          j        dk    rY|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         nX|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          j        d¦  «        d	¦  «         |                      t          j        d¦  «        d	¦  «         d S )
Nro   rp   r-   r]   rq   r{   l        l   ÿÿ r   )
r   Úswap_uint4_unpackÚuint4_unpackÚswap_uint4_packÚ
uint4_packrc   rd   r!   r   re   rf   s          r   Ú
test_uint4ztest_optimized.test_uint4Æ   sÂ  € Ø€!Ø€"ÝÔ! !Ñ$Ô$€!ÝÔ˜QÑÔ€!ÝÔ  Ñ#Ô#€"ÝÔ˜AÑÔ€"Ý„]�hÒÐØ×Ò�A�qÑÔÐØ×Ò�H˜aÑ Ô Ð Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐÐà×Ò�A�qÑÔÐØ×Ò�H˜aÑ Ô Ð Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐØ×Ò•M¥9Ô#<¸bÑAÔAÐAØ×Ò•M¥9Ô#7¸Ñ<Ô<Ð<Ø×Ò•M¥9Ô#<¸eÑDÔDÐDØ×Ò•M¥9Ô#7¸Ñ?Ô?Ð?Ø×Ò•9Ô'¨Ñ0Ô0Ð2EÑFÔFÐFØ×Ò•9Ô,¨WÑ5Ô5Ð7JÑKÔKÐKÐKÐKr   c                 ó   — d}d}t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t
          j        dk    rY|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         nX|                      d|¦  «         |                      d|¦  «         |                      ||¦  «         |                      ||¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          t           j        d¦  «         |                      t          j        d¦  «        d	¦  «         |                      t          j        d¦  «        d	¦  «         d S )
Nrx   ry   r-   r]   rz   r{   l            l   ÿÿÿÿ rU   )
r   Úswap_uint8_unpackÚuint8_unpackÚswap_uint8_packÚ
uint8_packrc   rd   r!   r   re   rf   s          r   Ú
test_uint8ztest_optimized.test_uint8Þ   sÄ  € Ø)€!Ø*€"ÝÔ! !Ñ$Ô$€!ÝÔ˜QÑÔ€!ÝÔ  Ñ#Ô#€"ÝÔ˜AÑÔ€"Ý„]�hÒÐØ×Ò�C˜ÑÔÐØ×ÒÐ% qÑ)Ô)Ð)Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐÐà×Ò�C˜ÑÔÐØ×ÒÐ% qÑ)Ô)Ð)Ø×Ò�A�rÑÔÐØ×Ò�B˜ÑÔÐØ×Ò•M¥9Ô#<¸bÑAÔAÐAØ×Ò•M¥9Ô#7¸Ñ<Ô<Ð<Ø×Ò•M¥9Ô#<¸eÑDÔDÐDØ×Ò•M¥9Ô#7¸Ñ?Ô?Ð?Ø×Ò•9Ô'¨	Ñ2Ô2Ð4IÑJÔJÐJØ×Ò•9Ô,¨YÑ7Ô7Ð9NÑOÔOÐOÐOÐOr   N)r8   r9   r:   r&   rI   rS   rY   rm   rv   r†   rŒ   r’   r˜   r   r   r   r   r      s¿   € € € € € ðHð Hð Hðð ð ð<:ð :ð :ð
+ð 
+ð 
+ðDð Dð Dð,Dð Dð Dð,!9ð !9ð !9ðFDð Dð Dð0Lð Lð Lð0Pð Pð Pð Pð Pr   r   Ú__main__)Ú
ModuleTypeÚthis)Úunittestr>   rc   Úportr   Úpython.itertoolsr   ÚStructr?   r   r"   ÚTestCaser   r8   Útypesrš   r›   Ú__dict__ÚupdateÚglobalsÚmainr   r   r   ú<module>r¦      s�  ðð €€€Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (ð 
ˆŒ�tÑ	Ô	Ô	!Ø	ˆŒ�tÑ	Ô	Ô	!ðð ð ð ð ð ˆ
ˆ
�6˜6Ñ"Ô"Ð#Øˆ
ˆ
�6˜4 Ñ(Ô(Ð)ØØˆ
ˆ
�6˜4 Ñ(Ô(Ð)Øˆ
ˆ
�6˜6Ñ"Ô"Ð#ð€ðYPð YPð YPð YPð YP�XÔ&ñ YPô YPð YPðv ˆzÒÐØÐÐÐÐÐØˆ
�6ÑÔ€Ø„×Ò�g�g‘i”iÑ Ô Ð Ø€„ˆtÑÔÐÐÐð	 Ðr   