+
    }¯³jÔ^  ã                   óø  € ^ RI t ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^R	IH	t	 ^R
IH
t
 ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RI H!t!  ! R R]PD                  4      t# ! R R ]PD                  4      t$ ! R! R"]PJ                  4      t& ! R# R$]PD                  4      t' ! R% R&]PJ                  4      t( ! R' R(]PD                  4      t) ! R) R*]PD                  4      t* ! R+ R,]PV                  ]*4      t, ! R- R.]PD                  4      t- ! R/ R0]PJ                  4      t.R# )1é    N)Útesting)Úassert_raises)Úconfig)Úengines)Úeq_)Úfixtures)Úis_not_none)Úis_true)Úmock)Úne_)Úprovide_metadata)Úexpect_raises)Úexpect_raises_message)Úrequirements)Ú set_default_schema_on_connection)ÚColumn)ÚTable)Ú	bindparam)Údialects)Úevent)Úexc)ÚInteger)Úliteral_column)Úselect)ÚString)ÚCompiled)Úinspect_getfullargspecc                   ó*   a € ] tR t^)t o RtR tRtV tR# )ÚPingTestTc                ó  € \         P                  P                  4       ;_uu_ 4       p\        \         P                  P                  P                  VP                  P                  4      4       R R R 4       R #   + '       g   i     R # ; i©N)r   ÚdbÚconnectr
   ÚdialectÚdo_pingÚ
connectionÚdbapi_connection)ÚselfÚconns   & Úf/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/testing/suite/test_dialect.pyÚtest_do_pingÚPingTest.test_do_ping,   sP   € Ü�Z‰Z×Ñ×!Ô! TÜÜ—
‘
×"Ñ"×*Ñ*¨4¯?©?×+KÑ+KÓLô÷ "×!×!Ò!ús   §AA8Á8B		© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__backend__r+   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r*   r   r   )   s   ø‡ € Ø€K÷ð ó    r   c                   óx   a € ] tR t^3t o RtR t]P                  ! ]! ]! 4       4      R7      R 4       t	R t
RtV tR# )ÚArgSignatureTesta«  test that all visit_XYZ() in :class:`_sql.Compiler` subclasses have
``**kw``, for #8988.

This test uses runtime code inspection.   Does not need to be a
``__backend__`` test as it only needs to run once provided all target
dialects have been imported.

For third party dialects, the suite would be run with that third
party as a "--dburi", which means its compiler classes will have been
imported by the time this test runs.

c               #  ó2  "  € \         P                   F9  p V P                  R 4      '       d   K  \        P                  ! RV ,          4       K;  	  \
        .pV'       d7   VP                  ^ 4      pVP                  VP                  4       4       Vx € K>  R# 5i)Ú_zsqlalchemy.dialects.%sN)	r   Ú__all__Ú
startswithÚ	importlibÚimport_moduler   ÚpopÚextendÚ__subclasses__)ÚdÚstackÚclss      r*   Ú_all_subclassesÚ ArgSignatureTest._all_subclassesA   sp   é € Ü×!Ô!ˆAØ—<‘< ×$Ô$Ü×'Ò'Ð(@À1Õ(DÖEñ "ô �
ˆçØ—)‘)˜A“,ˆCØ�L‰L˜×+Ñ+Ó-Ô.ØŒIñ ùs   ‚(B¯/BÁ8B)Úparamsc              #  ó*   "  € VP                   x € R # 5ir!   )Úparam)r(   Úrequests   &&r*   Úall_subclassesÚArgSignatureTest.all_subclassesM   s   é € à�m‰mÔùs   ‚c           	     óÜ   € TpVP                    FY  pVP                  R 4      '       g   K  \        W#4      p\        V4      p\	        VP
                  RVP                   RV R24       K[  	  R# )Úvisit_zCompiler visit method Ú.z:() does not accommodate for **kw in its argument signatureN)Ú__dict__r=   Úgetattrr   r	   Úvarkwr.   )r(   rL   rE   ÚkÚmethÚinsps   &&    r*   Ú test_all_visit_methods_accept_kwÚ1ArgSignatureTest.test_all_visit_methods_accept_kwQ   sc   € Øˆà—”ˆAØ�|‰|˜H×%Ô%Ü˜s“�ä-¨dÓ3�ÜØ—J‘JØ,¨S¯\©\¨N¸!¸A¸3ð ?Ið Iöó r7   r-   N)r.   r/   r0   r1   Ú__doc__rF   r   ÚfixtureÚlistrL   rW   r3   r4   r5   s   @r*   r9   r9   3   s>   ø‡ € ñò
ð ‡_‚_™D¡Ó!2Ó3Ô4ñó 5ð÷ð r7   r9   c                   óf   a € ] tR t^`t o RtRtRt]R 4       t]	P                  R 4       tR tRtV tR# )	ÚExceptionTestzªTest basic exception wrapping.

DBAPIs vary a lot in exception behavior so to actually anticipate
specific exceptions from real round trips, we need to be conservative.

ÚeachTc                ój   € \        R V\        R\        RRR7      \        R\        ^24      4      4       R# )Ú	manual_pkÚidTF©Úprimary_keyÚautoincrementÚdataN©r   r   r   r   ©rE   Úmetadatas   &&r*   Údefine_tablesÚExceptionTest.define_tablesl   s,   € äØØÜ�4œ¨dÀ%ÔHÜ�6œ6 "›:Ó&ö		
r7   c                óÔ  € \         P                  P                  4       ;_uu_ 4       pVP                  4       pVP	                  V P
                  P                  P                  4       R ^RR/4       \        \        P                  VP                  V P
                  P                  P                  4       R ^RR/4       VP                  4        RRR4       R#   + '       g   i     R# ; i)ra   re   Úd1N)r   r"   r#   ÚbeginÚexecuteÚtablesr`   Úinsertr   r   ÚIntegrityErrorÚrollback)r(   r)   Útranss   &  r*   Útest_integrity_errorÚ"ExceptionTest.test_integrity_erroru   s¦   € ä�Y‰Y×Ñ× Ô  DØ—J‘J“LˆEØ�L‰LØ—‘×%Ñ%×,Ñ,Ó.°°q¸&À$Ð0Gôô Ü×"Ñ"Ø—‘Ø—‘×%Ñ%×,Ñ,Ó.Ø�q˜& $Ð'ô	ð �N‰NÔ÷ !× × Ò ús   §B%CÃC'	c           	     ó®  € \         P                  P                  4       ;_uu_ 4       p VP                  \	        \        R 4      4      4       Q h  \        P                   d;   p\        T4      p\        TP                  4      \        T4      9   g   Q h Rp?MRp?ii ; i\        T\        4      '       g   Q h RRR4       R#   + '       g   i     R# ; i)u   mÃ©ilN)r   r"   r#   rn   r   r   r   Ú
