Ë
    ðmxi’B  ã                   óP  — d dl 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  G d„ dej(                  «      Z G d„ dej(                  «      Z G d„ dej.                  ej0                  «      Zy)é    Né   )Úengines)Úfixtures)Úeq_)Úrequirements)ÚColumn)ÚTableé   )ÚDateTime)Úfunc)ÚInteger)Úselect)Úsql)ÚString)Útesting©Útextc                   ór   — e Zd ZdZed„ «       Zed„ «       Zd„ Zd„ Zd„ Z	d„ Z
ej                  d„ «       Zd	„ Zy
)ÚRowFetchTestTc                 ó¾   — t        d|t        dt        d¬«      t        dt        d«      «      «       t        d|t        dt        d¬«      t        dt        «      «       y )	NÚplain_pkÚidT)Úprimary_keyÚdataé2   Ú	has_datesÚtoday)r	   r   r   r   r   ©ÚclsÚmetadatas     ú\/home/htdocs/ttos/venv/lib/python3.12/site-packages/sqlalchemy/testing/suite/test_results.pyÚdefine_tableszRowFetchTest.define_tables   sP   € äØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÔ3Ü�7œHÓ%õ		
ó    c                 ó$  — |j                  | j                  j                  j                  «       dddœdddœdddœg«       |j                  | j                  j                  j                  «       dt        j
                  dd	d
d
dd«      dœg«       y )Né   Úd1)r   r   r   Úd2r
   Úd3éÖ  é   é   r   )r   r   )ÚexecuteÚtablesr   Úinsertr   Údatetime)r   Ú
connections     r!   Úinsert_datazRowFetchTest.insert_data.   s‰   € à×ÑØ�J‰J×Ñ×&Ñ&Ó(à $Ñ'Ø $Ñ'Ø $Ñ'ðô	
ð 	×ÑØ�J‰J× Ñ ×'Ñ'Ó)Ø¤× 1Ñ 1°$¸¸2¸rÀ1ÀaÓ HÑIÐJõ	
r#   c                 óL  — |j                  | j                  j                  j                  «       j	                  | j                  j                  j
                  j                  «      «      j                  «       }t        |j                  d«       t        |j                  d«       y ©Nr%   r&   )
r,   r-   r   r   Úorder_byÚcr   Úfirstr   r   ©Úselfr0   Úrows      r!   Útest_via_attrzRowFetchTest.test_via_attr>   sp   € Ø× Ñ Ø�K‰K× Ñ ×'Ñ'Ó)×2Ñ2°4·;±;×3GÑ3G×3IÑ3I×3LÑ3LÓMó
ç
‰%‹'ð 	ô 	ˆC�F‰F�AŒÜˆC�H‰H�dÕr#   c                 óX  — |j                  | j                  j                  j                  «       j	                  | j                  j                  j
                  j                  «      «      j                  «       }t        |j                  d   d«       t        |j                  d   d«       y )Nr   r%   r   r&   )
r,   r-   r   r   r4   r5   r   r6   r   Ú_mappingr7   s      r!   Útest_via_stringzRowFetchTest.test_via_stringF   s{   € Ø× Ñ Ø�K‰K× Ñ ×'Ñ'Ó)×2Ñ2°4·;±;×3GÑ3G×3IÑ3I×3LÑ3LÓMó
ç
‰%‹'ð 	ô 	ˆC�L‰L˜Ñ Ô"ÜˆC�L‰L˜Ñ  $Õ'r#   c                 ó0  — |j                  | j                  j                  j                  «       j	                  | j                  j                  j
                  j                  «      «      j                  «       }t        |d   d«       t        |d   d«       y )Nr   r%   r&   )	r,   r-   r   r   r4   r5   r   r6   r   r7   s      r!   Útest_via_intzRowFetchTest.test_via_intN   sp   € Ø× Ñ Ø�K‰K× Ñ ×'Ñ'Ó)×2Ñ2°4·;±;×3GÑ3G×3IÑ3I×3LÑ3LÓMó
