§
    eŠtjˆI  ã                   óh  — d dl mZ d dlZddlmZ ddlmZ ddlmZ ddlm	Z	 dd	l
mZ dd
l
mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ  G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        ZdZdS )é    )ÚDecimalNé   )Útestingé   )Úfixtures)Úeq_)Úrequirements)ÚColumn)ÚTableé   )ÚDouble)ÚFloat)ÚIdentity)ÚInteger)Úliteral)Úliteral_column)ÚNumeric)Úselect)ÚString)ÚLargeBinary)ÚUUID)ÚUuidc                   ób   — e Zd ZdZdZdZed„ ¦   «         Zd„ Zd„ Z	d„ Z
ej        d„ ¦   «         Zd	S )
ÚLastrowidTestÚeachT)Úimplements_get_lastrowidÚautoincrement_insertc                 ó  — t          d|t          dt          dd¬¦  «        t          dt          d¦  «        ¦  «        d¬¦  «         t          d	|t          dt          dd¬
¦  «        t          dt          d¦  «        ¦  «        d¬¦  «         d S )NÚ
autoinc_pkÚidT©Úprimary_keyÚtest_needs_autoincrementÚdataé2   F©Úimplicit_returningÚ	manual_pk©r"   Úautoincrement©r   r
   r   r   ©ÚclsÚmetadatas     úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_insert.pyÚdefine_tableszLastrowidTest.define_tables'   s¥   € åØØÝØ•g¨4È$ðñ ô õ �6�6 "™:œ:Ñ&Ô&Ø$ð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�¨dÀ%ÐHÑHÔHÝ�6�6 "™:œ:Ñ&Ô&Ø$ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
ó    c                 ó°   — |                      |                     ¦   «         ¦  «                             ¦   «         }t          ||j        j        df¦  «         d S ©Nú	some data©Úexecuter   Úfirstr   ÚdialectÚdefault_sequence_base©ÚselfÚtableÚconnÚrows       r/   Ú_assert_round_tripz LastrowidTest._assert_round_trip;   óV   € Ø�lŠl˜5Ÿ<š<™>œ>Ñ*Ô*×0Ò0Ñ2Ô2ˆÝØà”Ô2Øðñ	
ô 	
ð 	
ð 	
ð 	
r1   c                 óÆ   — |                      | j        j                             ¦   «         t	          d¬¦  «        ¦  «         |                      | j        j        |¦  «         d S ©Nr4   ©r$   ©r6   Útablesr   ÚinsertÚdictr?   ©r;   Ú
connections     r/   Útest_autoincrement_on_insertz*LastrowidTest.test_autoincrement_on_insertE   ó^   € Ø×ÒØŒKÔ"×)Ò)Ñ+Ô+­T°{Ð-CÑ-CÔ-Cñ	
ô 	
ð 	
ð 	×Ò ¤Ô 6¸
ÑCÔCÐCÐCÐCr1   c                 ó  — |                      | j        j                             ¦   «         t	          d¬¦  «        ¦  «        }|                     t          | j        j        j        j        ¦  «        ¦  «        }t          |j
        |f¦  «         d S rB   ©r6   rE   r   rF   rG   Úscalarr   Úcr    r   Úinserted_primary_key©r;   rI   ÚrÚpks       r/   Útest_last_inserted_idz#LastrowidTest.test_last_inserted_idK   ó{   € Ø×ÒØŒKÔ"×)Ò)Ñ+Ô+­T°{Ð-CÑ-CÔ-Cñ
