Ë
    V.jþK  ã                   ór  — 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j4                  «      Z G d„ dej4                  «      Z G d„ dej4                  «      ZdZy)é    )ÚDecimalNé   )Útestingé   )Úfixtures)Úeq_)Úrequirements)ÚColumn)ÚTableé   )ÚDouble)ÚFloat)ÚIdentity)ÚInteger)Úliteral)Úliteral_column)ÚNumeric)Úselect)ÚString)ÚLargeBinary)ÚUUID)ÚUuidc                   ó^   — e Zd ZdZdZdZed„ «       Zd„ Zd„ Z	d„ Z
ej                  d„ «       Zy	)
Ú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¬«       y )NÚ
autoinc_pkÚidT©Úprimary_keyÚtest_needs_autoincrementÚdataé2   F©Úimplicit_returningÚ	manual_pk©r"   Úautoincrement©r   r
   r   r   ©ÚclsÚmetadatas     úfC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\sqlalchemy/testing/suite/test_insert.pyÚdefine_tableszLastrowidTest.define_tables'   sc   € äØØÜØ”g¨4È$ôô �6œ6 "›:Ó&Ø$õ	
ô 	ØØÜ�4œ¨dÀ%ÔHÜ�6œ6 "›:Ó&Ø$ö	
ó    c                 ó¢   — |j                  |j                  «       «      j                  «       }t        ||j                  j
                  df«       y ©Nú	some data©Úexecuter   Úfirstr   ÚdialectÚdefault_sequence_base©ÚselfÚtableÚconnÚrows       r/   Ú_assert_round_tripz LastrowidTest._assert_round_trip;   ó?   € Ø�l‰l˜5Ÿ<™<›>Ó*×0Ñ0Ó2ˆÜØà—‘×2Ñ2Øðõ	