DBAPIErrorÚstrÚorigÚ
isinstance)r(   r)   ÚerrÚerr_strs   &   r*   Útest_exception_with_non_asciiÚ+ExceptionTest.test_exception_with_non_ascii†   s”   € Ü�Y‰Y×Ñ× Ô  Dð1ð —‘œV¤N°7Ó$;Ó<Ô=Ø�uøÜ—>‘>ô 1Ü˜c›(�ä˜3Ÿ8™8“}¬¨C«Ô0Ð0Õ0ûð1úô
 ˜g¤s×+Ò+Ð+Ñ+÷ !× × Ò ús.   §C©%AÁBÁ#0BÂCÂBÂCÃC	r-   N)r.   r/   r0   r1   rY   Úrun_deletesr2   Úclassmethodri   r   Ú$duplicate_key_raises_integrity_errorrt   r}   r3   r4   r5   s   @r*   r]   r]   `   sL   ø‡ € ñð €Kà€Kàñ
ó ð
ð ×6Ñ6ñó 7ð÷ ,ð ,r7   r]   c                   ó  a € ] tR t^˜t o RtRtR tR tR tR t	]
P                  P                  R 4       t]
P                  P                  ]
P                  P                  R 4       4       t]
P                  P                   R 4       tR	tV tR
# )ÚIsolationLevelTestTc                óò   € \         P                  ! \        4      pVR ,          pVR,          p\        V4      P	                  RV.4      pV'       d   VP                  4       # \        P                  ! R4       R# )ÚdefaultÚ	supportedÚ
AUTOCOMMITz(no non-default isolation level availableN)r   Úget_isolation_levelsr   ÚsetÚ
differencer@   Ú	skip_test)r(   Úlevelsr…   r†   Úss   &    r*   Ú _get_non_default_isolation_levelÚ3IsolationLevelTest._get_non_default_isolation_level�   s\   € Ü×2Ò2´6Ó:ˆà˜Õ#ˆØ˜;Õ'ˆ	ä�	‹N×%Ñ% |°WÐ&=Ó>ˆßØ—5‘5“7ˆNä×ÒÐGÖHr7   c                ó    € \        \        P                  P                  P                  \
        P                  ! \        4      R ,          4       R# )r…   N)r   r   r"   r$   Údefault_isolation_levelr   rˆ   )r(   s   &r*   Útest_default_isolation_levelÚ/IsolationLevelTest.test_default_isolation_level©   s0   € ÜÜ�I‰I×Ñ×5Ñ5Ü×-Ò-¬fÓ5°iÕ@ö	
r7   c                óÌ  € V P                  4       p\        P                  P                  4       ;_uu_ 4       pVP	                  4       p\        W14       VP                  VR 7       \        VP	                  4       V4       VP                  P                  VP                  P                  4       \        VP	                  4       V4       RRR4       R#   + '       g   i     R# ; i)©Úisolation_levelN)rŽ   r   r"   r#   Úget_isolation_levelr   Úexecution_optionsr   r$   Úreset_isolation_levelr&   r'   )r(   Únon_defaultr)   Úexistings   &   r*   Ú test_non_default_isolation_levelÚ3IsolationLevelTest.test_non_default_isolation_level¯   s¢   € Ø×;Ñ;Ó=ˆä�Y‰Y×Ñ× Ô  DØ×/Ñ/Ó1ˆHä�Ô&à×"Ñ"°;Ð"Ô?ä�×(Ñ(Ó*¨KÔ8à�L‰L×.Ñ.Ø—‘×0Ñ0ôô �×(Ñ(Ó*¨HÔ5÷ !× × Ò ús   ·BCÃC#	c                óª  € \         P                  ! \        4      pVR ,          p\        V4      P	                  R.4       Fè  p\        P
                  P                  4       ;_uu_ 4       pVP                  VR7       \        VP                  4       V4       VP                  4       pVP                  4        \        VP                  4       V4       RRR4       \        P
                  P                  4       ;_uu_ 4       p\        VP                  4       VR,          4       RRR4       Kê  	  R#   + '       g   i     Lf; i  + '       g   i     EK  ; i)r†   r‡   r•   Nr…   )r   rˆ   r   r‰   rŠ   r"   r#   r˜   r   r—   rm   rr   )r(   rŒ   Ú
all_levelsÚlevelr)   rs   s   &     r*   Útest_all_levelsÚ"IsolationLevelTest.test_all_levelsÁ   sì   € Ü×2Ò2´6Ó:ˆà˜KÕ(ˆ
ä˜“_×/Ñ/°°Ö?ˆEÜ—‘×"Ñ"×$Ô$¨Ø×&Ñ&°uÐ&Ô=ä�D×,Ñ,Ó.°Ô6àŸ
™
›�Ø—‘Ô ä�D×,Ñ,Ó.°Ô6÷ %ô —‘×"Ñ"×$Ô$¨ÜØ×,Ñ,Ó.Ø˜9Õ%ô÷ %Ñ$ó @ß$×$ú÷ %×$Ñ$ús   Á(A'D-Ã="E Ä-D=Å Ec                óH  € Tp\        \        P                  RR: RVP                  P                  : RRP                  \        P                  ! \        4      R,          4      : 24      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     R# ; i)	z4test for the new get_isolation_level_values() methodúInvalid value 'ÚFOOú3' for isolation_level. Valid isolation levels for 'ú' are ú, r†   r•   N)
r   r   ÚArgumentErrorr$   ÚnameÚjoinr   rˆ   r   r˜   )r(   Úconnection_no_transr&   s   && r*   Ú#test_invalid_level_execution_optionÚ6IsolationLevelTest.test_invalid_level_execution_option×   s   € ð )ˆ
Ü"Ü×Òó Ø×"Ñ"×'Ô'Ø—	‘	Ü ×5Ò5´fÓ=¸kÕJõð÷
õ 
ð ×(Ñ(¸Ð(Ô?÷
÷ 
÷ 
ò 
ús   Á3BÂB!	c                óf  € V! \        RR7      R7      p\        \        P                  RR: RVP                  P
                  : RRP                  \        P                  ! \        4      R,          4      : 24      ;_uu_ 4        VP                  4        R	R	R	4       R	#   + '       g   i     R	# ; i)
zutest for the new get_isolation_level_values() method
and support for the dialect-level 'isolation_level' parameter.

r¥   r•   ©Úoptionsr¤   r¦   r§   r¨   r†   N)Údictr   r   r©   r$   rª   r«   r   rˆ   r   r#   )r(   Útesting_engineÚengs   && r*   Útest_invalid_level_engine_paramÚ2IsolationLevelTest.test_invalid_level_engine_paramê   s   € ñ ¤T¸%Ô%@ÔAˆÜ"Ü×Òó Ø—‘× Ô Ø—	‘	Ü ×5Ò5´fÓ=¸kÕJõð÷
õ 
ð �K‰KŒM÷
÷ 
÷ 
ò 
ús   ÂBÂB0	c                óÂ  € \         P                  ! \        4      pVR ,          p\        \	        VR,          4      P                  VR.4      4      ^ ,          pV! RV/R7      pVP                  4       ;_uu_ 4       p\        VP                  4       V4       RRR4       VP                  4       ;_uu_ 4       pVP                  VR7       \        VP                  4       V4       RRR4       VP                  4       ;_uu_ 4       p\        VP                  4       V4       RRR4       R#   + '       g   i     Lš; i  + '       g   i     L`; i  + '       g   i     R# ; i)r…   r†   r‡   r–   r°   Nr•   )
r   rˆ   r   Úsortedr‰   rŠ   r#   r   r—   r˜   )r(   r³   rŒ   r…   r†   Úer)   s   &&     r*   Ú%test_dialect_user_setting_is_restoredÚ8IsolationLevelTest.test_dialect_user_setting_is_restored  sÿ   € ä×2Ò2´6Ó:ˆØ˜Õ#ˆäÜ�F˜;Õ'Ó(×3Ñ3°W¸lÐ4KÓLóð õ	ˆ	ñ Ð$5°yÐ#AÔBˆà�Y‰Y�[Œ[˜DÜ�×(Ñ(Ó*¨IÔ6÷ ð �Y‰Y�[Œ[˜DØ×"Ñ"°7Ð"Ô;Ü�×(Ñ(Ó*¨GÔ4÷ ð �Y‰Y�[Œ[˜DÜ�×(Ñ(Ó*¨IÔ6÷ ‰[÷ �[ú÷ �[ú÷ �[ˆ[ús$   Á:D'Â5-D:ÄEÄ'D7	Ä:E
	ÅE	r-   Nr•   )r.   r/   r0   r1   r2   Ú__requires__rŽ   r’   rœ   r¡   r   ÚrequiresÚget_isolation_level_valuesr­   Ú#dialect_level_isolation_level_paramrµ   Ú independent_readonly_connectionsrº   r3   r4   r5   s   @r*   rƒ   rƒ   ˜   sš   ø‡ € Ø€Kà'€Lò
Iò
ò6ò$ð, ×Ñ×0Ñ0ñ@ó 1ð@ð$ ×Ñ×0Ñ0Ø×Ñ×9Ñ9ñó :ó 1ðð* ×Ñ×6Ñ6ñ7ó 7ö7r7   rƒ   c                   óX  a € ] tR tRt o RtRtRt]R 4       tRR lt	R t
R tR	 t]P                  P                  ]P                   ! R
. RO4      ]P                   ! RRR.4      R 4       4       4       t]P                  P$                  ]P                   ! RRR.4      R 4       4       tRtV tR# )ÚAutocommitIsolationTesti  r^   Tc                ón   € \        R V\        R\        RRR7      \        R\        ^24      4      RR7       R# )Ú
some_tablera   TFrb   re   )Útest_needs_acidNrf   rg   s   &&r*   ri   Ú%AutocommitIsolationTest.define_tables  s/   € äØØÜ�4œ¨dÀ%ÔHÜ�6œ6 "›:Ó&Ø ÷	
r7   Fc                óÐ  € V'       d8   V P                   P                  P                  VR R7       VP                  4        VP	                  4       pVP                  V P                   P                  P                  4       R^RR/4       VP                  4        \        VP                  \        V P                   P                  P                  P                  4      4      V'       d   ^MR4       VP                  4        VP	                  4       ;_uu_ 4        VP                  V P                   P                  P                  4       4       RRR4       R#   + '       g   i     R# ; i)T)Ú
checkfirstra   re   z	some dataN)ro   rÄ   ÚcreateÚcommitrm   rn   rp   rr   r   Úscalarr   Úcra   Údelete)r(   r)   Ú
autocommitÚensure_tablers   s   &&&& r*   Ú_test_conn_autocommitsÚ.AutocommitIsolationTest._test_conn_autocommits)  sæ   € ßØ�K‰K×"Ñ"×)Ñ)¨$¸4Ð)Ô@Ø�K‰KŒMà—
‘
“ˆØ�‰Ø�K‰K×"Ñ"×)Ñ)Ó+¨d°A°v¸{Ð-Kô	
ð 	�‰ÔäØ�K‰Kœ˜tŸ{™{×5Ñ5×7Ñ7×:Ñ:Ó;Ó<ß‰A ô	
ð 	�‰Œà�Z‰Z�\�\Ø�L‰L˜Ÿ™×/Ñ/×6Ñ6Ó8Ô9÷ �\�\Š\ús   Ä4EÅE%	c                óÔ   € TpVP                  R R7      pV P                  VR4       VP                  P                  VP                  P
                  4       V P                  VR4       R# )r‡   r•   TFN)r˜   rÐ   r$   r™   r&   r'   )r(   r¬   r)   Úc2s   &&  r*   Útest_autocommit_onÚ*AutocommitIsolationTest.test_autocommit_on=  sV   € Ø"ˆØ×#Ñ#°LÐ#ÓAˆØ×#Ñ# B¨Ô-à
�
‰
×(Ñ(¨¯©×)GÑ)GÔHà×#Ñ# D¨%Ö0r7   c                ó.   € TpV P                  VR 4       R# )FN)rÐ   ©r(   r¬   r)   s   && r*   Útest_autocommit_offÚ+AutocommitIsolationTest.test_autocommit_offF  s   € Ø"ˆØ×#Ñ# D¨%Ö0r7   c                óØ   € TpVP                  R R7      pV P                  VR4       VP                  \        P                  ! \        4      R,          R7       V P                  VR4       R# )r‡   r•   Tr…   FN)r˜   rÐ   r   rˆ   r   r×   s   && r*   Ú.test_turn_autocommit_off_via_default_iso_levelÚFAutocommitIsolationTest.test_turn_autocommit_off_via_default_iso_levelJ  sg   € ð #ˆØ×%Ñ%°lÐ%ÓCˆØ×#Ñ# D¨$Ô/à×ÑÜ(×=Ò=¼fÓEØõð 	ô 	
ð
 	×#Ñ# D¨%Ö0r7   Úautocommit_settingÚblock_rollbackc                óâ  € / p\        V4      '       d   R VR&   VP                  '       d   RVR&   V! VR7      pVP                  4       pVP                  '       d   VP	                  RR7       T P                  TVP                  ;'       g    VP                  R R7       \        P                  P                  VP                  RVP                  P                  R7      ;_uu_ 4       pVP                  4        R	R	R	4       VP                  '       g	   V'       g-   \        XP                  \        P                  ! 4       .4       R	# \        XP                  . 4       R	#   + '       g   i     Ln; i)
TÚskip_autocommit_rollbackr‡   r–   r°   r•   )rÏ   rr   )ÚwrapsN)ÚboolÚenginer#   Úoptionr˜   rÐ   r   ÚpatchÚobjectr&   rr   ÚcloseÚfalser   Ú
mock_callsÚcall)r(   r³   rÝ   rÞ   Úkwrã   r)   Úcheck_rollbacks   &&&&    r*   Útest_autocommit_blockÚ-AutocommitIsolationTest.test_autocommit_blockX  s!  € ð ˆÜ�×ÒØ-1ˆBÐ)Ñ*Ø×$×$Ð$Ø$0ˆBÐ Ñ!á¨Ô+ˆà�~‰~ÓˆØ×$×$Ð$Ø×"Ñ"°<Ð"Ô@Ø×#Ñ#ØØ×%Ñ%×BÐBÐ);×)BÑ)BØð 	$ô 	
ô
 �Z‰Z×ÑØ�O‰O˜Z¨t¯©×/GÑ/Gð ÷ 