ô 
ˆð ×Ò�v d¤kÔ&<Ô&>Ô&AÑBÔBÑCÔCˆÝˆAÔ" R EÑ*Ô*Ð*Ð*Ð*r1   c                 ó   — |                      | j        j                             ¦   «         t	          d¬¦  «        ¦  «        }|j        }|                     t          | j        j        j        j	        ¦  «        ¦  «        }t          ||¦  «         d S rB   )r6   rE   r   rF   rG   Ú	lastrowidrN   r   rO   r    r   )r;   rI   rR   rW   rS   s        r/   Útest_native_lastrowid_autoincz+LastrowidTest.test_native_lastrowid_autoincR   s}   € à×ÒØŒKÔ"×)Ò)Ñ+Ô+­T°{Ð-CÑ-CÔ-Cñ
ô 
ˆð ”Kˆ	Ø×Ò�v d¤kÔ&<Ô&>Ô&AÑBÔBÑCÔCˆÝˆI�rÑÔÐÐÐr1   N)Ú__name__Ú
__module__Ú__qualname__Úrun_deletesÚ__backend__Ú__requires__Úclassmethodr0   r?   rJ   rT   r	   Údbapi_lastrowidrX   © r1   r/   r   r       s‹   € € € € € Ø€Kà€KàE€Làð
ð 
ñ „[ð
ð&
ð 
ð 
ðDð Dð Dð+ð +ð +ð Ô!ðð ñ "Ô!ðð ð r1   r   c                   ó–  — e Zd ZdZdZed„ ¦   «         Z ej        dddg¦  «         ej        dddg¦  «        d	„ ¦   «         ¦   «         Z	e
j        d
„ ¦   «         Ze
j        d„ ¦   «         Ze
j        d„ ¦   «         Ze
j        d„ ¦   «         Ze
j        d„ ¦   «         Ze
j        d„ ¦   «         Ze
j        d„ ¦   «         Ze
j        d„ ¦   «         ZdS )ÚInsertBehaviorTestr   Tc                 óÂ  — t          d|t          dt          dd¬¦  «        t          dt          d¦  «        ¦  «        ¦  «         t          d|t          dt          dd¬	¦  «        t          dt          d¦  «        ¦  «        ¦  «         t          d
|t          dt          dd¬¦  «        t          dt          d¦  «        ¦  «        d¬¦  «         t          d|t          dt          dd¬¦  «        t          dt          d¦  «        ¦  «        t          dt          d¬¦  «        t          dt          t	          dt          ¬¦  «        t          d¦  «        z   ¬¦  «        ¦  «         d S )Nr   r    Tr!   r$   r%   r(   Fr)   Úno_implicit_returningr&   Úincludes_defaultsÚxé   )ÚdefaultÚyÚ2)Útype_r   )r   r
   r   r   r   r   r,   s     r/   r0   z InsertBehaviorTest.define_tables`   sv  € åØØÝØ•g¨4È$ðñ ô õ �6�6 "™:œ:Ñ&Ô&ñ	
ô 	
ð 	
õ 	ØØÝ�4�¨dÀ%ÐHÑHÔHÝ�6�6 "™:œ:Ñ&Ô&ñ		
ô 	
ð 	
õ 	Ø#ØÝØ•g¨4È$ðñ ô õ �6�6 "™:œ:Ñ&Ô&Ø$ð	
ñ 	
ô 	
ð 	
õ 	ØØÝØ•g¨4È$ðñ ô õ �6�6 "™:œ:Ñ&Ô&Ý�3�¨Ð+Ñ+Ô+ÝØÝÝ& sµ'Ð:Ñ:Ô:½WÀQ¹Z¼ZÑGðñ ô ñ	
ô 	
ð 	
ð 	
ð 	
r1   ÚstyleÚplainÚreturn_defaultsÚexecutemanyFc                 óê   — | j         j        }|                     ¦   «         }|j        r|                     ¦   «         }|rddiddiddiddiddig}nddi}|                     ||¦  «        }|j        rJ ‚dS )z-test another INSERT issue found during #10453r$   Úd1Úd2Úd3Úd4Úd5N)rE   re   rF   ro   r6   Úreturns_rows)r;   rI   rm   rp   r<   Ústmtr$   rR   s           r/   Ú(test_no_results_for_non_returning_insertz;InsertBehaviorTest.test_no_results_for_non_returning_insertˆ   sŸ   € ð ”Ô1ˆà�|Š|‰~Œ~ˆØÔ ð 	*Ø×'Ò'Ñ)Ô)ˆDàð 		"à˜�Ø˜�Ø˜�Ø˜�Ø˜�ðˆDˆDð ˜D�>ˆDà×Ò˜t TÑ*Ô*ˆØ”>Ð!Ð!Ð!Ð!Ð!r1   c                 óú   — |                      | j        j                             ¦   «         t	          d¬¦  «        ¦  «        }|j        sJ ‚|j        rJ ‚|j        sJ ‚|j        r| 	                    ¦   «         �J ‚d S d S rB   )
r6   rE   r   rF   rG   Ú_soft_closedÚclosedÚ	is_insertrw   Úfetchone©r;   rI   rR   s      r/   Útest_autoclose_on_insertz+InsertBehaviorTest.test_autoclose_on_insert£   sŠ   € à×ÒØŒKÔ"×)Ò)Ñ+Ô+­T°{Ð-CÑ-CÔ-Cñ
ô 
ˆð Œ~ÐÐˆ~Ø”8ÐÐˆ|ØŒ{ÐÐˆ{ð ”>Ð9 Q§Z¢Z¡\¤\Ð%9Ð%9Ð9Ð9Ð9Ð%9Ð%9r1   c                 ó|  — |                      | j        j                             ¦   «                              ¦   «         t          d¬¦  «        ¦  «        }|j        sJ ‚|j        rJ ‚|j        sJ ‚|j	        sJ ‚t          |                     ¦   «         d ¦  «         t          |                     ¦   «         dg¦  «         d S )Nr4   rC   r    )r6   rE   r   rF   ro   rG   r{   r|   r}   rw   r   r~   Úkeysr   s      r/   Ú+test_autoclose_on_insert_implicit_returningz>InsertBehaviorTest.test_autoclose_on_insert_implicit_returning³   s»   € à×Òð ŒKÔ"×)Ò)Ñ+Ô+×;Ò;Ñ=Ô=Ý�kÐ"Ñ"Ô"ñ
ô 
ˆð Œ~ÐÐˆ~Ø”8ÐÐˆ|ØŒ{ÐÐˆ{ð Œ~ÐÐˆ~õ 	ˆA�JŠJ‰LŒL˜$ÑÔÐõ 	ˆA�FŠF‰HŒH�t�fÑÔÐÐÐr1   c                 ó¢  — |                      | j        j                             ¦   «         ¦  «        }|j        sJ ‚|j        rJ ‚|                      | j        j                             ¦   «                              | j        j        j        j	        d k    ¦  «        ¦  «        }t          t          |                     ¦   «         ¦  «        d¦  «         d S )Nr   ©r6   rE   r   rF   r{   r|   r   ÚwhererO   r    r   ÚlenÚallr   s      r/   Útest_empty_insertz$InsertBehaviorTest.test_empty_insertÏ   s²   € à×Ò˜tœ{Ô5×<Ò<Ñ>Ô>Ñ?Ô?ˆØŒ~ÐÐˆ~Ø”8ÐÐˆ|à×ÒØŒKÔ"×)Ò)Ñ+Ô+×1Ò1Ø”Ô&Ô(Ô+¨tÒ3ñô ñ
ô 
ˆõ
 	�C�—’‘”‰LŒL˜!ÑÔÐÐÐr1   c                 óª  — |                      | j        j                             ¦   «         i i i g¦  «        }|j        sJ ‚|j        rJ ‚|                      | j        j                             ¦   «                              | j        j        j        j	        d k    ¦  «        ¦  «        }t          t          |                     ¦   «         ¦  «        d¦  «         d S )Nr   r…   r   s      r/   Útest_empty_insert_multiplez-InsertBehaviorTest.test_empty_insert_multipleÜ   sº   € à×Ò˜tœ{Ô5×<Ò<Ñ>Ô>ÀÀRÈÀÑMÔMˆØŒ~ÐÐˆ~Ø”8ÐÐˆ|à×ÒØŒKÔ"×)Ò)Ñ+Ô+×1Ò1Ø”Ô&Ô(Ô+¨tÒ3ñô ñ
ô 
ˆõ 	�C�—’‘”‰LŒL˜!ÑÔÐÐÐr1   c                 óò  — | j         j        }| j         j        }|                     |                     ¦   «         t          dd¬¦  «        t          dd¬¦  «        t          dd¬¦  «        g¦  «         |                     |                     ¦   «                              dt          |j        j	        ¦  «         
                    |j        j	                             ddg¦  «        ¦  «        ¦  «        ¦  «        }t          |j        d	¦  «         |                     t          |j        j	        ¦  «                             |j        j	        ¦  «        ¦  «        }t          |                     ¦   «         d
dg¦  «         d S )Nr   Údata1©r    r$   r   Údata2r   Údata3rC   ©N©r�   ©r�   )rE   r(   r   r6   rF   rG   Úfrom_selectr   rO   r$   r†   Úin_r   rP   Úorder_byÚfetchall©r;   rI   Ú	src_tableÚ
dest_tableÚresults        r/   Útest_insert_from_select_autoincz2InsertBehaviorTest.test_insert_from_select_autoincê   sZ  € à”KÔ)ˆ	Ø”[Ô+ˆ
Ø×ÒØ×ÒÑÔå˜ Ð(Ñ(Ô(Ý˜ Ð(Ñ(Ô(Ý˜ Ð(Ñ(Ô(ðñ	
ô 	
ð 	
ð ×#Ò#Ø×ÒÑÔ×+Ò+ØÝ�y”{Ô'Ñ(Ô(×.Ò.Ø”KÔ$×(Ò(¨'°7Ð);Ñ<Ô<ñô ñô ñ
ô 
ˆõ 	ˆFÔ'¨Ñ1Ô1Ð1à×#Ò#Ý�:”<Ô$Ñ%Ô%×.Ò.¨z¬|Ô/@ÑAÔAñ
ô 
ˆõ 	ˆF�OŠOÑÔ 
¨JÐ7Ñ8Ô8Ð8Ð8Ð8r1   c                 ó>  — | j         j        }| j         j        }|                     |                     ¦   «                              dt          |j        j        ¦  «         	                    |j        j         
                    ddg¦  «        ¦  «        ¦  «        ¦  «        }t          |j        d¦  «         |                     t          |j        j        ¦  «                             |j        j        ¦  «        ¦  «        }t          |                     ¦   «         g ¦  «         d S )NrC   r�   r�   r‘   )rE   r(   r   r6   rF   r”   r   rO   r$   r†   r•   r   rP   r–   r—   r˜   s        r/   Ú'test_insert_from_select_autoinc_no_rowsz:InsertBehaviorTest.test_insert_from_select_autoinc_no_rows  s÷   € à”KÔ)ˆ	Ø”[Ô+ˆ
à×#Ò#Ø×ÒÑÔ×+Ò+ØÝ�y”{Ô'Ñ(Ô(×.Ò.Ø”KÔ$×(Ò(¨'°7Ð);Ñ<Ô<ñô ñô ñ
ô 
ˆõ 	ˆFÔ'¨Ñ1Ô1Ð1à×#Ò#Ý�:”<Ô$Ñ%Ô%×.Ò.¨z¬|Ô/@ÑAÔAñ
ô 
ˆõ 	ˆF�OŠOÑÔ˜rÑ"Ô"Ð"Ð"Ð"r1   c                 óì  — | j         j        }|                     |                     ¦   «         t	          dd¬¦  «        t	          dd¬¦  «        t	          dd¬¦  «        g¦  «         |                     |                     ¦   «                              ¦   «                              dt          |j        j	        dz   |j        j
        ¦  «                             |j        j
                             ddg¦  «        ¦  «        ¦  «        ¦  «         t          |                     t          |j        j
        ¦  «                             |j        j
        ¦  «        ¦  «                             ¦   «         g d	¢¦  «         d S )
Nr   r�   rŽ   r   r�   r   r�   rh   ))r�   r’   r’   r“   r“   )rE   r(   r6   rF   rG   Úinliner”   r   rO   r    r$   r†   r•   r   r–   r—   ©r;   rI   r<   s      r/   Útest_insert_from_selectz*InsertBehaviorTest.test_insert_from_select  sK  € à”Ô%ˆØ×ÒØ�LŠL‰NŒNå˜ Ð(Ñ(Ô(Ý˜ Ð(Ñ(Ô(Ý˜ Ð(Ñ(Ô(ðñ	
ô 	
ð 	
ð 	×ÒØ�LŠL‰NŒNßŠV‰XŒXßŠ[ØÝ�u”w”z A‘~ u¤w¤|Ñ4Ô4×:Ò:Ø”G”L×$Ò$ g¨wÐ%7Ñ8Ô8ñô ñô ñ		
ô 		
ð 		
õ 	Ø×ÒÝ�u”w”|Ñ$Ô$×-Ò-¨e¬g¬lÑ;Ô;ñô çŠh‰jŒjØHÐHÐHñ		
ô 	
ð 	
ð 	
ð 	
r1   c                 óî  — | j         j        }|                     |                     ¦   «         t	          dd¬¦  «        t	          dd¬¦  «        t	          dd¬¦  «        g¦  «         |                     |                     ¦   «                              ¦   «                              dt          |j        j	        dz   |j        j
        ¦  «                             |j        j
                             ddg¦  «        ¦  «        ¦  «        ¦  «         t          |                     t          |¦  «                             |j        j
        |j        j	        ¦  «        ¦  «                             ¦   «         g d	¢¦  «         d S )
Nr   r�   rŽ   r   r�   r   r�   rh   ))r   r�   rh   é   )r   r�   rh   r¤   )é   r�   rh   r¤   )r   r�   rh   r¤   )é   r�   rh   r¤   )rE   rf   r6   rF   rG   r    r”   r   rO   r    r$   r†   r•   r   r–   r—   r¡   s      r/   Ú%test_insert_from_select_with_defaultsz8InsertBehaviorTest.test_insert_from_select_with_defaults:  sQ  € à”Ô-ˆØ×ÒØ�LŠL‰NŒNå˜ Ð(Ñ(Ô(Ý˜ Ð(Ñ(Ô(Ý˜ Ð(Ñ(Ô(ðñ	
ô 	
ð 	
ð 	×ÒØ�LŠL‰NŒNßŠV‰XŒXßŠ[ØÝ�u”w”z A‘~ u¤w¤|Ñ4Ô4×:Ò:Ø”G”L×$Ò$ g¨wÐ%7Ñ8Ô8ñô ñô ñ		
ô 		
ð 		
õ 	Ø×ÒÝ�u‘”×&Ò& u¤w¤|°U´W´ZÑ@Ô@ñô çŠh‰jŒjðð ð ñ		
ô 	
ð 	
ð 	
ð 	
r1   N)rY   rZ   r[   r\   r]   r_   r0   r   Ú	variationry   r	   r   r€   Úinsert_returningrƒ   Úempty_insertsr‰   Úempty_inserts_executemanyr‹   Úinsert_from_selectrœ   rž   r¢   r§   ra   r1   r/   rc   rc   \   s  € € € € € Ø€KØ€Kàð%
ð %
ñ „[ð%
ðN €WÔ�w Ð*;Ð <Ñ=Ô=Ø€WÔ�} t¨U mÑ4Ô4ð"ð "ñ 5Ô4ñ >Ô=ð"ð2 Ô&ð:ð :ñ 'Ô&ð:ð Ô"ðð ñ #Ô"ðð6 Ôð
ð 
ñ  Ôð
ð Ô+ðð ñ ,Ô+ðð Ô$ð9ð 9ñ %Ô$ð9ð8 Ô$ð#ð #ñ %Ô$ð#ð( Ô$ð
ð 
ñ %Ô$ð
ð: Ô$ð!
ð !
ñ %Ô$ð!
ð !
ð !
r1   rc   c                   óz  — e Zd ZdZdZdZd„ Zed„ ¦   «         Ze	j
        d„ ¦   «         Zd„ Zd„ Zd	„ Ze	j        d
„ ¦   «         Z ej         e¦   «         ddf ed¦  «        ddej        j        f e¦   «         ddf ed¦  «        ddej        j        f eddd¬¦  «        ddej        j        f eddd¬¦  «         ed¦  «        dfd¬¦  «         ej        dddg¦  «         ej        dddg¦  «        d„ ¦   «         ¦   «         ¦   «         Z ej        d ed¬¦  «         ej        ¦   «         fd edd¬¦  «         e ej        ¦   «         ¦  «        fd ed¬¦  «         ej        ¦   «         ej        j         fd edd¬¦  «         e ej        ¦   «         ¦  «        ej        j         fd e!¦   «          ej        ¦   «         ej        j         fd  e"¦   «         d!fd" e"¦   «         d#fd$d%¬&¦	  «	         ej        dddg¦  «         ej        dddg¦  «        ej        j#        d'„ ¦   «         ¦   «         ¦   «         ¦   «         Z$d(S ))ÚReturningTestr   )r©   r   Tc                 ó°   — |                      |                     ¦   «         ¦  «                             ¦   «         }t          ||j        j        df¦  «         d S r3   r5   r:   s       r/   r?   z ReturningTest._assert_round_tripd  r@   r1   c                 óŒ   — t          d|t          dt          dd¬¦  «        t          dt          d¦  «        ¦  «        ¦  «         d S )Nr   r    Tr!   r$   r%   r+   r,   s     r/   r0   zReturningTest.define_tablesn  sT   € åØØÝØ•g¨4È$ðñ ô õ �6�6 "™:œ:Ñ&Ô&ñ	
ô 	
ð 	
ð 	
ð 	
r1   c                 óp  — | j         j        }|                     |                     ¦   «                              |j        j        ¦  «        t          d¬¦  «        ¦  «        }|                     ¦   «         d         }| 	                    t          |j        j        ¦  «        ¦  «        }t          ||¦  «         d S ©Nr4   rC   r   ©rE   r   r6   rF   Ú	returningrO   r    rG   r7   rN   r   r   ©r;   rI   r<   rR   rS   Ú
fetched_pks         r/   Ú%test_explicit_returning_pk_autocommitz3ReturningTest.test_explicit_returning_pk_autocommity  s“   € à”Ô&ˆØ×ÒØ�LŠL‰NŒN×$Ò$ U¤W¤ZÑ0Ô0µ$¸KÐ2HÑ2HÔ2Hñ
ô 
ˆð �WŠW‰YŒY�qŒ\ˆØ×&Ò&¥v¨e¬g¬jÑ'9Ô'9Ñ:Ô:ˆ
ÝˆJ˜ÑÔÐÐÐr1   c                 óp  — | j         j        }|                     |                     ¦   «                              |j        j        ¦  «        t          d¬¦  «        ¦  «        }|                     ¦   «         d         }| 	                    t          |j        j        ¦  «        ¦  «        }t          ||¦  «         d S r²   r³   rµ   s         r/   Ú(test_explicit_returning_pk_no_autocommitz6ReturningTest.test_explicit_returning_pk_no_autocommitƒ  s“   € Ø”Ô&ˆØ×ÒØ�LŠL‰NŒN×$Ò$ U¤W¤ZÑ0Ô0µ$¸KÐ2HÑ2HÔ2Hñ
ô 
ˆð �WŠW‰YŒY�qŒ\ˆØ×&Ò&¥v¨e¬g¬jÑ'9Ô'9Ñ:Ô:ˆ
ÝˆJ˜ÑÔÐÐÐr1   c                 óÆ   — |                      | j        j                             ¦   «         t	          d¬¦  «        ¦  «         |                      | j        j        |¦  «         d S rB   rD   rH   s     r/   Ú/test_autoincrement_on_insert_implicit_returningz=ReturningTest.test_autoincrement_on_insert_implicit_returning�  rK   r1   c                 ó  — |                      | j        j                             ¦   «         t	          d¬¦  «        ¦  «        }|                     t          | j        j        j        j        ¦  «        ¦  «        }t          |j
        |f¦  «         d S rB   rM   rQ   s       r/   Ú(test_last_inserted_id_implicit_returningz6ReturningTest.test_last_inserted_id_implicit_returning“  rU   r1   c           	      ó®  — |                      | j        j                             ¦   «                              | j        j        j        j        ¦  «        ddiddiddiddiddig¦  «        }|                     ¦   «         }|                      t          | j        j        j        j        ¦  «        ¦  «        }t          ||                     ¦   «         ¦  «         d S )Nr$   rr   rs   rt   ru   rv   )
r6   rE   r   rF   r´   rO   r    rˆ   r   r   )r;   rI   rR   ÚrallÚpkss        r/   Útest_insertmanyvalues_returningz-ReturningTest.test_insertmanyvalues_returningš  sÆ   € à×ÒØŒKÔ"×)Ò)Ñ+Ô+×5Ò5Ø”Ô&Ô(Ô+ñô ð ˜�Ø˜�Ø˜�Ø˜�Ø˜�ðñ	
ô 
ˆð �uŠu‰wŒwˆà× Ò ¥¨¬Ô(>Ô(@Ô(CÑ!DÔ!DÑEÔEˆåˆD�#—'’'‘)”)ÑÔÐÐÐr1   gxXM|Z!@é5   g_ÎQ!@r¦   é   é   F)Ú	precisionÚscaleÚ	asdecimalz	8.5514716ztype_,value,do_rounding)ÚargnamesÚsort_by_parameter_orderÚmultiple_rowsc           
      óÔ  ‡— t          d|t          dt          t          ¦   «         d¬¦  «        t          d|¦  «        ¦  «        }|                     |¦  «         |                     |                     ¦   «                              |j        j	        |j        j
        t          |¦  «        ¬¦  «        |rˆfd„t          d¦  «        D ¦   «         nd‰i¦  «        }	|rt          d	d
¦  «        }
nt          d	d¦  «        }
|r{t          d„ |	D ¦   «         ˆfd„|
D ¦   «         ¦  «         t          d„ |                     t          |j        j
        ¦  «        ¦  «        D ¦   «         t!          ‰d¦  «        h¦  «         dS t          t#          |	¦  «        ˆfd„|
D ¦   «         ¦  «         t          t#          |                     t          |j        j
        ¦  «        ¦  «        ¦  «        ‰h¦  «         dS )zvtest #9701.

        this tests insertmanyvalues as well as decimal / floating point
        RETURNING types

        Úf_tr    T©r"   Úvalue©rÉ   c                 ó   •— g | ]}d ‰i‘ŒS ©rÎ   ra   ©Ú.0ÚirÎ   s     €r/   ú
<listcomp>z6ReturningTest.test_insert_w_floats.<locals>.<listcomp>ð  ó   ø€ Ð5Ð5Ð5 a�'˜5Ð!Ð5Ð5Ð5r1   é
   r   é   r   c                 ó8   — h | ]\  }}|t          |d ¦  «        f’ŒS ©rh   ©Úround)rÓ   Úid_Úval_s      r/   ú	<setcomp>z5ReturningTest.test_insert_w_floats.<locals>.<setcomp>  s)   € Ð?Ð?Ð?©9¨3°�#•u˜T 1‘~”~Ð&Ð?Ð?Ð?r1   c                 ó4   •— h | ]}|t          ‰d ¦  «        f’ŒS rÚ   rÛ   ©rÓ   rÝ   rÎ   s     €r/   rß   z5ReturningTest.test_insert_w_floats.<locals>.<setcomp>  s&   ø€ Ð;Ð;Ð;¨C�#•u˜U A‘”Ð'Ð;Ð;Ð;r1   c                 ó.   — h | ]}t          |d ¦  «        ’ŒS rÚ   rÛ   )rÓ   rÞ   s     r/   rß   z5ReturningTest.test_insert_w_floats.<locals>.<setcomp>
  s0   € ð ð ð àõ ˜$ ‘N”Nðð ð r1   rh   c                 ó   •— h | ]}|‰f’ŒS ra   ra   rá   s     €r/   rß   z5ReturningTest.test_insert_w_floats.<locals>.<setcomp>  s   ø€ Ð1Ð1Ð1 #�#�u�Ð1Ð1Ð1r1   N)r   r
   r   r   Úcreater6   rF   r´   rO   r    rÎ   ÚboolÚranger   Úscalarsr   rÜ   Úset)r;   rI   r.   rÉ   rl   rÎ   Údo_roundingrÊ   Útr›   Úi_ranges        `     r/   Útest_insert_w_floatsz"ReturningTest.test_insert_w_floats®  s!  ø€ õ^ ð ØÝ�4�¥(¡*¤*¸$Ð?Ñ?Ô?Ý�7˜EÑ"Ô"ñ
