+
    ia                        ^ 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   & C:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy/testing/suite/test_dialect.pytest_do_pingPingTest.test_do_ping,   sP    ZZ!!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LL++-.I s   (B/B8B)paramsc              #  *   "   VP                   x  R # 5ir!   )param)r(   requests   &&r*   all_subclassesArgSignatureTest.all_subclassesM   s     mm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_kw1ArgSignatureTest.test_all_visit_methods_accept_kwQ   sc    A||H%%s-d3JJ,S\\N!A3 ?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# )	ExceptionTestzTest 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66":&		
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    YY  DJJLELL%%,,.q&$0G ""%%,,.q&$'	 NN !   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    YY  D1 VN7$;<=u>> 1c(388}C0001
 gs++++ !   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_level3IsolationLevelTest._get_non_default_isolation_level   s\    226:#;'		N%%|W&=>557N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    II55--f5i@	
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_level3IsolationLevelTest.test_non_default_isolation_level   s    ;;=YY  D//1H&"";"?((*K8LL..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26: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 'FOO3' 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_option6IsolationLevelTest.test_invalid_level_execution_option   s     )
" ""''		 55f=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_param2IsolationLevelTest.test_invalid_level_engine_param   s     T%%@A"   		 55f=kJ
 
 KKM
 
 
 
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_restored8IsolationLevelTest.test_dialect_user_setting_is_restored  s    226:#F;'(33Wl4KL 		 $5y#ABYY[[D((*I6  YY[[D""7";((*G4  YY[[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66":& 	
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    KK""))$4)@KKM

KK""))+dAv{-K	
 	KKt{{5577::;<A	
 	ZZ\\LL//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_levelFAutocommitIsolationTest.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!    -1B)*$$$$0B !+~~$$$""<"@##%%BB);)B)B 	$ 	

 ZZOOZt/G/G  
 
JJL
 ###>))DIIK=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IA 22 , 3 A 226:#YY[[D''d3  YY[[D""7";''e4  YY[[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,tUm<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!    MM#q&45	YY__$LLT~%>?LLT/D%EF13388$**N3C$DD
  13388$**N3J$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_case2WeCanSetDefaultSchemaWEventsTest.test_control_case  sX    $ii//CC$$&[[]]  	CKK++-@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_connectMWeCanSetDefaultSchemaWEventsTest.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_insert9WeCanSetDefaultSchemaWEventsTest.test_wont_work_wo_insert  s    $ii//CC$$&			3		*	 
+	
 [[]]d # D DT J!6#5#56  	CKK++-@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 DT J!6#5#56  	CKK++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_transactionsHWeCanSetDefaultSchemaWEventsTest.test_schema_change_works_w_transactions  s    $$&			3	$	7	 
8	
 [[]]dJJLE # D DT J!6#5#56NN # D DT J!6#5#56  	CKK++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2L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_column9DifficultParametersTest.test_round_trip_same_named_column  sc   
 4d34e4	
 	
 	188:,,dAt[-IJK acc$i &&qss4yK'?@Jd#[1 acc$i &&qss4yIdO'CD  k':;AAC 	CLL, acc$i &&CCIMM;(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     67#66":&66":&
 	z"NNFC:FC:FC:FC:		
 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_escape8DifficultParametersTest.test_standalone_bindparam_escapeY  s]      dffkk"((FFKK9Yc::
 #&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_expandingBDifficultParametersTest.test_standalone_bindparam_escape_expandingd  s      466;;U466;;??9YsCj#IJKXdffkk" 	   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R 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66":&		
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?@  #** !.64 @!.64 @!.64 @   (//*Avt<*Avt<*Avt<F 

&89% 's~~66"** !VT"B 76
 (//a>F 

tf-K  : 766s   "E.F.E?	F	)ro   r   )r(   r&   rd  r   s   &f @r*   run_stmtReturningGuardsTest.run_stmt  s    KKMM-	.^ 	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    KKMMxxzudJ$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    KKMMxxz$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      KKMMHHJq&$'q&$'q&$'	
 xxz)F*; ;<ufj&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      KKMMHHJq&$'q&$'q&$'	
 xxz)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  rx  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# rz  )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  rv  r|  r  r  r3   r4   r5   s   @r*   rR  rR  s  s^     GK
 
 __2 2hI
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4h11 y4x8$$ B@Ax'8'8 @AF	 @	rh// rjU
(-- U
r7   