ô 
àØ�J‰JŒL÷
ð ×#×#Ð#¯>Ü�×)Ñ)¬D¯IªI«K¨=Ö9ä�×)Ñ)¨2Ö.÷
÷ 
ús   Ã'EÅE.	Úuse_dialect_settingc                ól  € V'       d   V! RR/R7      pMV! 4       P                  RR7      p\        P                  ! \        4      pVR,          pVP	                  4       ;_uu_ 4       pV P                  VR4       RRR4       VP	                  4       ;_uu_ 4       pVP                  VR7       V P                  VR4       RRR4       VP	                  4       ;_uu_ 4       pV P                  VR4       RRR4       R#   + '       g   i     LŠ; i  + '       g   i     LX; i  + '       g   i     R# ; i)	ztest #10147r–   r‡   r°   r•   r…   TNF)r˜   r   rˆ   r   r#   rÐ   )r(   r³   rï   r¹   rŒ   r…   r)   s   &&&    r*   Ú#test_dialect_autocommit_is_restoredÚ;AutocommitIsolationTest.test_dialect_autocommit_is_restoredw  så   € ÷ ÙÐ(9¸<Ð'HÔI‰AáÓ ×2Ñ2Ø ,ð 3ó ˆAô ×2Ò2´6Ó:ˆà˜Õ#ˆà�Y‰Y�[Œ[˜DØ×'Ñ'¨¨dÔ3÷ ð �Y‰Y�[Œ[˜DØ×"Ñ"°7Ð"Ô;Ø×'Ñ'¨¨eÔ4÷ ð �Y‰Y�[Œ[˜DØ×'Ñ'¨¨dÔ3÷ ‰[÷ �[ú÷ �[ú÷ �[ˆ[ús$   Á'C<Â%DÃD"Ã<D	ÄD	Ä"D3	r-   N)rÎ   )F)rè   rã   rä   )r.   r/   r0   r1   r   r¼   r2   r€   ri   rÐ   rÔ   rØ   rÛ   r   r½   rà   Ú	variationrí   rÀ   rñ   r3   r4   r5   s   @r*   rÂ   rÂ     sÆ   ø‡ € Ø€Kà"€Là€Kàñ
ó ð
ô:ò(1ò1ò1ð ×Ñ×.Ñ.Ø×ÒÐ+Ò-JÓKØ×ÒÐ'¨$°¨Ó7ñ/ó 8ó Ló /ð/ð8 ×Ñ×6Ñ6Ø×ÒÐ,¨t°U¨mÓ<ñ4ó =ó 7ö4r7   rÂ   c                   ó0   a € ] tR tRt o ]R 4       tRtV tR# )ÚEscapingTesti”  c                óf  € V P                   p\        RV\        R\        ^24      4      4      pVP	                  \
        P                  4       \
        P                  P                  4       ;_uu_ 4       pVP                  VP                  4       \        RR7      4       VP                  VP                  4       \        RR7      4       \        VP                  \        VP                  P                  4      P!                  VP                  P                  \#        R4      8H  4      4      R4       \        VP                  \        VP                  P                  4      P!                  VP                  P                  \#        R4      8H  4      4      R4       RRR4       R#   + '       g   i     R# ; i)	zltest that the DBAPI accommodates for escaped / nonescaped
percent signs in a way that matches the compiler

Útre   zsome % value)re   zsome %% other valuez'some % value'z'some %% other value'N)rh   r   r   r   rÉ   r   r"   rm   rn   rp   r²   r   rË   r   rÌ   re   Úwherer   )r(   Úmr÷   r)   s   &   r*   Útest_percent_sign_round_tripÚ)EscapingTest.test_percent_sign_round_trip•  s!  € ð �M‰MˆÜ�#�qœ& ¬°«Ó4Ó5ˆØ	�‰”—‘ÔÜ�Y‰Y�_‰_×Ô $Ø�L‰L˜Ÿ™›¤T¨~Ô%>Ô?Ø�L‰L˜Ÿ™›¤TÐ/DÔ%EÔFäØ—‘Ü˜1Ÿ3™3Ÿ8™8Ó$×*Ñ*ØŸ™Ÿ™¤NÐ3CÓ$DÑDóóð
 ôô Ø—‘Ü˜1Ÿ3™3Ÿ8™8Ó$×*Ñ*ØŸ™Ÿ™¤NÐ3JÓ$KÑKóóð
 &ô÷ ××Òús   Á2D#FÆF0	r-   N)r.   r/   r0   r1   r   rú   r3   r4   r5   s   @r*   rõ   rõ   ”  s   ø‡ € Øñó ör7   rõ   c                   ó@   a € ] tR tRt o RtR	tR tR tR tR t	Rt