r1   c                 óÌ   — |j                  | j                  j                  j                  «       t	        d¬«      «       | j                  | j                  j                  |«       y ©Nr4   ©r$   ©r6   Útablesr   ÚinsertÚdictr?   ©r;   Ú
connections     r/   Útest_autoincrement_on_insertz*LastrowidTest.test_autoincrement_on_insertE   óI   € Ø×ÑØ�K‰K×"Ñ"×)Ñ)Ó+¬T°{Ô-Cô	
ð 	×Ñ §¡× 6Ñ 6¸
ÕCr1   c                 ó2  — |j                  | j                  j                  j                  «       t	        d¬«      «      }|j                  t        | j                  j                  j                  j                  «      «      }t        |j                  |f«       y 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   ón   € Ø×ÑØ�K‰K×"Ñ"×)Ñ)Ó+¬T°{Ô-Có
ˆð ×Ñœv d§k¡k×&<Ñ&<×&>Ñ&>×&AÑ&AÓBÓCˆÜˆA×"Ñ" R EÕ*r1   c                 ó4  — |j                  | j                  j                  j                  «       t	        d¬«      «      }|j
                  }|j                  t        | j                  j                  j                  j                  «      «      }t        ||«       y 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   so   € à×ÑØ�K‰K×"Ñ"×)Ñ)Ó+¬T°{Ô-Có
ˆð —K‘Kˆ	Ø×Ñœv d§k¡k×&<Ñ&<×&>Ñ&>×&AÑ&AÓBÓCˆÜˆI�rÕr1   N)Ú__name__Ú
__module__Ú__qualname__Úrun_deletesÚ__backend__Ú__requires__Úclassmethodr0   r?   rJ   rT   r	   Údbapi_lastrowidrX   © r1   r/   r   r       sM   „ Ø€Kà€KàE€Làñ
ó ð
ò&
ò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y)Ú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   ¬«      «       y )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`   sï   € äØØÜØ”g¨4È$ôô �6œ6 "›:Ó&ô	
ô 	ØØÜ�4œ¨dÀ%ÔHÜ�6œ6 "›:Ó&ô		
ô 	Ø#ØÜØ”g¨4È$ôô �6œ6 "›:Ó&Ø$õ	
ô 	ØØÜØ”g¨4È$ôô �6œ6 "›:Ó&Ü�3œ¨Ô+ÜØÜÜ& s´'Ô:¼WÀQ»ZÑGôõ	
r1   ÚstyleÚplainÚreturn_defaultsÚexecutemanyFc                 óø   — | j                   j                  }|j                  «       }|j                  r|j                  «       }|rddiddiddiddiddig}nddi}|j	                  ||«      }|j
                  rJ ‚y)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Ñ1ˆà�|‰|‹~ˆØ× Ò Ø×'Ñ'Ó)ˆDáà˜�Ø˜�Ø˜�Ø˜�Ø˜�ð‰Dð ˜D�>ˆDà×Ñ˜t TÓ*ˆØ—>’>Ð!Ð!�>r1   c                 ó  — |j                  | j                  j                  j                  «       t	        d¬«      «      }|j
                  sJ ‚|j                  rJ ‚|j                  sJ ‚|j                  r|j                  «       �J ‚y y 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£   st   € à×ÑØ�K‰K×"Ñ"×)Ñ)Ó+¬T°{Ô-Có
ˆð �~Š~Ðˆ~Ø—8’8Ðˆ|Ø�{Š{Ðˆ{ð —>’> Q§Z¡Z£\Ð%9Ð9Ð9Ð%9�>r1   c                 óv  — |j                  | j                  j                  j                  «       j	                  «       t        d¬«      «      }|j                  sJ ‚|j                  rJ ‚|j                  sJ ‚|j                  sJ ‚t        |j                  «       d «       t        |j                  «       dg«       y )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×"Ñ"×)Ñ)Ó+×;Ñ;Ó=Ü�kÔ"ó
ˆð �~Š~Ðˆ~Ø—8’8Ðˆ|Ø�{Š{Ðˆ{ð �~Š~Ðˆ~ô 	ˆA�J‰J‹L˜$Ôô 	ˆA�F‰F‹H�t�fÕr1   c                 óÂ  — |j                  | j                  j                  j                  «       «      }|j                  sJ ‚|j
                  rJ ‚|j                  | j                  j                  j                  «       j                  | j                  j                  j                  j                  d k7  «      «      }t        t        |j                  «       «      d«       y )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Ñ5×<Ñ<Ó>Ó?ˆØ�~Š~Ðˆ~Ø—8’8Ðˆ|à×ÑØ�K‰K×"Ñ"×)Ñ)Ó+×1Ñ1Ø—‘×&Ñ&×(Ñ(×+Ñ+¨tÑ3óó
ˆô
 	ŒC�—‘“‹L˜!Õr1   c                 óÊ  — |j                  | j                  j                  j                  «       i i i g«      }|j                  sJ ‚|j
                  rJ ‚|j                  | j                  j                  j                  «       j                  | j                  j                  j                  j                  d k7  «      «      }t        t        |j                  «       «      d«       y )Nr   r…   r   s      r/   Útest_empty_insert_multiplez-InsertBehaviorTest.test_empty_insert_multipleÜ   sª   € à×Ñ˜tŸ{™{×5Ñ5×<Ñ<Ó>ÀÀRÈÀÓMˆØ�~Š~Ðˆ~Ø—8’8Ðˆ|à×ÑØ�K‰K×"Ñ"×)Ñ)Ó+×1Ñ1Ø—‘×&Ñ&×(Ñ(×+Ñ+¨tÑ3óó
ˆô 	ŒC�—‘“‹L˜!Õr1   c                 óê  — | j                   j                  }| j                   j                  }|j                  |j	                  «       t        dd¬«      t        dd¬«      t        dd¬«      g«       |j                  |j	                  «       j                  dt        |j                  j                  «      j                  |j                  j                  j                  ddg«      «      «      «      }t        |j                  d	«       |j                  t        |j                  j                  «      j                  |j                  j                  «      «      }t        |j                  «       d
dg«       y )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ê   s$  € à—K‘K×)Ñ)ˆ	Ø—[‘[×+Ñ+ˆ
Ø×ÑØ×ÑÓä˜ Ô(Ü˜ Ô(Ü˜ Ô(ðô	
ð ×#Ñ#Ø×ÑÓ×+Ñ+ØÜ�y—{‘{×'Ñ'Ó(×.Ñ.Ø—K‘K×$Ñ$×(Ñ(¨'°7Ð);Ó<óóó
ˆô 	ˆF×'Ñ'¨Ô1à×#Ñ#Ü�:—<‘<×$Ñ$Ó%×.Ñ.¨z¯|©|×/@Ñ/@ÓAó
ˆô 	ˆF�O‰OÓ 
¨JÐ7Õ8r1   c                 ó^  — | j                   j                  }| j                   j                  }|j                  |j	                  «       j                  dt        |j                  j                  «      j                  |j                  j                  j                  ddg«      «      «      «      }t        |j                  d«       |j                  t        |j                  j                  «      j                  |j                  j                  «      «      }t        |j                  «       g «       y )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‘K×)Ñ)ˆ	Ø—[‘[×+Ñ+ˆ
à×#Ñ#Ø×ÑÓ×+Ñ+ØÜ�y—{‘{×'Ñ'Ó(×.Ñ.Ø—K‘K×$Ñ$×(Ñ(¨'°7Ð);Ó<óóó
ˆô 	ˆF×'Ñ'¨Ô1à×#Ñ#Ü�:—<‘<×$Ñ$Ó%×.Ñ.¨z¯|©|×/@Ñ/@ÓAó
ˆô 	ˆF�O‰OÓ˜rÕ"r1   c                 óÚ  — | j                   j                  }|j                  |j                  «       t	        dd¬«      t	        dd¬«      t	        dd¬«      g«       |j                  |j                  «       j                  «       j                  dt        |j                  j                  dz   |j                  j                  «      j                  |j                  j                  j                  ddg«      «      «      «       t        |j                  t        |j                  j                  «      j                  |j                  j                  «      «      j                  «       g d	¢«       y )
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  s  € à—‘×%Ñ%ˆØ×ÑØ�L‰L‹Nä˜ Ô(Ü˜ Ô(Ü˜ Ô(ðô	
ð 	×ÑØ�L‰L‹Nß‰V‹Xß‰[ØÜ�u—w‘w—z‘z A‘~ u§w¡w§|¡|Ó4×:Ñ:Ø—G‘G—L‘L×$Ñ$ g¨wÐ%7Ó8óóô		
ô 	Ø×ÑÜ�u—w‘w—|‘|Ó$×-Ñ-¨e¯g©g¯l©lÓ;óç‰h‹jÚHõ		
r1   c                 óÜ  — | j                   j                  }|j                  |j                  «       t	        dd¬«      t	        dd¬«      t	        dd¬«      g«       |j                  |j                  «       j                  «       j                  dt        |j                  j                  dz   |j                  j                  «      j                  |j                  j                  j                  ddg«      «      «      «       t        |j                  t        |«      j                  |j                  j                  |j                  j                  «      «      j                  «       g d	¢«       y )
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:  s  € à—‘×-Ñ-ˆØ×ÑØ�L‰L‹Nä˜ Ô(Ü˜ Ô(Ü˜ Ô(ðô	
ð 	×ÑØ�L‰L‹Nß‰V‹Xß‰[ØÜ�u—w‘w—z‘z A‘~ u§w¡w§|¡|Ó4×:Ñ:Ø—G‘G—L‘L×$Ñ$ g¨wÐ%7Ó8óóô		
ô 	Ø×ÑÜ�u“×&Ñ& u§w¡w§|¡|°U·W±W·Z±ZÓ@óç‰h‹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   \   s3  „ Ø€KØ€Kàñ%
ó ð%
ðN €W×Ñ�w Ð*;Ð <Ó=Ø€W×Ñ�} t¨U mÓ4ñ"ó 5ó >ð"ð2 ×&Ñ&ñ:ó 'ð:ð ×"Ñ"ñó #ðð6 ×Ññ
ó  ð
ð ×+Ñ+ñó ,ðð ×$Ñ$ñ9ó %ð9ð8 ×$Ñ$ñ#ó %ð#ð( ×$Ñ$ñ
ó %ð
ð: ×$Ñ$ñ!
ó %ñ!
r1   rc   c                   ó¨  — 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(                  j0                  f eddd¬«       ed«      dfd¬«       ej4                  dddg«       ej4                  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j4                  dddg«       ej4                  dddg«      ej(                  jF                  d'„ «       «       «       «       Z$y())ÚReturningTestr   )r©   r   Tc                 ó¢   — |j                  |j                  «       «      j                  «       }t        ||j                  j
                  df«       y r3   r5   r:   s       r/   r?   z ReturningTest._assert_round_tripd  r@   r1   c                 óh   — t        d|t        dt        dd¬«      t        dt        d«      «      «       y )Nr   r    Tr!   r$   r%   r+   r,   s     r/   r0   zReturningTest.define_tablesn  s1   € äØØÜØ”g¨4È$ôô �6œ6 "›:Ó&õ	
r1   c                 ód  — | j                   j                  }|j                  |j                  «       j	                  |j
                  j                  «      t        d¬«      «      }|j                  «       d   }|j                  t        |j
                  j                  «      «      }t        ||«       y ©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×$Ñ$ U§W¡W§Z¡ZÓ0´$¸KÔ2Hó
ˆð �W‰W‹Y�q‰\ˆØ×&Ñ&¤v¨e¯g©g¯j©jÓ'9Ó:ˆ
ÜˆJ˜Õr1   c                 ód  — | j                   j                  }|j                  |j                  «       j	                  |j
                  j                  «      t        d¬«      «      }|j                  «       d   }|j                  t        |j
                  j                  «      «      }t        ||«       y r²   r³   rµ   s         r/   Ú(test_explicit_returning_pk_no_autocommitz6ReturningTest.test_explicit_returning_pk_no_autocommitƒ  s|   € Ø—‘×&Ñ&ˆØ×ÑØ�L‰L‹N×$Ñ$ U§W¡W§Z¡ZÓ0´$¸KÔ2Hó
ˆð �W‰W‹Y�q‰\ˆØ×&Ñ&¤v¨e¯g©g¯j©jÓ'9Ó:ˆ
ÜˆJ˜Õr1   c                 óÌ   — |j                  | j                  j                  j                  «       t	        d¬«      «       | j                  | j                  j                  |«       y rB   rD   rH   s     r/   Ú/test_autoincrement_on_insert_implicit_returningz=ReturningTest.test_autoincrement_on_insert_implicit_returning�  rK   r1   c                 ó2  — |j                  | j                  j                  j                  «       t	        d¬«      «      }|j                  t        | j                  j                  j                  j                  «      «      }t        |j                  |f«       y 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                  j                  j
                  j                  «      ddiddiddiddiddig«      }|j                  «       }|j                  t        | j                  j                  j
                  j                  «      «      }t        ||j                  «       «       y )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‰K×"Ñ"×)Ñ)Ó+×5Ñ5Ø—‘×&Ñ&×(Ñ(×+Ñ+óð ˜�Ø˜�Ø˜�Ø˜�Ø˜�ðó	
ˆð �u‰u‹wˆà× Ñ ¤¨¯©×(>Ñ(>×(@Ñ(@×(CÑ(CÓ!DÓ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                  |j                  j                  |j                  j                  t        |«      ¬«      |rt        d«      D �	cg c]  }	d|i‘Œ c}	nd|i«      }
|rt        dd	«      }nt        dd
«      }|r¡t        |
D ��ch c]  \  }}|t        |d«      f’Œ c}}|D �ch c]  }|t        |d«      f’Œ c}«       t        |j                  t!        |j                  j                  «      «      D �ch c]  }t        |d«      ’Œ c}t        |d«      h«       yt        t#        |
«      |D �ch c]  }||f’Œ c}«       t        t#        |j                  t!        |j                  j                  «      «      «      |h«       yc c}	w c c}}w c c}w c c}w c c}w )zvtest #9701.

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

        Úf_tr    T©r"   Úvalue©rÉ   é
   r   é   r   rh   N)r   r
   r   r   Úcreater6   rF   r´   rO   r    rÎ   ÚboolÚranger   ÚroundÚscalarsr   Úset)r;   rI   r.   rÉ   rl   rÎ   Údo_roundingrÊ   ÚtÚir›   Úi_rangeÚid_Úval_s                 r/   Útest_insert_w_floatsz"ReturningTest.test_insert_w_floats®  sÙ  € ô^ ð ØÜ�4œ¤(£*¸$Ô?Ü�7˜EÓ"ó
ˆð 	
�‰�Ôà×#Ñ#Ø�H‰H‹J× Ñ Ø—‘—‘Ø—‘—	‘	Ü(,Ð-DÓ(Eð !ó ñ !ô ,1°¬9Ó5©9 a�'˜5Ò!¨9Ò5à˜uÐ%ó
ˆñ Ü˜A˜r“l‰Gä˜A˜q“kˆGñ ÜÙ8>Ô?¹©9¨3°�#”u˜T 1“~Ò&¸Ò?Ù3:Ó;±7¨C�#”u˜U A“Ò'°7Ñ;ôô
 ð !+× 2Ñ 2´6¸!¿#¹#¿)¹)Ó3DÔ Eóá E˜ô ˜$ •NØ Eñô �u˜a“Ð!õô Ü�F“Ù)0Ó1© #�#�u’¨Ñ1ôô
 Ü�J×&Ñ&¤v¨a¯c©c¯i©iÓ'8Ó9Ó:Ø�õùòM 6ùó* @ùÚ;ùòùò 2s   Â/G+
Ã,G0
ÄG6
ÅG;ÆH 
Ú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                  |j                  j                  |j                  j                  t        |«      ¬«      |rt        d«      D �cg c]  }d|i‘Œ c}nd|i«      }	|rt        dd	«      }
nt        dd
«      }
t        t        |	«      |
D �ch c]  }||f’Œ c}«       t        t        |j                  t!        |j                  j                  «      «      «      |h«       yc c}w c c}w )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Ï   rÐ   r   rÑ   r   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›   rÛ   rÜ   s               r/   Útest_imv_returning_datatypesz*ReturningTest.test_imv_returning_datatypes  s(  € ôj ØØÜ�4œ¤(£*¸$Ô?Ü�7˜EÓ"ó	
ˆð 	
�‰�Ôà×#Ñ#Ø�H‰H‹J× Ñ Ø—‘—‘Ø—‘—	‘	Ü(,Ð-DÓ(Eð !ó ñ !ô ,1°¬9Ó5©9 a�'˜5Ò!¨9Ò5à˜uÐ%ó
ˆñ Ü˜A˜r“l‰Gä˜A˜q“kˆGäÜ�‹KÙ%,Ó-¡W˜cˆc�5Š\ WÑ-ô	
ô
 	Ü�
×"Ñ"¤6¨!¯#©#¯)©)Ó#4Ó5Ó6ØˆGõ	
ùò! 6ùò .s   Â/E
Ã3E
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ò+ð ×.Ñ.ñó /ðð& €W×ÑÙ	‹�9˜dÐ#á�2‹JØØØ×Ñ×JÑJð		
ñ 
‹�&˜$Ðá�!‹HØØØ×Ñ×JÑJð		
ñ ˜b¨°eÔ<ØØØ×Ñ×3Ñ3ð		
ñ ˜b¨°dÔ;Ù�KÓ Øð	
ð
 +ô5ð8 €W×ÑÐ0°4¸°-Ó@Ø€W×Ñ�¨¨u¨Ó6ñMó 7ó Aó9ð<Mð^ €W×ÑàÙ˜UÔ#ØˆD�J‰J‹Lð	
ð "Ù˜¨EÔ2Ù�
�—
‘
“Óð	
ð "Ù˜TÔ"ØˆD�J‰J‹LØ×Ñ×+Ñ+ð		
ð &Ù˜¨DÔ1Ù�
�—
‘
“ÓØ×Ñ×+Ñ+ð		
ð 
‘“˜˜Ÿ™› w×'7Ñ'7×'FÑ'FÐGàÙ‹MØð	
ð
 
™›¨Ð5ØØô? ðB €W×ÑÐ0°4¸°-Ó@Ø€W×Ñ�¨¨u¨Ó6Ø×Ñ×&Ñ&ñ4
ó 'ó 7ó AóC ñH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�H×'Ñ'ô 9ôx@
˜×,Ñ,ô @
ôFT
�H×'Ñ'ô T
ðn C�r1   