ç
‰%‹'ð 	ô 	ˆC�‰F�AŒÜˆC�‰F�DÕr#   c                 óø  — |j                  | j                  j                  j                  «       j	                  | j                  j                  j
                  j                  «      «      j                  «       }t        |j                  | j                  j                  j
                  j                     d«       t        |j                  | j                  j                  j
                  j                     d«       y r3   )r,   r-   r   r   r4   r5   r   r6   r   r<   r   r7   s      r!   Útest_via_col_objectz RowFetchTest.test_via_col_objectV   s§   € Ø× Ñ Ø�K‰K× Ñ ×'Ñ'Ó)×2Ñ2°4·;±;×3GÑ3G×3IÑ3I×3LÑ3LÓMó
ç
‰%‹'ð 	ô 	ˆC�L‰L˜Ÿ™×-Ñ-×/Ñ/×2Ñ2Ñ3°QÔ7ÜˆC�L‰L˜Ÿ™×-Ñ-×/Ñ/×4Ñ4Ñ5°tÕ<r#   c                 óÖ  — |j                  t        | j                  j                  j                  j
                  | j                  j                  j                  j
                  j                  d«      «      j                  | j                  j                  j                  j                  «      «      }|j                  «       }t        |j                  «       ddg«       t        |d«       y )Nr   )r&   r&   )r,   r   r-   r   r5   r   Úlabelr4   r   r6   r   Úkeys)r8   r0   Úresultr9   s       r!   Útest_row_with_dupe_namesz%RowFetchTest.test_row_with_dupe_names^   s¥   € à×#Ñ#ÜØ—‘×$Ñ$×&Ñ&×+Ñ+Ø—‘×$Ñ$×&Ñ&×+Ñ+×1Ñ1°&Ó9ó÷ ‰h�t—{‘{×+Ñ+×-Ñ-×0Ñ0Ó1ó	
ˆð �l‰l‹nˆÜˆF�K‰K‹M˜F FÐ+Ô,ÜˆC�Õr#   c                 ó   — | j                   j                  }t        |j                  d«      j                  j
                  «      j                  «       }t        |j                  j                  |j                  d«      «      }|j                  |«      j                  «       }t        |j                  t        j                  dddddd«      «       y)zýtest that a scalar select as a column is returned as such
        and that type conversion works OK.

        (this is half a SQLAlchemy Core test and half to catch database
        backends that may have unusual behavior with scalar selects.)

        ÚxÚ	somelabelr)   r*   r+   r   N)r-   r   r   Úaliasr5   r   Úscalar_subqueryr   rC   r,   r6   r   rI   r/   )r8   r0   Ú	datetableÚsÚs2r9   s         r!   Útest_row_w_scalar_selectz%RowFetchTest.test_row_w_scalar_selectj   s”   € ð —K‘K×)Ñ)ˆ	Ü�9—?‘? 3Ó'×)Ñ)×/Ñ/Ó0×@Ñ@ÓBˆÜ�I—K‘K—N‘N A§G¡G¨KÓ$8Ó9ˆØ× Ñ  Ó$×*Ñ*Ó,ˆäˆC�M‰Mœ8×,Ñ,¨T°1°b¸"¸aÀÓCÕDr#   N)Ú__name__Ú