V tR# )
Ú WeCanSetDefaultSchemaWEventsTestiµ  Tc                ó"  € \         P                  P                  P                  p\        P
                  ! 4       pVP                  4       ;_uu_ 4         R R R 4       \        VP                  P                  V4       R #   + '       g   i     L2; ir!   )r   r"   r$   Údefault_schema_namer   r³   r#   r   )r(   rÿ   r´   s   &  r*   Útest_control_caseÚ2WeCanSetDefaultSchemaWEventsTest.test_control_caseº  sX   € Ü$Ÿi™i×/Ñ/×CÑCÐä×$Ò$Ó&ˆØ�[‰[�]�]Ø÷ ô 	ˆC�K‰K×+Ñ+Ð-@ÖA÷ �]ús   ÁA>Á>B	c                óÄ  € \         P                  P                  P                  p\        P
                  ! 4       p\        P                  ! VR 4      R 4       pVP                  4       ;_uu_ 4       pVP                  P                  V4      p\        V\         P                  4       RRR4       \        VP                  P                  V4       R#   + '       g   i     L2; i)r#   c                 óD   € \        \        V \        P                  4       R # r!   ©r   r   Útest_schema©r'   Úconnection_records   &&r*   Ú
on_connectÚMWeCanSetDefaultSchemaWEventsTest.test_wont_work_wo_insert.<locals>.on_connectÈ  ó   € ä,ÜÐ(¬&×*<Ñ*<ör7   N)r   r"   r$   rÿ   r   r³   r   Úlistens_forr#   Ú_get_default_schema_namer   r  )r(   rÿ   r´   r  r)   Úwhat_it_should_bes   &     r*   Útest_wont_work_wo_insertÚ9WeCanSetDefaultSchemaWEventsTest.test_wont_work_wo_insertÃ  sž   € Ü$Ÿi™i×/Ñ/×CÑCÐä×$Ò$Ó&ˆä	×	Ò	˜3 	Ó	*ñ	ó 
+ð	ð
 �[‰[�]Œ]˜dØ #§¡× DÑ DÀTÓ JÐÜÐ!¤6×#5Ñ#5Ô6÷ ô 	ˆC�K‰K×+Ñ+Ð-@ÖA÷	 �]ús   Á/6CÃC	c                óœ  € \         P                  ! 4       p\        P                  ! VR RR7      R 4       pVP	                  4       ;_uu_ 4       pVP
                  P                  V4      p\        V\        P                  4       RRR4       \        VP
                  P                  \        P                  4       R#   + '       g   i     L@; i)r#   T©rp   c                 óD   € \        \        V \        P                  4       R # r!   r  r  s   &&r*   r  ÚRWeCanSetDefaultSchemaWEventsTest.test_schema_change_on_connect.<locals>.on_connect×  r
  r7   N)r   r³   r   r  r#   r$   r  r   r   r  rÿ   )r(   r´   r  r)   r  s   &    r*   Útest_schema_change_on_connectÚ>WeCanSetDefaultSchemaWEventsTest.test_schema_change_on_connectÔ  s�   € Ü×$Ò$Ó&ˆä	×	Ò	˜3 	°$Ô	7ñ	ó 