ô 
ˆð 	
�Š�ÑÔÐà×#Ò#Ø�HŠH‰JŒJ× Ò Ø””Ø””	Ý(,Ð-DÑ(EÔ(Eð !ñ ô ð !ð&Ð5Ð5Ð5Ð5­5°©9¬9Ð5Ñ5Ô5Ð5à˜uÐ%ñ
ô 
ˆð ð 	"Ý˜A˜r‘l”lˆGˆGå˜A˜q‘k”kˆGð ð 	ÝØ?Ð?¸Ð?Ñ?Ô?Ø;Ð;Ð;Ð;°7Ð;Ñ;Ô;ñô ð õ
 ðð à *× 2Ò 2µ6¸!¼#¼)Ñ3DÔ3DÑ EÔ Eðñ ô õ �u˜a‘”Ð!ñô ð ð ð õ Ý�F‘”Ø1Ð1Ð1Ð1¨Ð1Ñ1Ô1ñô ð õ
 Ý�J×&Ò&¥v¨a¬c¬iÑ'8Ô'8Ñ9Ô9Ñ:Ô:Ø�ñô ð ð ð r1   Únon_native_uuid)Únative_uuidÚnon_native_uuid_str)Úas_uuidrî   Úgeneric_native_uuidÚgeneric_native_uuid_strr   ÚLargeBinary1s   this is binaryÚLargeBinary2s   7çŸztype_,valueÚiaa)rÈ   rÝ   c           
      óÚ  ‡— t          d|t          dt          t          ¦   «         d¬¦  «        t          d|¦  «        ¦  «        }|                     |¦  «         |                     |                     ¦   «                              |j        j	        |j        j
        t          |¦  «        ¬¦  «        |rˆfd„t          d¦  «        D ¦   «         nd‰i¦  «        }|rt          d	d