__module__Ú__qualname__Ú__backend__Úclassmethodr"   r1   r:   r=   r?   rA   r   Ú%duplicate_names_in_cursor_descriptionrF   rO   © r#   r!   r   r      sa   „ Ø€Kàñ
ó ð
ð ñ
ó ð
òò(òò=ð ×7Ñ7ñ	ó 8ð	óEr#   r   c                   ó^   — e Zd ZdZdZdZed„ «       Zd„ Zd„ Z	e
j                  d„ «       Zd„ Zy	)
ÚPercentSchemaNamesTestz¡tests using percent signs, spaces in table and column names.

    This didn't work for PostgreSQL / MySQL drivers for a long time
    but is now supported.

    )Úpercent_schema_namesTc           	      ó  — t        d|t        dt        «      t        dt        «      «      | j                  _        t        j                  dt        j                  d«      t        j                  d«      «      | j                  _        y )Nzpercent%tableúpercent%úspaces % more spaces)	r	   r   r   r-   Úpercent_tabler   ÚtableÚcolumnÚlightweight_percent_tabler   s     r!   r"   z$PercentSchemaNamesTest.define_tables†   sa   € ä#(ØØÜ�:œwÓ'ÜÐ)¬7Ó3ó	$
ˆ�
‰
Ô ô 03¯y©yØÜ�J‰J�zÓ"Ü�J‰JÐ-Ó.ó0
ˆ�
‰
Õ,r#   c                 óÀ   — | j                   j                  }dddœdddœdddœdddœfD ]"  }|j                  |j                  «       |«       Œ$ | j	                  |«       y ©Nr*   r+   ©r[   r\   é   é   é	   é
   ©r-   r]   r,   r.   Ú_assert_table)r8   r0   r]   Úparamss       r!   Útest_single_roundtripz,PercentSchemaNamesTest.test_single_roundtrip”   sm   € ØŸ™×1Ñ1ˆà°BÑ7Ø°BÑ7Ø°BÑ7Ø°QÑ7ð	
ò 	?ˆFð ×Ñ˜}×3Ñ3Ó5°vÕ>ð	?ð 	×Ñ˜:Õ&r#   c                 óð   — | j                   j                  }|j                  |j                  «       dddœ«       |j                  |j                  «       dddœdddœdddœg«       | j	                  |«       y rb   rh   )r8   r0   r]   s      r!   Útest_executemany_roundtripz1PercentSchemaNamesTest.test_executemany_roundtripŸ   s{   € ØŸ™×1Ñ1ˆØ×ÑØ× Ñ Ó"°ÈBÑ$Oô	
ð 	×ÑØ× Ñ Ó"à¸Ñ;Ø¸Ñ;Ø¸Ñ;ðô	
ð 	×Ñ˜:Õ&r#   c                 ó|  — | j                   j                  }|j                  |j                  «       dddœ«       |j                  |j                  «       j	                  |j
                  d   |j
                  d   «      dddœdd	dœdddœg«      }t        |j                  «       g d
¢«       | j                  |«       y )Nr*   r+   rc   r[   r\   rd   re   rf   rg   )©rd   re   ©rf   rg   ©re   rf   )	r-   r]   r,   r.   Ú	returningr5   r   Úallri   )r8   r0   r]   rE   s       r!   Ú$test_executemany_returning_roundtripz;PercentSchemaNamesTest.test_executemany_returning_roundtrip®   s´   € àŸ™×1Ñ1ˆØ×ÑØ× Ñ Ó"°ÈBÑ$Oô	
ð ×#Ñ#Ø× Ñ Ó"×,Ñ,Ø—‘ 
Ñ+Ø—‘Ð 6Ñ7óð
 ¸Ñ;Ø¸Ñ;Ø¸Ñ;ðó