8ð	ð
 �[‰[�]Œ]˜dØ #§¡× DÑ DÀTÓ JÐÜÐ!¤6×#5Ñ#5Ô6÷ ô 	ˆC�K‰K×+Ñ+¬V×-?Ñ-?Ö@÷	 �]ús   Á6B;Â;C	c                óF  € \         P                  ! 4       p\        P                  ! VR RR7      R 4       pVP	                  4       ;_uu_ 4       pVP                  4       pVP                  P                  V4      p\        V\        P                  4       VP                  4        VP                  P                  V4      p\        V\        P                  4       RRR4       \        VP                  P                  \        P                  4       R#   + '       g   i     L@; i)r#   Tr  c                 óD   € \        \        V \        P                  4       R # r!   r  )r'   Úargs   &*r*   r  Ú\WeCanSetDefaultSchemaWEventsTest.test_schema_change_works_w_transactions.<locals>.on_connectæ  r
  r7   N)r   r³   r   r  r#   rm   r$   r  r   r   r  rr   rÿ   )r(   r´   r  r)   rs   r  s   &     r*   Ú'test_schema_change_works_w_transactionsÚHWeCanSetDefaultSchemaWEventsTest.test_schema_change_works_w_transactionsã  sÊ   € Ü×$Ò$Ó&ˆä	×	Ò	˜3 	°$Ô	7ñ	ó 