¦  «        }	nt          d	d¦  «        }	t          t          |¦  «        ˆfd„|	D ¦   «         ¦  «         t          t          |                     t!          |j        j
        ¦  «        ¦  «        ¦  «        ‰h¦  «         dS )a  test #9739, #9808 (similar to #9701).

        this tests insertmanyvalues in conjunction with various datatypes.

        These tests are particularly for the asyncpg driver which needs
        most types to be explicitly cast for the new IMV format

        Úd_tr    TrÍ   rÎ   rÏ   c                 ó   •— g | ]}d ‰i‘ŒS rÑ   ra   rÒ   s     €r/   rÕ   z>ReturningTest.test_imv_returning_datatypes.<locals>.<listcomp>`  rÖ   r1   r×   r   rØ   r   c                 ó   •— h | ]}|‰f’ŒS ra   ra   rá   s     €r/   rß   z=ReturningTest.test_imv_returning_datatypes.<locals>.<setcomp>m  s   ø€ Ð-Ð-Ð-˜cˆc�5ˆ\Ð-Ð-Ð-r1   N)r   r
   r   r   rä   r6   rF   r´   rO   r    rÎ   rå   ræ   r   rè   rç   r   )
r;   rI   r.   rÉ   rl   rÎ   rÊ   rê   r›   rë   s
        `    r/   Útest_imv_returning_datatypesz*ReturningTest.test_imv_returning_datatypes  su  ø€ õj ØØÝ�4�¥(¡*¤*¸$Ð?Ñ?Ô?Ý�7˜EÑ"Ô"ñ	
ô 
ˆð 	
�Š�ÑÔÐà×#Ò#Ø�HŠH‰JŒJ× Ò Ø””Ø””	Ý(,Ð-DÑ(EÔ(Eð !ñ ô ð !ð&Ð5Ð5Ð5Ð5­5°©9¬9Ð5Ñ5Ô5Ð5à˜uÐ%ñ
ô 
ˆð ð 	"Ý˜A˜r‘l”lˆGˆGå˜A˜q‘k”kˆGåÝ�‰KŒKØ-Ð-Ð-Ð- WÐ-Ñ-Ô-ñ	
ô 	
ð 	
õ
 	Ý�
×"Ò"¥6¨!¬#¬)Ñ#4Ô#4Ñ5Ô5Ñ6Ô6ØˆGñ	
ô 	
ð 	
ð 	
ð 	
r1   N)%rY   rZ   r[   Úrun_create_tablesr^   r]   r?   r_   r0   r	   Úfetch_rows_post_commitr·   r¹   r»   r½   Úinsert_executemany_returningrÁ   r   Úcombinationsr   ÚrequiresÚ-float_or_double_precision_behaves_genericallyr   r   Úliteral_float_coercionr   r¨   rì   r   ÚuuidÚuuid4ÚstrÚuuid_data_typer   r   r©   rú   ra   r1   r/   r®   r®   _  s|  € € € € € ØÐØ=€LØ€Kð
ð 
ð 
ð ð
ð 
ñ „[ð
ð Ô(ðð ñ )Ô(ððð ð ðDð Dð Dð+ð +ð +ð Ô.ðð ñ /Ô.ðð& €WÔØ	ˆ‰Œ�9˜dÐ#àˆF�2‰JŒJØØØÔÔJð		
ð 
ˆ‰Œ�&˜$ÐàˆE�!‰HŒHØØØÔÔJð		
ð ˆG˜b¨°eÐ<Ñ<Ô<ØØØÔÔ3ð		
ð ˆG˜b¨°dÐ;Ñ;Ô;ØˆG�KÑ Ô Øð	
ð
 +ð5ñ ô ð8 €WÔÐ0°4¸°-Ñ@Ô@Ø€WÔ�¨¨u¨Ñ6Ô6ðMð Mñ 7Ô6ñ AÔ@ñ9ô ð<Mð^ €WÔàØˆD˜UÐ#Ñ#Ô#ØˆDŒJ‰LŒLð	
ð "ØˆD˜¨EÐ2Ñ2Ô2ØˆC�
�”
‘”ÑÔð	
ð "ØˆD˜TÐ"Ñ"Ô"ØˆDŒJ‰LŒLØÔÔ+ð		
ð &ØˆD˜¨DÐ1Ñ1Ô1ØˆC�
�”
‘”ÑÔØÔÔ+ð		
ð 
��‘”˜˜œ™œ wÔ'7Ô'FÐGàØˆK‰MŒMØð	
ð
 
˜˜™œ¨Ð5ØØð? ñ  ô  ðB €WÔÐ0°4¸°-Ñ@Ô@Ø€WÔ�¨¨u¨Ñ6Ô6ØÔÔ&ð4
ð 4
ñ 'Ô&ñ 7Ô6ñ AÔ@ñC ô  ðH4
ð 4
ð 4
r1   r®   )r   rc   r®   )Údecimalr   r  Ú r   r   Ú
assertionsr   Úconfigr	   Úschemar
   r   r   r   r   r   r   r   r   r   r   Útypesr   r   r   Ú
TablesTestr   rc   r®   Ú__all__ra   r1   r/   ú<module>r     s  ðð Ð Ð Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð9ð 9ð 9ð 9ð 9�HÔ'ñ 9ô 9ð 9ðx@
ð @
ð @
ð @
ð @
˜Ô,ñ @
ô @
ð @
ðFT
ð T
ð T
ð T
ð T
�HÔ'ñ T
ô T
ð T
ðn C€€€r1   