ˆô 	ˆF�J‰J‹LÒ5Ô6Ø×Ñ˜:Õ&r#   c                 óð  — | j                   j                  }| j                   j                  }||j                  «       ||j                  «       fD �]—  }t	        t        |j                  |j                  «       j                  |j                  d   «      «      «      g d¢«       t	        t        |j                  |j                  «       j                  |j                  d   j                  ddg«      «      j                  |j                  d   «      «      «      ddg«       |j                  |j                  «       j                  |j                  d   «      «      j                  «       }t	        |j                  d   d«       t	        |j                  d   d	«       t	        |j                  |j                  d      d«       t	        |j                  |j                  d      d	«       �Œš |j                  |j                  «       j                  |j                  d   d
i«      «       t	        t        |j                  |j                  «       j                  |j                  d   «      «      «      g d¢«       y )Nr[   ))r*   r+   ro   rp   rq   r\   rf   rg   rp   rq   r*   r+   é   ))r*   rv   )rd   rv   )rf   rv   )re   rv   )r-   r]   r`   rJ   r   Úlistr,   r   r4   r5   ÚwhereÚin_r6   r<   ÚupdateÚvalues)r8   Úconnr]   r`   r^   r9   s         r!   ri   z$PercentSchemaNamesTest._assert_tableÂ   s  € ØŸ™×1Ñ1ˆØ$(§K¡K×$IÑ$IÐ!ð Ø×ÑÓ!Ø%Ø%×+Ñ+Ó-ð	
ó 	CˆEô ÜØ—L‘L §¡£×!8Ñ!8¸¿¹ÀÑ9LÓ!MÓNóò 5ô	ô ÜØ—L‘LØŸ™›ß™˜uŸw™wÐ'=Ñ>×BÑBÀAÀrÀ7ÓKÓLß!™ %§'¡'¨*Ñ"5Ó6óóð ˜'Ð"ô	ð —,‘,Ø—‘“×'Ñ'¨¯©°
Ñ(;Ó<óç‰e‹gð ô �—‘˜ZÑ(¨!Ô,Ü�—‘Ð3Ñ4°bÔ9ä�—‘˜UŸW™W ZÑ0Ñ1°1Ô5Ü�—‘˜UŸW™WÐ%;Ñ<Ñ=¸rÖBð?	CðB 	�‰Ø× Ñ Ó"×)Ñ)Ø—‘Ð!7Ñ8¸"Ð=óô	
ô 	ÜØ—‘Ø!×(Ñ(Ó*×3Ñ3Ø%Ÿ™¨
Ñ3óóóò 2õ		
r#   N)rP   rQ   rR   Ú__doc__Ú__requires__rS   rT   r"   rk   rm   r   Úinsert_executemany_returningrt   ri   rV   r#   r!   rX   rX   z   sN   „ ñð -€Là€Kàñ
ó ð
ò	'ò'ð ×.Ñ.ñ'ó /ð'ó&4
r#   rX   c                   óš  — e Zd ZdZdZd„ Zd„ Zd„ Z ej                  ddd„ dfddd	„ dfd
d e
d«      dfddd„ dfdd e
d«      j                  d¬«      dfdd e
d«      j                  d¬«      dfdd e
d«      j                  «       dfddd„ d ej                  ddg«      fddd„ dfddd„ dfdd¬«      d„ «       Zd„ Zd „ Zd!„ Zd"„ Zd#„ Zy$)%ÚServerSideCursorsTest)Úserver_side_cursorsTc                 ó†  — | j                   j                  j                  dk(  rt        |j                  «      S | j                   j                  j                  dk(  r+t        d«      j                  j                  }t        ||«      S | j                   j                  j                  dv r|j                  S | j                   j                  j                  dk(  r+t        d«      j                  j                  }t        ||«      S | j                   j                  j                  dk(  r|j                   S | j                   j                  j                  dk(  r%d	t        |«      j                  j                  «       vS | j                   j                  j                  d
v r|j                  S | j                   j                  j                  dk(  rt        |dd«      S | j                   j                  j                  dk(  rt        t        |dd«      «      S | j                   j                  j                  dk(  rt        |dd«      S y)NÚpsycopg2Úpymysqlzpymysql.cursors)ÚaiomysqlÚasyncmyÚaioodbcÚmysqldbzMySQLdb.cursorsÚmariadbconnectorÚmysqlconnectorÚbuffered)ÚasyncpgÚ	aiosqliteÚpg8000Úserver_sideFÚpsycopgÚnameÚoracledb)ÚengineÚdialectÚdriverÚboolr’   Ú
__import__ÚcursorsÚSSCursorÚ
isinstancer�   rŒ   ÚtyperP   ÚlowerÚgetattr)r8   ÚcursorÚsscursors      r!   Ú_is_server_sidez%ServerSideCursorsTest._is_server_side   sÇ  € ð �;‰;×Ñ×%Ñ%¨Ò3Ü˜Ÿ™Ó$Ð$Ø�[‰[× Ñ ×'Ñ'¨9Ò4Ü!Ð"3Ó4×<Ñ<×EÑEˆHÜ˜f hÓ/Ð/Ø�[‰[× Ñ ×'Ñ'Ð+MÑMØ×%Ñ%Ð%Ø�[‰[× Ñ ×'Ñ'¨9Ò4Ü!Ð"3Ó4×<Ñ<×EÑEˆHÜ˜f hÓ/Ð/Ø�[‰[× Ñ ×'Ñ'Ð+=Ò=Ø—‘Ð&Ð&Ø�[‰[× Ñ ×'Ñ'Ð+;Ò;Ø¤T¨&£\×%:Ñ%:×%@Ñ%@Ó%BÐBÐBØ�[‰[× Ñ ×'Ñ'Ð+CÑCØ×%Ñ%Ð%Ø�[‰[× Ñ ×'Ñ'¨8Ò3Ü˜6 =°%Ó8Ð8Ø�[‰[× Ñ ×'Ñ'¨9Ò4Üœ ¨°Ó6Ó7Ð7Ø�[‰[× Ñ ×'Ñ'¨:Ò5Ü˜6 =°%Ó8Ð8àr#   c                 ó  — |rGt        j                  d«      5  t        j                  d|i¬«      | _        d d d «       | j                  S t        j                  d|i¬«      | _        | j                  S # 1 sw Y   | j                  S xY w)Nz­The create_engine.server_side_cursors parameter is deprecated and will be removed in a future release.  Please use the Connection.execution_options.stream_results parameter.r‚   )Úoptions)r   Úexpect_deprecatedr   Útesting_enginer”   )r8   r‚   s     r!   Ú_fixturezServerSideCursorsTest._fixture  s†   € ÙÜ×*Ñ*ðóñ ô &×4Ñ4Ø2Ð4GÐHô�”÷ð �{‰{Ðô "×0Ñ0Ø.Ð0CÐDôˆDŒKð �{‰{Ð÷ð �{‰{Ðús   ˜A3Á3Bc                 ól   — t        j                  dt         j                  «      j                  d„ |«      S )NzSELECT (\d+)c           	      ó”   — t        t        t        | j                  d«      «      «      j	                  t
        j                  «      «      S )Nr%   )Ústrr   ÚintÚgroupÚcompiler   Údb)Úms    r!   ú<lambda>z1ServerSideCursorsTest.stringify.<locals>.<lambda>/  s+   € ”cœ&¤ Q§W¡W¨Q£Z£Ó1×9Ñ9¼'¿*¹*ÓEÓF€ r#   )Úrer¬   ÚIÚsub)r8   Ústr_s     r!   Ú	stringifyzServerSideCursorsTest.stringify-  s)   € Ü�z‰z˜/¬2¯4©4Ó0×4Ñ4ÙFÈó
ð 	
r#   Úglobal_stringc                 ó   —  | d«      S ©Núselect 1rV   ©r´   s    r!   r¯   zServerSideCursorsTest.<lambda>3  s   € ±)¸JÓ2G€ r#   Úglobal_textc                 ó$   — t         | d«      «      S r·   r   r¹   s    r!   r¯   zServerSideCursorsTest.<lambda>7  ó   € œd¡9¨ZÓ#8Ó9€ r#   Úglobal_exprr%   Úglobal_off_explicitFc                 ó$   — t         | d«      «      S r·   r   r¹   s    r!   r¯   zServerSideCursorsTest.<lambda>>  r¼   r#   Ústmt_option©Ústream_resultsÚstmt_option_disabledÚfor_update_exprÚfor_update_stringc                 ó   —  | d«      S )NzSELECT 1 FOR UPDATErV   r¹   s    r!   r¯   zServerSideCursorsTest.<lambda>R  s   € ™iÐ(=Ó>€ r#   ÚsqliteÚmssqlÚ
text_no_ssc                 ó$   — t         | d«      «      S )Nú	select 42r   r¹   s    r!   r¯   zServerSideCursorsTest.<lambda>Y  s   € œd¡9¨[Ó#9Ó:€ r#   Útext_ss_optionc                 óD   — t         | d«      «      j                  d¬«      S )NrË   TrÁ   )r   Úexecution_optionsr¹   s    r!   r¯   zServerSideCursorsTest.<lambda>_  s$   € œd¡9¨[Ó#9Ó:×LÑLØ#ð Mó € r#   Úiaaaz*engine_ss_arg, statement, cursor_ss_status)Úid_Úargnamesc                 ó˜  — | j                  |«      }|j                  «       5 }t        |«      r!t        j                  || j
                  ¬«      }t        |t        «      r|j                  |«      }n|j                  |«      }t        | j                  |j                  «      |«       |j                  «        d d d «       y # 1 sw Y   y xY w)Nr¹   )r¦   ÚbeginÚcallabler   Úresolve_lambdar´   r›   r©   Úexec_driver_sqlr,   r   r¡   rŸ   Úclose)r8   Úengine_ss_argÚ	statementÚcursor_ss_statusr”   r|   rE   s          r!   Útest_ss_cursor_statusz+ServerSideCursorsTest.test_ss_cursor_status2  s¡   € ðp —‘˜}Ó-ˆØ�\‰\‹^ð 	˜tÜ˜	Ô"Ü#×2Ñ2Ø¨¯©ô�	ô ˜)¤SÔ)Ø×-Ñ-¨iÓ8‘àŸ™ iÓ0�Ü�×$Ñ$ V§]¡]Ó3Ð5EÔFØ�L‰LŒN÷	÷ 	ñ 	ús   ¢BC Ã C	c                 ó*  — | j                  d«      }|j                  «       5 }|j                  d¬«      j                  | j	                  d«      «      }| j                  |j                  «      sJ ‚|j                  «        d d d «       y # 1 sw Y   y xY w)NFTrÁ   r¸   )r¦   ÚconnectrÎ   rÖ   r´   r¡   rŸ   r×   )r8   r”   r|   rE   s       r!   Útest_conn_optionz&ServerSideCursorsTest.test_conn_optionx  s„   € Ø—‘˜uÓ%ˆà�^‰^Óð 	 à×+Ñ+Ø#ð ,ó ç‰o˜dŸn™n¨ZÓ8Ó9ð ð ×'Ñ'¨¯©Ô6Ð6Ð6ð �L‰LŒN÷'	÷ 	ñ 	ús   ¢AB	Â	Bc                 ó$  — | j                  d«      }t        d«      j                  d¬«      }|j                  «       5 }|j                  d¬«      j	                  |«      }| j                  |j                  «      rJ ‚	 d d d «       y # 1 sw Y   y xY w)NFr%   TrÁ   )r¦   r   rÎ   rÝ   r,   r¡   rŸ   )r8   r”   rM   r|   rE   s        r!   Ú&test_stmt_enabled_conn_option_disabledz<ServerSideCursorsTest.test_stmt_enabled_conn_option_disabled�  s�   € Ø—‘˜uÓ%ˆä�1‹I×'Ñ'°tÐ'Ó<ˆà�^‰^Óð 	; à×+Ñ+¸5Ð+ÓA×IÑIÈ!ÓLˆFØ×+Ñ+¨F¯M©MÔ:Ð:Ð:Ð:÷	;÷ 	;ñ 	;ús   ½?BÂBc                 ó˜  — | j                  d«      }t        t        j                  d«      j	                  d«      «      j                  d¬«      j                  «       }|j                  «       5 }|j                  |j                  «       «      }| j                  |j                  «      rJ ‚|j                  «        d d d «       t        d«      j                  |«      }|j                  «       5 }|j                  |«      }| j                  |j                  «      rJ ‚|j                  «        d d d «       y # 1 sw Y   Œ{xY w# 1 sw Y   y xY w)NFÚ1rH   TrÁ   r%   )r¦   r   r   Úliteral_columnrC   rÎ   ÚsubqueryrÓ   r,   r¡   rŸ   r×   Úselect_from)r8   r”   Ús1r|   rE   rN   s         r!   Útest_aliases_and_ssz)ServerSideCursorsTest.test_aliases_and_ssš  s	  € Ø—‘˜uÓ%ˆä”3×%Ñ% cÓ*×0Ñ0°Ó5Ó6ßÑ¨dÐÓ3ß‰X‹Zð 	ð �\‰\‹^ð 	˜tØ—\‘\ "§)¡)£+Ó.ˆFØ×+Ñ+¨F¯M©MÔ:Ð:Ð:Ø�L‰LŒN÷	ô
 �A‹Y×"Ñ" 2Ó&ˆØ�\‰\‹^ð 	˜tØ—\‘\ "Ó%ˆFØ×+Ñ+¨F¯M©MÔ:Ð:Ð:Ø�L‰LŒN÷	ð 	÷	ð 	ú÷	ð 	ús   Á-AD4Ã,?E Ä4D=Å E	c                 óÌ  — | j                   }| j                  d«      }t        d|t        dt        dd¬«      t        dt        d«      «      «      }|j                  «       5 }|j                  |d¬«       |j                  |j                  «       t        d¬	«      «       |j                  |j                  «       t        d
¬	«      «       t        |j                  |j                  «       j                  |j                  j                  «      «      j!                  «       ddg«       |j                  |j#                  «       j%                  |j                  j                  dk(  «      j'                  |j                  j(                  dz   ¬	«      «       t        |j                  |j                  «       j                  |j                  j                  «      «      j!                  «       ddg«       |j                  |j+                  «       «       t        |j-                  t        t/        j0                  d«      «      j3                  |«      «      d«       d d d «       y # 1 sw Y   y xY w)NTÚ
test_tabler   ©r   Útest_needs_autoincrementr   r   ©Ú
checkfirstÚdata1©r   Údata2)r%   rî   )r   rð   r   z updated)r   zdata2 updatedÚ*r   )r    r¦   r	   r   r   r   rÓ   Úcreater,   r.   Údictr   r   r4   r5   r   Úfetchallrz   rx   r{   r   ÚdeleteÚscalarr   Úcountrå   )r8   r    Úmdr”   ré   r0   s         r!   Útest_roundtrip_fetchallz-ServerSideCursorsTest.test_roundtrip_fetchall®  sã  € Ø�]‰]ˆà—‘˜tÓ$ˆÜØØÜØ”g¨4È$ôô �6œ6 "›:Ó&ó
ˆ
ð �\‰\‹^ð 	˜zØ×Ñ˜j°TÐÔ:Ø×Ñ˜z×0Ñ0Ó2´D¸gÔ4FÔGØ×Ñ˜z×0Ñ0Ó2´D¸gÔ4FÔGÜØ×"Ñ"Ø×%Ñ%Ó'×0Ñ0°·±·±ÓAóç‘(“*Ø˜|Ð,ô	ð ×ÑØ×!Ñ!Ó#ß‘�z—|‘|—‘¨!Ñ+Ó,ß‘˜ZŸ\™\×.Ñ.°Ñ;�Ó<ôô
 Ø×"Ñ"Ø×%Ñ%Ó'×0Ñ0°·±·±ÓAóç‘(“*ØÐ3Ð4ô	ð ×Ñ˜z×0Ñ0Ó2Ô3ÜØ×!Ñ!Üœ4Ÿ:™: c›?Ó+×7Ñ7¸
ÓCóð ô	÷-	÷ 	ñ 	ús   Á G1IÉI#c                 ó–  — | j                   }| j                  d«      }t        d|t        dt        dd¬«      t        dt        d«      «      «      }|j                  «       5 }|j                  |d¬«       |j                  |j                  «       t        dd	«      D �cg c]  }t        d
|z  ¬«      ‘Œ c}«       |j                  |j                  «       j                  |j                  j                  «      «      }t!        |j#                  d«      t        dd«      D �cg c]	  }|d
|z  f‘Œ c}«       t!        |j#                  d«      t        dd«      D �cg c]	  }|d
|z  f‘Œ c}«       t!        |j%                  «       t        dd	«      D �cg c]	  }|d
|z  f‘Œ c}«       d d d «       y c c}w c c}w c c}w c c}w # 1 sw Y   y xY w)NTré   r   rê   r   r   rì   r%   é   zdata%drï   r*   é   rg   é   )r    r¦   r	   r   r   r   rÓ   rò   r,   r.   Úrangeró   r   r4   r5   r   r   Ú	fetchmanyrô   )r8   r    rø   r”   ré   r0   ÚirE   s           r!   Útest_roundtrip_fetchmanyz.ServerSideCursorsTest.test_roundtrip_fetchmanyØ  s›  € Ø�]‰]ˆà—‘˜tÓ$ˆÜØØÜØ”g¨4È$ôô �6œ6 "›:Ó&ó
ˆ
ð �\‰\‹^ð 	O˜zØ×Ñ˜j°TÐÔ:Ø×ÑØ×!Ñ!Ó#Ü27¸¸2³,Ö?¨Q”˜8 a™<Ö(Ò?ôð
  ×'Ñ'Ø×!Ñ!Ó#×,Ñ,¨Z¯\©\¯_©_Ó=óˆFô Ø× Ñ  Ó#Ü,1°!°Q«KÖ8 q�!�X ‘\Ò"Ò8ôô Ø× Ñ  Ó$Ü,1°!°R«LÖ9 q�!�X ‘\Ò"Ò9ôô �—‘Ó!¼uÀRÈ»}Ö#M¸! Q¨°1©Ò$5Ò#MÔN÷'	Oð 	Oùò @ùò 9ùò :ùâ#M÷'	Oð 	OúsC   Á <F?ÂF+Â2A,F?ÄF0Ä,*F?ÅF5Å$)F?ÆF:ÆF?Æ+F?Æ?GN)rP   rQ   rR   r~   rS   r¡   r¦   r´   r   Úcombinationsr   rÎ   Úwith_for_updateÚskip_ifrÛ   rÞ   rà   rç   rù   r  rV   r#   r!   r�   r�   ù   s[  „ ð ,€Là€Kòò8ò"
ð
 €W×ÑØ	˜$Ñ GÈÐNàØÙ9Øð		
ð 
˜™f Q›i¨Ð.à!ØÙ9Øð		
ð ØÙ�1‹I×'Ñ'°tÐ'Ó<Øð		
ð #ØÙ�1‹I×'Ñ'°uÐ'Ó=Øð		
ð 
˜D¡&¨£)×";Ñ";Ó"=¸tÐDð  ØÙ>ØØˆG�O‰O˜X wÐ/Ó0ð	
ð ØÙ:Øð		
ð Øñð ð	
ð Ø=ôg4ñjók4ðjò"ò0;òò((óT Or#   r�   )r/   r°   Ú r   r   Ú
assertionsr   Úconfigr   Úschemar   r	   r   r   r   r   r   r   r   r   Ú
TablesTestr   rX   ÚTestBaseÚAssertsExecutionResultsr�   rV   r#   r!   ú<module>r     s‚   ðó Û 	å Ý Ý Ý !Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý ô[E�8×&Ñ&ô [Eô||
˜X×0Ñ0ô |
ô~OØ×Ñ�w×6Ñ6õOr#   