8ð	ð
 �[‰[�]Œ]˜dØ—J‘J“LˆEØ #§¡× DÑ DÀTÓ JÐÜÐ!¤6×#5Ñ#5Ô6Ø�N‰NÔà #§¡× DÑ DÀTÓ JÐÜÐ!¤6×#5Ñ#5Ô6÷ ô 	ˆC�K‰K×+Ñ+¬V×-?Ñ-?Ö@÷ �]ús   ÁBDÄD 	r-   N)Údefault_schema_name_switch)r.   r/   r0   r1   r2   r¼   r   r  r  r  r3   r4   r5   s   @r*   rý   rý   µ  s-   ø‡ € Ø€Kà2€LòBòBò"A÷Að Ar7   rý   c                   ó   € ] tR tRtRtR# )Ú&FutureWeCanSetDefaultSchemaWEventsTestiø  r-   N)r.   r/   r0   r1   r3   r-   r7   r*   r  r  ø  s   † ó 	r7   r  c                   óú   a € ] tR tRt o Rt]P                  ! RRRRRRRRRRRRRRRRRRRRRRR7      t]]P                  P                  R 4       4       t]P                  R 4       t]R 4       t]R 4       tR	tV tR
# ) ÚDifficultParametersTestiþ  TÚ	paramname)Úargnamesc                óŽ  € Tp\        R V\        R\        RR7      \        V\        ^24      RR7      4      pVP	                  V4       VP                  VP                  4       P                  R^VR/4      4       \        VP                  V,          4      P                  VP                  V,          R8H  4      p\        VP                  V4      R4       \        VP                  V,          4      P                  VP                  V,          \        V4      8H  4      pVP                  WdR/4      P                  4       p\        VP                  V,          R4       \        VP                  V,          4      P                  VP                  V,          P!                  RR.4      4      pVP                  V4      P                  4        R# )	r÷   ra   T)rc   F)Únullablez	some namezsome other_nameN)r   r   r   r   rÉ   rn   rp   Úvaluesr   rÌ   rø   r   rË   r   ÚfirstÚ_mappingÚin_)r(   r!  r&   rh   rª   r÷   ÚstmtÚrows   &&&&    r*   Ú!test_round_trip_same_named_columnÚ9DifficultParametersTest.test_round_trip_same_named_column  sc  € ð
 ˆäØØÜ�4œ¨dÔ3Ü�4œ ›¨eÔ4ó	
ˆð 	
�‰�Ôð 	×Ñ˜1Ÿ8™8›:×,Ñ,¨d°A°t¸[Ð-IÓJÔKô �a—c‘c˜$•iÓ ×&Ñ& q§s¡s¨4¥y°KÑ'?Ó@ˆäˆJ×Ñ˜dÓ# [Ô1ô �a—c‘c˜$•iÓ ×&Ñ& q§s¡s¨4¥y´I¸d³OÑ'CÓDˆà× Ñ  ¨kÐ':Ó;×AÑAÓCˆô 	ˆC�L‰L˜Õ Ô,ô �a—c‘c˜$•iÓ ×&Ñ&Ø�C‰C��I�M‰M˜;Ð(9Ð:Ó;ó
ˆð 	×Ñ˜4Ó ×&Ñ&Ö(r7   c              #  ó6  "  € \        R V\        R\        4      \        R\        ^24      4      \        R\        ^24      4      4      pVP	                  V4       VP                  VP                  4       R^RRRR/R^RRRR/R^RRRR	/R^RR
RR/.4       Vx € R# 5i)ÚmytableÚmyidrª   ÚdescÚaÚa_descÚbÚb_descrÌ   Úc_descrC   Úd_descN)r   r   r   r   rÉ   rn   rp   )r(   rh   r&   r.  s   &&& r*   Úmultirow_fixtureÚ(DifficultParametersTest.multirow_fixtureB  s­   é € äØØÜ�6œ7Ó#Ü�6œ6 "›:Ó&Ü�6œ6 "›:Ó&ó
ˆð 	�‰�zÔ"à×ÑØ�N‰NÓà˜˜F C¨°Ð:Ø˜˜F C¨°Ð:Ø˜˜F C¨°Ð:Ø˜˜F C¨°Ð:ð	ô	
ð Œùs   ‚BBc                óè   € Tp\        VP                  P                  4      P                  VP                  P                  \        VR R7      8H  4      pVP                  WQR/4      p\        V^4       R# )Úx©ÚvaluerÌ   N)r   rÌ   r/  rø   rª   r   rË   r   ©r(   r!  r&   r7  Útbl1r)  Úress   &&&&   r*   Ú test_standalone_bindparam_escapeÚ8DifficultParametersTest.test_standalone_bindparam_escapeY  s]   € ð  ˆÜ�d—f‘f—k‘kÓ"×(Ñ(Ø�F‰F�K‰Kœ9 Y°cÔ:Ñ:ó
ˆð ×Ñ °#Ð&6Ó7ˆÜˆC�Žr7   c           	     ón  € Tp\        VP                  P                  4      P                  VP                  P                  P                  \        VR R.R7      4      4      P                  VP                  P                  4      pVP                  WQRR ./4      P                  4       p\        V^^.4       R# )r1  r3  r;  rC   N)r   rÌ   r/  rø   rª   r(  r   Úorder_byÚscalarsÚallr   r=  s   &&&&   r*   Ú*test_standalone_bindparam_escape_expandingÚBDifficultParametersTest.test_standalone_bindparam_escape_expandingd  sˆ   € ð  ˆä�4—6‘6—;‘;Óß‰U�4—6‘6—;‘;—?‘?¤9¨Y¸sÀC¸jÔ#IÓJÓKß‰X�d—f‘f—k‘kÓ"ð 	ð × Ñ  °C¸°:Ð'>Ó?×CÑCÓEˆÜˆC�!�Q�Ör7   r-   N)Úboring)zper cent)z
per % cent)z%percent)zpar(ens))zpercent%(ens)yah)zcol:ons)Ú_starts_with_underscore)zdot.s)zmore :: %colons%)Ú_name)Ú___name)z[BracketsAndCase])Ú	42numbers)zpercent%signs)z
has spaces)z	/slashes/)zmore/slashes)zq?marks)Ú1param)z1col:on)r.   r/   r0   r1   r2   r   ÚcombinationsÚtough_parametersr   r   Úunusual_column_name_charactersr+  rZ   r7  r@  rF  r3   r4   r5   s   @r*   r   r   þ  sÆ   ø‡ € Ø€Kà×+Ò+ØØØØØØØØ$ØØØØØØØØØØØØØØô-Ðð2 Ø×Ñ×7Ñ7ñ$)ó 8ó ð$)ðL ‡_�_ñó ðð, ñó ðð ñó ör7   r   c                   ó²   a € ] tR tRt o RtRt]R 4       t]P                  R 4       t
R tR t]P                  P                  R 4       tR	 tR
 tR tRtV tR# )ÚReturningGuardsTestis  z=test that the various 'returning' flags are set appropriatelyTc                ój   € \        R V\        R\        RRR7      \        R\        ^24      4      4       R# )r÷   ra   TFrb   re   Nrf   rg   s   &&r*   ri   Ú!ReturningGuardsTest.define_tablesx  s,   € äØØÜ�4œ¨dÀ%ÔHÜ�6œ6 "›:Ó&ö		
r7   c                óD   aa€ V P                   P                  oVV3R  lpV# )c                 ó,  <€ V P                  SP                  P                  4      p V'       dÅ   V'       g~   \        \        P
                  R SP                  P                   RSP                  P                   R24      ;_uu_ 4        SP                  V V^RR/V^RR/V^RR/.4       RRR4       R# SP                  V V^RR/V^RR/V^RR/.4      p\        VP                  4       . R	O4       R# V'       gB   \        \        P                  4      ;_uu_ 4        SP                  W^RR/4       RRR4       R# SP                  W^RR/4      p\        VP                  4       R.4       R#   + '       g   i     R# ; i  + '       g   i     R# ; i)
zDialect z\+zW with current server capabilities does not support .*RETURNING when executemany is usedre   rl   Úd2Úd3N©é   )rY  )é   )é   )Ú	returningrÌ   ra   r   r   ÚStatementErrorr$   rª   Údriverrn   r   rE  r   rw   )r)  ÚexecutemanyÚid_param_nameÚexpect_successÚresultr&   r÷   s   &&&& €€r*   ÚgoÚ(ReturningGuardsTest.run_stmt.<locals>.go…  s†  ø€ Ø—>‘> !§#¡#§&¡&Ó)ˆDçß%ô /Ü×*Ñ*Ø# J×$6Ñ$6×$;Ñ$;Ð#<¸BØ%×-Ñ-×4Ñ4Ð5ð 6?ð@÷õ ð #×*Ñ*Ø à!.°°6¸4Ð @Ø!.°°6¸4Ð @Ø!.°°6¸4Ð @ðô÷ñ ð  (×/Ñ/Øà*¨A¨v°tÐ<Ø*¨A¨v°tÐ<Ø*¨A¨v°tÐ<ðó�Fô ˜Ÿ
™
›Ò&8Ö9ç%ô '¤s§~¡~×6Õ6Ø"×*Ñ*Ø °!°V¸TÐ"Bô÷ 7Ñ6ð
 (×/Ñ/Ø¨a°¸Ð>ó�Fô ˜Ÿ
™
› t fÖ-÷K÷ ð ú÷: 7×6Ð6ús   Â"E.ÄFÅ.E?	ÆF	)ro   r÷   )r(   r&   rd  r÷   s   &f @r*   Úrun_stmtÚReturningGuardsTest.run_stmt�  s   ù€ à�K‰K�M‰Mˆö-	.ð^ ˆ	r7   c                ó�   € V P                   P                  pVP                  4       pV! VR RVP                  P                  4       R# )Fra   N)ro   r÷   rp   r$   Úinsert_returning©r(   r&   rf  r÷   r)  s   &&&  r*   Útest_insert_singleÚ&ReturningGuardsTest.test_insert_single¶  s4   € Ø�K‰K�M‰Mˆà�x‰x‹zˆá��u˜d J×$6Ñ$6×$GÑ$GÖHr7   c                ó�   € V P                   P                  pVP                  4       pV! VR RVP                  P                  4       R# )Tra   N)ro   r÷   rp   r$   Úinsert_executemany_returningrj  s   &&&  r*   Útest_insert_manyÚ$ReturningGuardsTest.test_insert_many½  s7   € Ø�K‰K�M‰Mˆà�x‰x‹zˆáØ�$˜˜j×0Ñ0×MÑMö	
r7   c           	     óL  € V P                   P                  pVP                  VP                  4       R ^RR/R ^RR/R ^RR/.4       VP	                  4       P                  VP                  P                  \        R4      8H  4      pV! VRRVP                  P                  4       R# ©ra   re   rl   rW  rX  Úb_idFN)ro   r÷   rn   rp   Úupdaterø   rÌ   ra   r   r$   Úupdate_returningrj  s   &&&  r*   Útest_update_singleÚ&ReturningGuardsTest.test_update_singleÆ  s“   € à�K‰K�M‰Mˆà×ÑØ�H‰H‹Jà�q˜& $Ð'Ø�q˜& $Ð'Ø�q˜& $Ð'ðô	
ð �x‰x‹z×Ñ §¡§¡¬)°FÓ*;Ñ ;Ó<ˆá��u˜f j×&8Ñ&8×&IÑ&IÖJr7   c           	     óL  € V P                   P                  pVP                  VP                  4       R ^RR/R ^RR/R ^RR/.4       VP	                  4       P                  VP                  P                  \        R4      8H  4      pV! VRRVP                  P                  4       R# ©ra   re   rl   rW  rX  rs  TN)ro   r÷   rn   rp   rt  rø   rÌ   ra   r   r$   Úupdate_executemany_returningrj  s   &&&  r*   Útest_update_manyÚ$ReturningGuardsTest.test_update_many×  ó–   € Ø�K‰K�M‰Mˆà×ÑØ�H‰H‹Jà�q˜& $Ð'Ø�q˜& $Ð'Ø�q˜& $Ð'ðô	
ð �x‰x‹z×Ñ §¡§¡¬)°FÓ*;Ñ ;Ó<ˆáØ�$˜ 
× 2Ñ 2× OÑ Oö	
r7   c           	     óL  € V P                   P                  pVP                  VP                  4       R ^RR/R ^RR/R ^RR/.4       VP	                  4       P                  VP                  P                  \        R4      8H  4      pV! VRRVP                  P                  4       R# rr  )ro   r÷   rn   rp   rÍ   rø   rÌ   ra   r   r$   Údelete_returningrj  s   &&&  r*   Útest_delete_singleÚ&ReturningGuardsTest.test_delete_singleé  s“   € Ø�K‰K�M‰Mˆà×ÑØ�H‰H‹Jà�q˜& $Ð'Ø�q˜& $Ð'Ø�q˜& $Ð'ðô	
ð �x‰x‹z×Ñ §¡§¡¬)°FÓ*;Ñ ;Ó<ˆá��u˜f j×&8Ñ&8×&IÑ&IÖJr7   c           	     óL  € V P                   P                  pVP                  VP                  4       R ^RR/R ^RR/R ^RR/.4       VP	                  4       P                  VP                  P                  \        R4      8H  4      pV! VRRVP                  P                  4       R# ry  )ro   r÷   rn   rp   rÍ   rø   rÌ   ra   r   r$   Údelete_executemany_returningrj  s   &&&  r*   Útest_delete_manyÚ$ReturningGuardsTest.test_delete_manyù  r}  r7   r-   N)r.   r/   r0   r1   rY   r2   r€   ri   r   rZ   rf  rk  ro  r½   Ú&update_returning_dialect_not_supportedrv  r{  r€  r„  r3   r4   r5   s   @r*   rR  rR  s  sz   ø‡ € ÙGà€Kàñ
ó ð
ð ‡_�_ñ2ó ð2òhIò
ð ×Ñ×<Ñ<ñKó =ðKò 
ò$K÷ 
ð 
r7   rR  )/r>   Ú r   r   r   r   r   r   r	   r
   r   r   r   Ú
assertionsr   r   r   Ú	provisionr   Úschemar   r   r   r   r   r   r   r   r   r   Úsql.compilerr   Úutilr   ÚTestBaser   r9   Ú
TablesTestr]   rƒ   rÂ   rõ   rý   ÚFutureEngineMixinr  r   rR  r-   r7   r*   Ú<module>r�     s&  ðó å Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý &Ý .Ý !Ý 8Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý $Ý *ôˆx× Ñ ô ô*�x×(Ñ(ô *ôZ5,�H×'Ñ'ô 5,ôp}7˜×*Ñ*ô }7ô@y4˜h×1Ñ1ô y4ôx�8×$Ñ$ô ôB@A x×'8Ñ'8ô @AôF	Ø×ÑÐ @ô	ôr˜h×/Ñ/ô rôjV
˜(×-Ñ-ö V
r7   