+
    }¯³j.ó  ã                   ó¸  € ^ RI Ht ^ 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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&]PX                  4      t- ! R' R(]PX                  4      t. ! R) R*]P^                  4      t0 ! R+ R,]PX                  4      t1 ! R- R.]PX                  4      t2 ! R/ R0]PX                  4      t3 ! R1 R2]PX                  4      t4 ! R3 R4]]]PX                  4      t5 ! R5 R6]PX                  4      t6 ! R7 R8]PX                  4      t7 ! R9 R:]PX                  4      t8 ! R; R<]PX                  4      t9 ! R= R>]PX                  4      t: ! R? R@]PX                  4      t; ! RA RB]]PX                  4      t< ! RC RD]PX                  4      t= ! RE RF]PX                  4      t> ! RG RH]PX                  4      t?R# )Ié    N)ÚAssertsCompiledSQL)ÚAssertsExecutionResults)Úconfig)Úfixtures)Úassert_raises)Úeq_)Úin_)Ú	CursorSQL)ÚColumn)ÚTable)Ú	bindparam)Úcase)Úcolumn)ÚComputed)Úexists)Úfalse)Ú
ForeignKey)Úfunc)ÚIdentity)ÚInteger)Úliteral)Úliteral_column)Únull)Úselect)ÚString)Útable)Útesting)Útext)Útrue)Útuple_)Ú	TupleType)Úunion)Úvalues)ÚDatabaseError)ÚProgrammingErrorc                   ó‚   a € ] tR t^1t o Rt]R 4       t]R 4       tR t]	P                  P                  R 4       tRtV tR# )ÚCollateTestTc                óh   € \        R V\        R\        RR7      \        R\        ^d4      4      4       R# ©Ú
some_tableÚidT©Úprimary_keyÚdataN©r   r   r   r   ©ÚclsÚmetadatas   &&Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/testing/suite/test_select.pyÚdefine_tablesÚCollateTest.define_tables4   s*   € äØØÜ�4œ¨dÔ3Ü�6œ6 #›;Ó'ö		
ó    c                ó‚   € VP                  V P                  P                  P                  4       R ^RR/R ^RR/.4       R# )r+   r.   úcollate data1úcollate data2N©ÚexecuteÚtablesr*   Úinsert©r1   Ú
connections   &&r3   Úinsert_dataÚCollateTest.insert_data=   sC   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*à�q˜& /Ð2Ø�q˜& /Ð2ðö	
r6   c                óÞ   € \         P                  P                  4       ;_uu_ 4       p\        VP	                  V4      P                  4       V4       R R R 4       R #   + '       g   i     R # ; i©N©r   ÚdbÚconnectr   r;   Úfetchall©Úselfr   ÚresultÚconns   &&& r3   Ú_assert_resultÚCollateTest._assert_resultG   óB   € Ü�Y‰Y×Ñ× Ô  DÜ�—‘˜VÓ$×-Ñ-Ó/°Ô8÷ !× × Ò úó   §*AÁA,	c                ój  € \         P                  P                  \         P                  4      pV P	                  \        V P                  P                  4      P                  V P                  P                  P                  P                  P                  V4      P                  4       4      RR.4       R# )é   N)rQ   r8   )é   r9   )r   ÚrequiresÚget_order_by_collationr   rL   r   r<   r*   Úorder_byÚcr.   ÚcollateÚasc)rI   Ú	collations   & r3   Útest_collate_order_byÚ!CollateTest.test_collate_order_byK   s   € ä×$Ñ$×;Ñ;¼G¿N¹NÓKˆ	à×ÑÜ�4—;‘;×)Ñ)Ó*×3Ñ3Ø—‘×&Ñ&×(Ñ(×-Ñ-×5Ñ5°iÓ@×DÑDÓFóð "Ð#7Ð8ö		
r6   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__sparse_driver_backend__Úclassmethodr4   r@   rL   r   rS   Úorder_by_collationrZ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r3   r'   r'   1   sV   ø‡ € Ø $Ðàñ
ó ð
ð ñ
ó ð
ò9ð ×Ñ×(Ñ(ñ
ó )ö
r6   r'   c                   ó¤   a € ] tR t^Wt o RtRt]R 4       t]R 4       tR t	R t
R tR tR	 tR
 t]P                   P"                  R 4       tRtV tR# )ÚOrderByLabelTestz™Test the dialect sends appropriate ORDER BY expressions when
labels are used.

This essentially exercises the "supports_simple_order_by_label"
setting.

Tc                óÌ   € \        R V\        R\        RR7      \        R\        4      \        R\        4      \        R\        ^24      4      \        R\        ^24      4      4       R# )	r*   r+   Tr,   ÚxÚyÚqÚpNr/   r0   s   &&r3   r4   ÚOrderByLabelTest.define_tablesb   sL   € äØØÜ�4œ¨dÔ3Ü�3œÓ Ü�3œÓ Ü�3œ˜r›
Ó#Ü�3œ˜r›
Ó#ö	
r6   c                ó°   € VP                  V P                  P                  P                  4       R ^R^R^RRRR/R ^R^R^RRRR/R ^R^R^RR	RR
/.4       R# )r+   rk   rl   rm   Úq1rn   Úp3Úq2Úp2Úq3Úp1Nr:   r>   s   &&r3   r@   ÚOrderByLabelTest.insert_datan   ss   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*à�q˜#˜q # q¨#¨t°S¸$Ð?Ø�q˜#˜q # q¨#¨t°S¸$Ð?Ø�q˜#˜q # q¨#¨t°S¸$Ð?ðö	
r6   c                óÞ   € \         P                  P                  4       ;_uu_ 4       p\        VP	                  V4      P                  4       V4       R R R 4       R #   + '       g   i     R # ; irC   rD   rH   s   &&& r3   rL   ÚOrderByLabelTest._assert_resulty   rN   rO   c                óÔ   € V P                   P                  pVP                  P                  P	                  R 4      pV P                  \        V4      P                  V4      . RO4       R# )ÚlxN©©rQ   ©rR   ©é   )r<   r*   rV   rk   ÚlabelrL   r   rU   ©rI   r   r{   s   &  r3   Ú
test_plainÚOrderByLabelTest.test_plain}   sG   € Ø—‘×&Ñ&ˆØ�W‰W�Y‰Y�_‰_˜TÓ"ˆØ×ÑœF 2›J×/Ñ/°Ó3Ò5GÖHr6   c                ó
  € V P                   P                  pVP                  P                  VP                  P                  ,           P                  R 4      pV P                  \        V4      P                  V4      . RO4       R# )r{   N)r   ©é   ©é   )	r<   r*   rV   rk   rl   r�   rL   r   rU   r‚   s   &  r3   Útest_composed_intÚ"OrderByLabelTest.test_composed_int‚   sV   € Ø—‘×&Ñ&ˆØ�g‰g�i‰i˜%Ÿ'™'Ÿ)™)Õ#×*Ñ*¨4Ó0ˆØ×ÑœF 2›J×/Ñ/°Ó3Ò5GÖHr6   c                óÎ  € V P                   P                  pVP                  P                  VP                  P                  ,           P                  R 4      p\        P                  ! VP                  P                  4      VP                  P                  ,           P                  R4      pV P                  \        W#4      P                  W#P                  4       4      . RO4       R# )r{   ÚlyN))r€   Úq1p3)r‡   Úq2p2)r‰   Úq3p1)r<   r*   rV   rk   rl   r�   r   Úlowerrm   rn   rL   r   rU   Údesc)rI   r   r{   r�   s   &   r3   Útest_composed_multipleÚ'OrderByLabelTest.test_composed_multiple‡   s�   € Ø—‘×&Ñ&ˆØ�g‰g�i‰i˜%Ÿ'™'Ÿ)™)Õ#×*Ñ*¨4Ó0ˆÜ�jŠj˜Ÿ™Ÿ™Ó# e§g¡g§i¡iÕ/×6Ñ6°tÓ<ˆØ×ÑÜ�2‹N×#Ñ# B¯©«	Ó2Ú3ö	
r6   c                óð   € V P                   P                  pVP                  P                  P	                  R 4      pV P                  \        V4      P                  VP                  4       4      . RO4       R# )r{   N)r   r~   r}   )	r<   r*   rV   rk   r�   rL   r   rU   r’   r‚   s   &  r3   Útest_plain_descÚ OrderByLabelTest.test_plain_desc�   sM   € Ø—‘×&Ñ&ˆØ�W‰W�Y‰Y�_‰_˜TÓ"ˆØ×ÑœF 2›J×/Ñ/°·±³	Ó:Ò<NÖOr6   c                ó&  € V P                   P                  pVP                  P                  VP                  P                  ,           P                  R 4      pV P                  \        V4      P                  VP                  4       4      . RO4       R# )r{   N)rˆ   r†   r   )
r<   r*   rV   rk   rl   r�   rL   r   rU   r’   r‚   s   &  r3   Útest_composed_int_descÚ'OrderByLabelTest.test_composed_int_desc•   s\   € Ø—‘×&Ñ&ˆØ�g‰g�i‰i˜%Ÿ'™'Ÿ)™)Õ#×*Ñ*¨4Ó0ˆØ×ÑœF 2›J×/Ñ/°·±³	Ó:Ò<NÖOr6   c                ó~  € V P                   P                  pVP                  P                  VP                  P                  ,           P                  R 4      p\        \        P                  ! VP                  P                  4      V4      P                  V4      P                  V4      pV P                  V. RO4       R# )r{   N))rQ   r€   )rQ   r‡   )rQ   r‰   )r<   r*   rV   rk   rl   r�   r   r   Úcountr+   Úgroup_byrU   rL   )rI   r   ÚexprÚstmts   &   r3   Útest_group_by_composedÚ'OrderByLabelTest.test_group_by_composedš   s   € à—‘×&Ñ&ˆØ—‘—	‘	˜EŸG™GŸI™IÕ%×,Ñ,¨TÓ2ˆä”4—:’:˜eŸg™gŸj™jÓ)¨4Ó0×9Ñ9¸$Ó?×HÑHÈÓNð 	ð 	×Ñ˜DÒ":Ö;r6   r\   N)r]   r^   r_   r`   Ú__doc__ra   rb   r4   r@   rL   rƒ   rŠ   r“   r–   r™   r   rS   Úgroup_by_complex_expressionr    rd   re   rf   s   @r3   ri   ri   W   sz   ø‡ € ñð !%Ðàñ	
ó ð	
ð ñ
ó ð
ò9òIò
Iò

òPò
Pð
 ×Ñ×1Ñ1ñ<ó 2ö<r6   ri   c                   ó.   a € ] tR t^¤t o RtRtR tRtV tR# )ÚValuesExpressionTestTc                óä   € \        \        R \        4      \        R\        4      RR7      P	                  . RO4      p\        VP                  \        V4      4      P                  4       . RO4       R# )r+   ÚnameÚ	my_values)r§   N))rQ   Úname1)rR   Úname2)r€   Úname3)	r#   r   r   r   r.   r   r;   r   Úall)rI   r?   Ú
value_exprs   && r3   Útest_tuplesÚ ValuesExpressionTest.test_tuples©   sX   € ÜÜ�4œÓ!¤6¨&´&Ó#9Àô
ç
‰$Ò9Ó
:ð 	ô 	Ø×Ñœv jÓ1Ó2×6Ñ6Ó8Ú6ö	
r6   r\   N)Útable_value_constructor)	r]   r^   r_   r`   Ú__requires__ra   r®   rd   re   rf   s   @r3   r¥   r¥   ¤   s   ø‡ € Ø/€Là $Ð÷
ð 
r6   r¥   c                   óx  a € ] tR t^´t o Rt]R 4       t]R 4       tR%R ltR&R lt	R t
R t]P                  P                  R 4       t]P                  P                   R	 4       t]P$                  ! . R'O. R(O. R)OR
R7      ]P                  P                   R 4       4       t]P                  P                  R 4       t]P                  P*                  R 4       t]P                  P                   R 4       t]P                  P                   R 4       t]P                  P                  R 4       t]P                  P4                  R 4       t]P                  P4                  R 4       t]P                  P4                  R 4       t]P                  P                  R 4       t]P                  P>                  R 4       t ]P                  P>                  R 4       t!]P                  P>                  R 4       t"]P                  P                  ]P                  PF                  R 4       4       t$]P                  P>                  R 4       t%]P                  P>                  R 4       t&]P                  PN                  R 4       t(]P                  PN                  ]P                  PR                  R 4       4       t*]P                  PN                  ]P                  PR                  R 4       4       t+]P                  PX                  R 4       t-]P                  PX                  ]P                  PR                  R  4       4       t.]P                  PN                  ]P                  PX                  R! 4       4       t/]P                  PN                  ]P                  PX                  ]P                  PR                  R" 4       4       4       t0R#t1V t2R$# )*ÚFetchLimitOffsetTestTc           
     ó|   € \        R V\        R\        RR7      \        R\        4      \        R\        4      4       R# ©r*   r+   Tr,   rk   rl   N©r   r   r   r0   s   &&r3   r4   Ú"FetchLimitOffsetTest.define_tables·   ó0   € äØØÜ�4œ¨dÔ3Ü�3œÓ Ü�3œÓ ö	
r6   c                ó´   € VP                  V P                  P                  P                  4       R ^R^R^/R ^R^R^/R ^R^R^/R ^R^R^/R ^R^R^/.4       R# ©r+   rk   rl   Nr:   r>   s   &&r3   r@   Ú FetchLimitOffsetTest.insert_dataÁ   s{   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*à�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)ðö		
r6   c                ó"  € V'       d^   VP                  W$4      P                  4       p\        \        V4      \        V4      4       \        \	        V4      \	        V4      4       R # \        VP                  W$4      P                  4       V4       R # rC   )r;   rG   r   ÚlenÚset)rI   r?   r   rJ   ÚparamsÚset_Ú	query_ress   &&&&&& r3   rL   Ú#FetchLimitOffsetTest._assert_resultÎ   sd   € ÷ Ø"×*Ñ*¨6Ó:×CÑCÓEˆIÜ”�I“¤ F£Ô,Ü”�I“¤ F£Ö,ô �
×"Ñ" 6Ó2×;Ñ;Ó=¸vÖFr6   c                óÞ   € \         P                  P                  4       ;_uu_ 4       p\        VP	                  W4      P                  4       V4       R R R 4       R #   + '       g   i     R # ; irC   )r   rE   rF   r   Úexec_driver_sqlrG   ©rI   r   rJ   r¿   rK   s   &&&& r3   Ú_assert_result_strÚ'FetchLimitOffsetTest._assert_result_strÙ   sD   € Ü�Y‰Y×Ñ× Ô  DÜ�×$Ñ$ VÓ4×=Ñ=Ó?ÀÔH÷ !× × Ò úrO   c                ó  € V P                   P                  p\        V4      P                  VP                  P
                  4      pV P                  VVP                  ^4      RR.4       V P                  VVP                  ^4      . RO4       R# ©rR   N©rQ   rQ   rR   ©rR   rR   r€   ©rÊ   rË   ©r€   r€   é   )r<   r*   r   rU   rV   r+   rL   Úlimit)rI   r?   r   rŸ   s   &&  r3   Útest_simple_limitÚ&FetchLimitOffsetTest.test_simple_limitÝ   sr   € Ø—‘×&Ñ&ˆÜ�e‹}×%Ñ% e§g¡g§j¡jÓ1ˆØ×ÑØØ�J‰J�q‹MØ˜	Ð"ô	
ð
 	×ÑØØ�J‰J�q‹MÚ-ö	
r6   c                óŒ  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  4      P                  ^4      P                  4       p\        \        V4      \        V4      4      P                  4       P                  4       pV P                  VVR.4       R# )rQ   Nr}   )r<   r*   r   rV   r+   rU   rÏ   Úscalar_subqueryr"   ÚsubqueryrL   )rI   r?   r   rŸ   Úus   &&   r3   Ú test_limit_render_multiple_timesÚ5FetchLimitOffsetTest.test_limit_render_multiple_timesë   s‘   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Ó×'Ñ'¨¯©¯
©
Ó3×9Ñ9¸!Ó<×LÑLÓNð 	ô ”&˜“,¤ t£Ó-×6Ñ6Ó8×?Ñ?ÓAˆà×ÑØØàðö	
r6   c                ór  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      RR.4       V P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      . RO4       R# rÉ   ©r<   r*   rL   r   rU   rV   r+   Úfetch©rI   r?   r   s   && r3   Útest_simple_fetchÚ&FetchLimitOffsetTest.test_simple_fetchû   sŠ   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4°QÓ7Ø˜	Ð"ô	
ð
 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4°QÓ7Ú-ö	
r6   c                ór  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      . RO4       V P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      RR.4       R# )rR   N©rÎ   rÎ   r‡   ©r‡   rÎ   é   ©rÍ   rß   rà   ©r<   r*   rL   r   rU   rV   r+   ÚoffsetrÛ   s   && r3   Útest_simple_offsetÚ'FetchLimitOffsetTest.test_simple_offset	  sŠ   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×5Ñ5°aÓ8Ú-ô	
ð
 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×5Ñ5°aÓ8Ø˜	Ð"ö	
r6   Úcases©Úargnamesc                óB  € V P                   P                  pVP                  / R 7      p. ROpV Fl  w  rVWFWe,            pV P                  V\	        V4      P                  VP                  P                  4      P                  V4      P                  V4      V4       Kn  	  R# ))Úcompiled_cacheN©rÊ   rË   rÍ   rß   rà   )
r<   r*   Úexecution_optionsrL   r   rU   rV   r+   rÏ   rä   )rI   r?   rç   r   Úassert_datarÏ   rä   Úexpecteds   &&&     r3   Útest_simple_limit_offsetÚ-FetchLimitOffsetTest.test_simple_limit_offset  s‡   € ð —‘×&Ñ&ˆØ×1Ñ1ÀÐ1ÓDˆ
âMˆã"‰MˆEØ"¨F­NÐ;ˆHØ×ÑØÜ�u“×&Ñ& u§w¡w§z¡zÓ2×8Ñ8¸Ó?×FÑFÀvÓNØöó #r6   c                ó®  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      P                  ^4      RR.4       V P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      P                  ^4      . RO4       R# )rR   NrË   rÍ   râ   ©	r<   r*   rL   r   rU   rV   r+   rÚ   rä   rÛ   s   && r3   Útest_simple_fetch_offsetÚ-FetchLimitOffsetTest.test_simple_fetch_offset,  s    € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4°QÓ7×>Ñ>¸qÓAØ˜	Ð"ô	
ð 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4°QÓ7×>Ñ>¸qÓAÚ-ö	
r6   c                ó�   € V P                   P                  pV P                  V\        V4      P	                  ^
4      . RORR7       R# )é
   T©rÀ   Nrì   )r<   r*   rL   r   rÚ   rÛ   s   && r3   Útest_fetch_offset_no_orderÚ/FetchLimitOffsetTest.test_fetch_offset_no_order;  s?   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×Ñ Ó#ÚCØð	 	ö 	
r6   c                ór  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^ 4      . RO4       V P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      . RO4       R# )r   Nrì   ©rË   rÍ   rß   rà   rã   rÛ   s   && r3   Útest_simple_offset_zeroÚ,FetchLimitOffsetTest.test_simple_offset_zeroE  s…   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×5Ñ5°aÓ8ÚCô	
ð 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×5Ñ5°aÓ8Ú8ö	
r6   c                ób  € V P                   P                  p\        V4      P                  VP                  P
                  4      P                  ^4      P                  ^4      pVP                  \        P                  P                  RR/R7      p\        V4      pV P                  VRR.4       R# ©z7test that 'literal binds' mode works - no bound params.Úliteral_bindsT)ÚdialectÚcompile_kwargsNrË   rÍ   )r<   r*   r   rU   rV   r+   rÏ   rä   Úcompiler   rE   r  ÚstrrÆ   ©rI   r   rŸ   Úsqls   &   r3   Útest_limit_offset_nobindsÚ.FetchLimitOffsetTest.test_limit_offset_nobindsT  óŒ   € ð —‘×&Ñ&ˆÜ�e‹}×%Ñ% e§g¡g§j¡jÓ1×7Ñ7¸Ó:×AÑAÀ!ÓDˆØ�l‰lÜ—I‘I×%Ñ%°ÈÐ6Mð ó 
ˆô �#‹hˆà×Ñ  i°Ð%;Ö<r6   c                ób  € V P                   P                  p\        V4      P                  VP                  P
                  4      P                  ^4      P                  ^4      pVP                  \        P                  P                  RR/R7      p\        V4      pV P                  VRR.4       R# r   )r<   r*   r   rU   rV   r+   rÚ   rä   r  r   rE   r  r  rÆ   r  s   &   r3   Útest_fetch_offset_nobindsÚ.FetchLimitOffsetTest.test_fetch_offset_nobindsa  r
  r6   c                ó¦  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      RR.R ^/R7       V P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      . ROR ^/R7       R# )Úl©r¿   NrÊ   rË   rÌ   )	r<   r*   rL   r   rU   rV   r+   rÏ   r   rÛ   s   && r3   Útest_bound_limitÚ%FetchLimitOffsetTest.test_bound_limitn  sª   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4´Y¸s³^ÓDØ˜	Ð"Ø˜�8ð	 	ô 	
ð 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4´Y¸s³^ÓDÚ-Ø˜�8ð	 	ö 	
r6   c                ó¦  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      . ROR ^/R7       V P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      . ROR ^/R7       R# )Úor  Nrâ   rü   )	r<   r*   rL   r   rU   rV   r+   rä   r   rÛ   s   && r3   Útest_bound_offsetÚ&FetchLimitOffsetTest.test_bound_offset  s¥   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×5Ñ5´iÀ³nÓEÚ-Ø˜�8ð	 	ô 	
ð 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×5Ñ5´iÀ³nÓEÚ8Ø˜�8ð	 	ö 	
r6   c           	     ó  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      P                  \        R4      4      RR.R ^R^/R7       V P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      P                  \        R4      4      . ROR ^R^/R7       R# )r  r  r  NrË   rÍ   râ   )
r<   r*   rL   r   rU   rV   r+   rÏ   r   rä   rÛ   s   && r3   Útest_bound_limit_offsetÚ,FetchLimitOffsetTest.test_bound_limit_offset�  óÌ   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”9˜S“>Ó"ß‰V”I˜c“NÓ#Ø˜	Ð"Ø˜˜C Ð#ð 	ô 	
ð 	×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”9˜S“>Ó"ß‰V”I˜c“NÓ#Ú-Ø˜˜C Ð#ð 	ö 	
r6   c           	     ó  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      P                  \        R4      4      RR.R ^R^/R7       V P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      4      P                  \        R4      4      . ROR ^R^/R7       R# )Úfr  r  NrË   rÍ   râ   )
r<   r*   rL   r   rU   rV   r+   rÚ   r   rä   rÛ   s   && r3   Útest_bound_fetch_offsetÚ,FetchLimitOffsetTest.test_bound_fetch_offset§  r  r6   c           	     ó  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      \        R4      ,           4      RR.4       R# )Ú1Ú2Nrß   rà   )	r<   r*   rL   r   rU   rV   r+   rä   r   rÛ   s   && r3   Útest_expr_offsetÚ%FetchLimitOffsetTest.test_expr_offset¾  s\   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰V”N 3Ó'¬.¸Ó*=Õ=Ó>Ø˜	Ð"ö	
r6   c           	     ó  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      \        R4      ,           4      . RO4       R# )r   r!  NrÌ   )	r<   r*   rL   r   rU   rV   r+   rÏ   r   rÛ   s   && r3   Útest_expr_limitÚ$FetchLimitOffsetTest.test_expr_limitÉ  sW   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”> #Ó&¬¸Ó)<Õ<Ó=Ú-ö	
r6   c           	     óT  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      \        R 4      ,           4      P                  \        R 4      \        R 4      ,           4      RR.4       R# ©r   NrÍ   rß   ©
r<   r*   rL   r   rU   rV   r+   rÏ   r   rä   rÛ   s   && r3   Útest_expr_limit_offsetÚ+FetchLimitOffsetTest.test_expr_limit_offsetÔ  su   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”> #Ó&¬¸Ó)<Õ<Ó=ß‰V”N 3Ó'¬.¸Ó*=Õ=Ó>Ø˜	Ð"ö	
r6   c           	     óT  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      \        R 4      ,           4      P                  \        R 4      \        R 4      ,           4      RR.4       R# r(  )
r<   r*   rL   r   rU   rV   r+   rÚ   r   rä   rÛ   s   && r3   Útest_expr_fetch_offsetÚ+FetchLimitOffsetTest.test_expr_fetch_offsetà  sw   € ð —‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”> #Ó&¬¸Ó)<Õ<Ó=ß‰V”N 3Ó'¬.¸Ó*=Õ=Ó>Ø˜	Ð"ö	
r6   c           	     ó  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      P                  \        R4      \        R4      ,           4      RR.4       V P                  V\        V4      P	                  VP
                  P                  4      P                  ^4      P                  \        R4      \        R4      ,           4      . RO4       R# )rR   r   NrÍ   rß   râ   )
r<   r*   rL   r   rU   rV   r+   rÏ   rä   r   rÛ   s   && r3   Útest_simple_limit_expr_offsetÚ2FetchLimitOffsetTest.test_simple_limit_expr_offsetí  s¶   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U�1‹Xß‰V”N 3Ó'¬.¸Ó*=Õ=Ó>Ø˜	Ð"ô	
ð 	×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U�1‹Xß‰V”N 3Ó'¬.¸Ó*=Õ=Ó>Ú-ö	
r6   c           	     ó  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      \        R 4      ,           4      P                  ^4      RR.4       V P                  V\        V4      P	                  VP
                  P                  4      P                  \        R 4      \        R 4      ,           4      P                  ^4      RR.4       R# )r   NrÍ   rß   rË   r)  rÛ   s   && r3   Útest_expr_limit_simple_offsetÚ2FetchLimitOffsetTest.test_expr_limit_simple_offset  s»   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”> #Ó&¬¸Ó)<Õ<Ó=ß‰V�A‹YØ˜	Ð"ô	
ð 	×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U”> #Ó&¬¸Ó)<Õ<Ó=ß‰V�A‹YØ˜	Ð"ö	
r6   c                óº  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  P                  4       4      P                  ^RR7      RR.RR7       V P                  V\        V4      P	                  VP
                  P                  P                  4       4      P                  ^RR7      . RORR7       R# )rQ   T©Ú	with_tiesrø   Nrß   rà   râ   ©	r<   r*   rL   r   rU   rV   rk   r’   rÚ   rÛ   s   && r3   Útest_simple_fetch_tiesÚ+FetchLimitOffsetTest.test_simple_fetch_ties  s²   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§9¡9§>¡>Ó#3Ó4×:Ñ:¸1ÈÐ:ÓMØ˜	Ð"Øð	 	ô 	
ð 	×ÑØÜ�5‹M×"Ñ" 5§7¡7§9¡9§>¡>Ó#3Ó4×:Ñ:¸1ÈÐ:ÓMÚ-Øð	 	ö 	
r6   c                ó\  € V P                   P                  pVP                  \        V4      P	                  VP
                  P                  4      P                  ^RR7      P                  ^4      4      P                  4       p\        V^ ,          R4       \        \        V4      0 Rm4       R# )rR   Tr6  NrÍ   ¾   rÍ   rß   rà   ©r<   r*   r;   r   rU   rV   rk   rÚ   rä   rG   r   r¾   ©rI   r?   r   Úfas   &&  r3   Útest_fetch_offset_tiesÚ+FetchLimitOffsetTest.test_fetch_offset_ties(  s~   € ð —‘×&Ñ&ˆØ×ÑÜ�5‹Mß‰X�e—g‘g—i‘iÓ ß‰U�1 ˆUÓ%ß‰V�A‹Yó	
÷
 ‰(‹*ð 	ô 	ˆBˆq�E�9ÔÜŒC�‹GÒ6Ö7r6   c                ó¶  € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^RR7      P                  ^4      RR.4       V P                  V\        V4      P	                  VP
                  P                  4      P                  ^RR7      P                  ^4      RR.4       R# )rR   Tr6  NrË   rÍ   rß   rà   )	r<   r*   rL   r   rU   rV   rk   rÚ   rä   rÛ   s   && r3   Ú#test_fetch_offset_ties_exact_numberÚ8FetchLimitOffsetTest.test_fetch_offset_ties_exact_number5  s§   € ð —‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—i‘iÓ ß‰U�1 ˆUÓ%ß‰V�A‹YØ˜	Ð"ô	
ð 	×ÑØÜ�5‹Mß‰X�e—g‘g—i‘iÓ ß‰U�1 ˆUÓ%ß‰V�A‹YØ˜	Ð"ö	
r6   c                óÔ   € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^RR7      R.4       R# )é   T©ÚpercentNrÊ   rÙ   rÛ   s   && r3   Útest_simple_fetch_percentÚ.FetchLimitOffsetTest.test_simple_fetch_percentK  sQ   € à—‘×&Ñ&ˆØ×ÑØÜ�5‹M×"Ñ" 5§7¡7§:¡:Ó.×4Ñ4°RÀÐ4ÓFØˆKö	
r6   c                óô   € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  4      P                  ^(RR7      P                  ^4      RR.4       R# )é(   TrG  NrË   rÍ   ró   rÛ   s   && r3   Útest_fetch_offset_percentÚ.FetchLimitOffsetTest.test_fetch_offset_percentT  s\   € ð —‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—j‘jÓ!ß‰U�2˜tˆUÓ$ß‰V�A‹YØ˜	Ð"ö	
r6   c           	     óø   € V P                   P                  pV P                  V\        V4      P	                  VP
                  P                  P                  4       4      P                  ^RRR7      RR.RR7       R# )rF  T©rH  r7  rø   Nrß   rà   r8  rÛ   s   && r3   Útest_simple_fetch_percent_tiesÚ3FetchLimitOffsetTest.test_simple_fetch_percent_tiesa  sd   € ð —‘×&Ñ&ˆØ×ÑØÜ�5‹Mß‰X�e—g‘g—i‘i—n‘nÓ&Ó'ß‰U�2˜t¨tˆUÓ4Ø˜	Ð"Øð 	ö 	
r6   c                ó^  € V P                   P                  pVP                  \        V4      P	                  VP
                  P                  4      P                  ^(RRR7      P                  ^4      4      P                  4       p\        V^ ,          R4       \        \        V4      0 Rm4       R# )rL  TrP  NrÍ   r<  r=  r>  s   &&  r3   Útest_fetch_offset_percent_tiesÚ3FetchLimitOffsetTest.test_fetch_offset_percent_tiesn  s€   € ð —‘×&Ñ&ˆØ×ÑÜ�5‹Mß‰X�e—g‘g—i‘iÓ ß‰U�2˜t¨tˆUÓ4ß‰V�A‹Yó	
÷
 ‰(‹*ð 	ô 	ˆBˆq�E�9ÔÜŒC�‹GÒ6Ö7r6   r\   N)r\   F©r\   )©rR   r   ©rR   rQ   ©r€   rR   )rX  rW  rY  )©r€   rQ   rX  rZ  )3r]   r^   r_   r`   Ú__backend__rb   r4   r@   rL   rÆ   rÐ   rÖ   r   rS   Úfetch_firstrÜ   rä   rå   Úcombinationsrð   rô   Úfetch_no_order_byrù   rý   r  r  Úbound_limit_offsetr  r  r  r  Úsql_expression_limit_offsetr"  r%  r*  Úfetch_expressionr-  r0  r3  Ú
fetch_tiesr9  Úfetch_offset_with_optionsr@  rC  Úfetch_percentrI  rM  rQ  rT  rd   re   rf   s   @r3   r³   r³   ´   s  ø‡ € Ø€Kàñ
ó ð
ð ñ

ó ð

ô	GôIò
ò
ð  ×Ñ×!Ñ!ñ
ó "ð
ð ×Ñ×Ññ
ó ð
ð ×ÒÚ	!Ú	!Ú	!Øô	ð ×Ñ×Ññó óðð ×Ñ×!Ñ!ñ
ó "ð
ð ×Ñ×'Ñ'ñ
ó (ð
ð ×Ñ×Ññ
ó ð
ð ×Ñ×Ññ
=ó ð
=ð ×Ñ×!Ñ!ñ
=ó "ð
=ð ×Ñ×(Ñ(ñ
ó )ð
ð  ×Ñ×(Ñ(ñ
ó )ð
ð  ×Ñ×(Ñ(ñ
ó )ð
ð, ×Ñ×!Ñ!ñ
ó "ð
ð, ×Ñ×1Ñ1ñ
ó 2ð
ð ×Ñ×1Ñ1ñ
ó 2ð
ð ×Ñ×1Ñ1ñ	
ó 2ð	
ð ×Ñ×!Ñ!Ø×Ñ×&Ñ&ñ	
ó 'ó "ð	
ð ×Ñ×1Ñ1ñ
ó 2ð
ð( ×Ñ×1Ñ1ñ
ó 2ð
ð( ×Ñ× Ñ ñ
ó !ð
ð  ×Ñ× Ñ Ø×Ñ×/Ñ/ñ	8ó 0ó !ð	8ð ×Ñ× Ñ Ø×Ñ×/Ñ/ñ
ó 0ó !ð
ð( ×Ñ×#Ñ#ñ
ó $ð
ð ×Ñ×#Ñ#Ø×Ñ×/Ñ/ñ	
ó 0ó $ð	
ð ×Ñ× Ñ Ø×Ñ×#Ñ#ñ	
ó $ó !ð	
ð ×Ñ× Ñ Ø×Ñ×#Ñ#Ø×Ñ×/Ñ/ñ	8ó 0ó $ó !ö	8r6   r³   c                   ó^   a € ] tR tRt o RtRtRt]R 4       t]R 4       t	R t
R tR tR	tV tR
# )ÚSameNamedSchemaTableTesti}  ztests for #7471Tc                ó¼   € \        R V\        R\        RR7      \        P                  R7       \        R V\        R\        RR7      \        R\        RR7      4       R# )	r*   r+   Tr,   )ÚschemaÚsome_table_idF©ÚnullableN)r   r   r   r   Útest_schemar0   s   &&r3   r4   Ú&SameNamedSchemaTableTest.define_tables„  sR   € äØØÜ�4œ¨dÔ3Ü×%Ñ%õ		
ô 	ØØÜ�4œ¨dÔ3ÜØÜàô	ö	
	
r6   c                óä   € V P                  R R\        P                  ,          4      w  r#VP                  VP	                  4       R^/4       VP                  VP	                  4       R^R^/4       R# )r*   ú%s.some_tabler+   ri  N)r<   r   rl  r;   r=   )r1   r?   r*   Úsome_table_schemas   &&  r3   r@   Ú$SameNamedSchemaTableTest.insert_data˜  se   € à(+¯
©
Ø˜/¬F×,>Ñ,>Õ>ó)
Ñ%ˆ
ð 	×ÑÐ,×3Ñ3Ó5¸¸a°yÔAØ×Ñ˜:×,Ñ,Ó.°°q¸/È1Ð0MÖNr6   c           
     ó4  € V P                  R R\        P                  ,          4      w  r#\        VP	                  \        W#4      P                  VVVP                  P                  VP                  P                  8H  4      4      P                  4       R4       R# ©r*   ro  N©rQ   rQ   rQ   )r<   r   rl  r   r;   r   Ú	join_fromrV   ri  r+   Úfirst©rI   r?   r*   rp  s   &&  r3   Útest_simple_join_both_tablesÚ5SameNamedSchemaTableTest.test_simple_join_both_tables   s   € Ø(,¯©Ø˜/¬F×,>Ñ,>Õ>ó)
Ñ%ˆ
ô 	Ø×ÑÜ�zÓ5×?Ñ?ØØ%Ø—L‘L×.Ñ.Ð2C×2EÑ2E×2HÑ2HÑHóó÷ ‰e‹gØö		
r6   c           
     ó€  € V P                  R R\        P                  ,          4      w  r#\        VP	                  \        V4      P                  VVVP                  P                  VP                  P                  8H  4      P                  VP                  P                  ^8H  4      4      P                  4       R4       R# )r*   ro  N©rQ   rQ   )r<   r   rl  r   r;   r   ru  rV   ri  r+   Úwhererv  rw  s   &&  r3   Ú!test_simple_join_whereclause_onlyÚ:SameNamedSchemaTableTest.test_simple_join_whereclause_only°  s—   € Ø(,¯©Ø˜/¬F×,>Ñ,>Õ>ó)
Ñ%ˆ
ô 	Ø×ÑÜ�zÓ"ß‘ØØ%Ø—L‘L×.Ñ.Ð2C×2EÑ2E×2HÑ2HÑHó÷
 ‘�z—|‘|—‘¨!Ñ+Ó,ó÷ ‰e‹gØö	
r6   c           
     óž  € V P                  R R\        P                  ,          4      w  r#\        V4      P	                  VVVP
                  P                  VP
                  P                  8H  4      P                  VP
                  P                  ^8H  4      P                  4       p\        VP                  \        W$P
                  P                  4      P	                  VVVP
                  P                  VP
                  P                  8H  4      P                  VP
                  P                  ^8H  4      4      P                  4       R4       R# rs  )r<   r   rl  r   ru  rV   ri  r+   r|  rÔ   r   r;   rv  )rI   r?   r*   rp  Úsubqs   &&   r3   Útest_subqueryÚ&SameNamedSchemaTableTest.test_subqueryÂ  sø   € Ø(,¯©Ø˜/¬F×,>Ñ,>Õ>ó)
Ñ%ˆ
ô
 �:Óß‰YØØ!Ø—‘×*Ñ*Ð.?×.AÑ.A×.DÑ.DÑDó÷
 ‰U�:—<‘<—?‘? aÑ'Ó(ß‰X‹Zð 	ô 	Ø×ÑÜ�z§6¡6§9¡9Ó-ß‘ØØØ—L‘L×.Ñ.°$·&±&·)±)Ñ;ó÷
 ‘�z—|‘|—‘¨!Ñ+Ó,ó÷ ‰e‹gØö	
r6   r\   N)Úschemas)r]   r^   r_   r`   r¢   ra   r±   rb   r4   r@   rx  r}  r�  rd   re   rf   s   @r3   rf  rf  }  sO   ø‡ € Ùà $Ðà€Làñ
ó ð
ð& ñOó ðOò
ò 
÷$
ð 
r6   rf  c                   ól   a € ] tR tRt o RtRR lt]R 4       t]R 4       tR t	R t
R tR	 tR
 tRtV tR# )ÚJoinTestià  Tc                óÞ   € \         P                  P                  4       ;_uu_ 4       p\        VP	                  W4      P                  4       V4       R R R 4       R #   + '       g   i     R # ; irC   rD   rÅ   s   &&&& r3   rL   ÚJoinTest._assert_resultã  óB   € Ü�Y‰Y×Ñ× Ô  DÜ�—‘˜VÓ,×5Ñ5Ó7¸Ô@÷ !× × Ò úrO   c                ó¦   € \        R V\        R\        RR7      4       \        RV\        R\        RR7      \        R\        R4      RR7      4       R	# )
Úar+   Tr,   ÚbÚa_idza.idFrj  N)r   r   r   r   r0   s   &&r3   r4   ÚJoinTest.define_tablesç  sB   € äˆc�8œV D¬'¸tÔDÔEÜØØÜ�4œ¨dÔ3Ü�6œ: fÓ-¸Ô>ö		
r6   c           
     ó  € VP                  V P                  P                  P                  4       R ^/R ^/R ^/R ^/R ^/.4       VP                  V P                  P                  P                  4       R ^R^/R ^R^/R ^R^/R ^R^/.4       R# )r+   rŒ  N)r;   r<   rŠ  r=   r‹  r>   s   &&r3   r@   ÚJoinTest.insert_datañ  sŸ   € à×ÑØ�J‰J�L‰L×ÑÓ!Ø�AˆY˜˜q˜	 D¨! 9¨t°Q¨i¸$À¸ÐCô	
ð
 	×ÑØ�J‰J�L‰L×ÑÓ!à�q˜& !Ð$Ø�q˜& !Ð$Ø�q˜& !Ð$Ø�q˜& !Ð$ð	ö	
r6   c                ó  € V P                  R R4      w  r\        W4      P                  VP                  V4      4      P	                  VP
                  P                  VP
                  P                  4      pV P                  V. RO4       R# ©rŠ  r‹  N)rt  )rQ   rR   rQ   )rR   rÎ   rR   )r€   r‡   r€   ©r<   r   Úselect_fromÚjoinrU   rV   r+   rL   ©rI   rŠ  r‹  rŸ   s   &   r3   Útest_inner_join_fkÚJoinTest.test_inner_join_fk  ó^   € Ø�{‰{˜3 Ó$‰ˆä�a‹|×'Ñ'¨¯©¨q«	Ó2×;Ñ;¸A¿C¹C¿F¹FÀAÇCÁCÇFÁFÓKˆà×Ñ˜DÒ"NÖOr6   c                ó   € V P                  R R4      w  r\        W4      P                  VP                  V\	        4       4      4      P                  VP                  P                  VP                  P                  4      pT P                  T\        P                  ! . RO. RO4       UUUu. uF  w  w  pw  r$WV3NK  	  uppp4       R# u upppi )rŠ  r‹  N)r}   r~   r   ©rÎ   r†   )r{  rX  )rÎ   rR   )r‡   r€   )r<   r   r“  r”  r   rU   rV   r+   rL   Ú	itertoolsÚproduct)rI   rŠ  r‹  rŸ   rV   s   &    r3   Útest_inner_join_trueÚJoinTest.test_inner_join_true	  s«   € Ø�{‰{˜3 Ó$‰ˆô �1‹Lß‰[˜Ÿ™ ¤4£6Ó*Ó+ß‰X�a—c‘c—f‘f˜aŸc™cŸf™fÓ%ð 	ð 	×ÑØô %.×$5Ò$5Ú2Ú4ô%õñ%‘L‘D�Q™&˜1ð �q“	ñ%óö		
ùôs   Â*C	c                ó&  € V P                  R R4      w  r\        W4      P                  VP                  V\	        4       4      4      P                  VP                  P                  VP                  P                  4      pV P                  V. 4       R# )rŠ  r‹  N)	r<   r   r“  r”  r   rU   rV   r+   rL   r•  s   &   r3   Útest_inner_join_falseÚJoinTest.test_inner_join_false  sg   € Ø�{‰{˜3 Ó$‰ˆô �1‹Lß‰[˜Ÿ™ ¤5£7Ó+Ó,ß‰X�a—c‘c—f‘f˜aŸc™cŸf™fÓ%ð 	ð 	×Ñ˜D "Ö%r6   c                ó*  € V P                  R R4      w  r\        W4      P                  VP                  V\	        4       4      4      P                  VP                  P                  VP                  P                  4      pV P                  V. RO4       R# )rŠ  r‹  N))rQ   NN)rR   NN)r€   NN)rÎ   NN)r‡   NN)	r<   r   r“  Ú	outerjoinr   rU   rV   r+   rL   r•  s   &   r3   Útest_outer_join_falseÚJoinTest.test_outer_join_false(  sm   € Ø�{‰{˜3 Ó$‰ˆô �1‹Lß‰[˜Ÿ™ Q¬«Ó0Ó1ß‰X�a—c‘c—f‘f˜aŸc™cŸf™fÓ%ð 	ð 	×ÑØòö		
r6   c                ó  € V P                  R R4      w  r\        W4      P                  VP                  V4      4      P	                  VP
                  P                  VP
                  P                  4      pV P                  V. RO4       R# r‘  r’  r•  s   &   r3   Útest_outer_join_fkÚJoinTest.test_outer_join_fk<  r˜  r6   r\   NrV  )r]   r^   r_   r`   ra   rL   rb   r4   r@   r–  r�  r   r¤  r§  rd   re   rf   s   @r3   r…  r…  à  sZ   ø‡ € Ø $ÐôAð ñ
ó ð
ð ñ
ó ð
ò Pò
ò(	&ò
÷(Pð Pr6   r…  c                   ó@  a € ] tR tRt o Rt]R 4       t]R 4       tRR ltR t	R t
]P                  P                  ]P                  P                  R 4       4       t]P                  P                   R	 4       tR
 t]P                  P                  R 4       tR tRtV tR# )ÚCompoundSelectTestiD  Tc           
     ó|   € \        R V\        R\        RR7      \        R\        4      \        R\        4      4       R# rµ   r¶   r0   s   &&r3   r4   Ú CompoundSelectTest.define_tablesG  r¸   r6   c                ó¦   € VP                  V P                  P                  P                  4       R ^R^R^/R ^R^R^/R ^R^R^/R ^R^R^/.4       R# rº   r:   r>   s   &&r3   r@   ÚCompoundSelectTest.insert_dataQ  sk   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*à�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)Ø�q˜#˜q # qÐ)ð	ö	
r6   c                óÞ   € \         P                  P                  4       ;_uu_ 4       p\        VP	                  W4      P                  4       V4       R R R 4       R #   + '       g   i     R # ; irC   rD   rÅ   s   &&&& r3   rL   Ú!CompoundSelectTest._assert_result]  rˆ  rO   c                óz  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      p\        V4      P                  VP                  P
                  ^8H  4      p\        W#4      pV P                  VP                  VP                  P
                  4      RR.4       R# ©rR   NrË   rÍ   )
r<   r*   r   r|  rV   r+   r"   rL   rU   Úselected_columns©rI   r   Ús1Ús2Úu1s   &    r3   Útest_plain_unionÚ#CompoundSelectTest.test_plain_uniona  s‡   € Ø—‘×&Ñ&ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1ˆä�2‹]ˆØ×ÑØ�K‰K˜×+Ñ+×.Ñ.Ó/°)¸YÐ1Gö	
r6   c                ó²  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      p\        V4      P                  VP                  P
                  ^8H  4      p\        W#4      P                  4       P                  4       pV P                  VP                  VP                  P
                  4      RR.4       R# r²  )r<   r*   r   r|  rV   r+   r"   ÚaliasrL   rU   r³  r´  s   &    r3   Útest_select_from_plain_unionÚ/CompoundSelectTest.test_select_from_plain_unionk  s™   € Ø—‘×&Ñ&ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1ˆä�2‹]× Ñ Ó"×)Ñ)Ó+ˆØ×ÑØ�K‰K˜×+Ñ+×.Ñ.Ó/°)¸YÐ1Gö	
r6   c                ó`  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      P                  ^4      P                  VP                  P
                  4      p\        V4      P                  VP                  P
                  ^8H  4      P                  ^4      P                  VP                  P
                  4      p\        W#4      P                  ^4      pV P                  VP                  VP                  P
                  4      RR.4       R# r²  )r<   r*   r   r|  rV   r+   rÏ   rU   r"   rL   r³  r´  s   &    r3   Ú&test_limit_offset_selectable_in_unionsÚ9CompoundSelectTest.test_limit_offset_selectable_in_unionsu  sÐ   € ð —‘×&Ñ&ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×7Ñ7¸Ó:×CÑCÀEÇGÁGÇJÁJÓOˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×7Ñ7¸Ó:×CÑCÀEÇGÁGÇJÁJÓOˆä�2‹]× Ñ  Ó#ˆØ×ÑØ�K‰K˜×+Ñ+×.Ñ.Ó/°)¸YÐ1Gö	
r6   c                ó$  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      P                  VP                  P
                  4      p\        V4      P                  VP                  P
                  ^8H  4      P                  VP                  P
                  4      p\        W#4      P                  ^4      pV P                  VP                  VP                  P
                  4      RR.4       R# r²  )r<   r*   r   r|  rV   r+   rU   r"   rÏ   rL   r³  r´  s   &    r3   Ú"test_order_by_selectable_in_unionsÚ5CompoundSelectTest.test_order_by_selectable_in_unions�  s¸   € à—‘×&Ñ&ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×:Ñ:¸5¿7¹7¿:¹:ÓFˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×:Ñ:¸5¿7¹7¿:¹:ÓFˆä�2‹]× Ñ  Ó#ˆØ×ÑØ�K‰K˜×+Ñ+×.Ñ.Ó/°)¸YÐ1Gö	
r6   c                óÐ  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      P                  4       p\        V4      P                  VP                  P
                  ^8H  4      P                  4       p\        W#4      P                  ^4      pV P                  VP                  VP                  P
                  4      RR.4       R# r²  )r<   r*   r   r|  rV   r+   Údistinctr"   rÏ   rL   rU   r³  r´  s   &    r3   Ú"test_distinct_selectable_in_unionsÚ5CompoundSelectTest.test_distinct_selectable_in_unionsŒ  s¤   € Ø—‘×&Ñ&ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×:Ñ:Ó<ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×:Ñ:Ó<ˆä�2‹]× Ñ  Ó#ˆØ×ÑØ�K‰K˜×+Ñ+×.Ñ.Ó/°)¸YÐ1Gö	
r6   c                ó˜  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      P                  ^4      P                  VP                  P
                  4      p\        V4      P                  VP                  P
                  ^8H  4      P                  ^4      P                  VP                  P
                  4      p\        W#4      P                  4       pV P                  VP                  4       P                  ^4      P                  VP                  P
                  4      RR.4       R# r²  )r<   r*   r   r|  rV   r+   rÏ   rU   r"   r»  rL   r´  s   &    r3   Ú&test_limit_offset_in_unions_from_aliasÚ9CompoundSelectTest.test_limit_offset_in_unions_from_alias–  sÝ   € à—‘×&Ñ&ˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×7Ñ7¸Ó:×CÑCÀEÇGÁGÇJÁJÓOˆÜ�E‹]× Ñ  §¡§¡¨q¡Ó1×7Ñ7¸Ó:×CÑCÀEÇGÁGÇJÁJÓOˆô �2‹]× Ñ Ó"ˆØ×ÑØ�I‰I‹K×Ñ˜aÓ ×)Ñ)¨"¯$©$¯'©'Ó2°YÀ	Ð4Jö	
r6   c                óÐ  € V P                   P                  p\        V4      P                  VP                  P
                  ^8H  4      P                  ^4      P                  VP                  P
                  4      P                  4       P                  4       p\        V4      P                  VP                  P
                  ^8H  4      P                  ^4      P                  VP                  P
                  4      P                  4       P                  4       p\        W#4      P                  ^4      pV P                  VP                  VP                  P
                  4      RR.4       R# r²  )r<   r*   r   r|  rV   r+   rÏ   rU   r»  r"   rL   r³  r´  s   &    r3   Ú.test_limit_offset_aliased_selectable_in_unionsÚACompoundSelectTest.test_limit_offset_aliased_selectable_in_unions¢  sì   € Ø—‘×&Ñ&ˆä�5‹Mß‰U�5—7‘7—:‘: ‘?Ó#ß‰U�1‹Xß‰X�e—g‘g—j‘jÓ!ß‰U‹Wß‰V‹Xð 	ô �5‹Mß‰U�5—7‘7—:‘: ‘?Ó#ß‰U�1‹Xß‰X�e—g‘g—j‘jÓ!ß‰U‹Wß‰V‹Xð 	ô �2‹]× Ñ  Ó#ˆØ×ÑØ�K‰K˜×+Ñ+×.Ñ.Ó/°)¸YÐ1Gö	
r6   r\   NrV  )r]   r^   r_   r`   ra   rb   r4   r@   rL   r¸  r¼  r   rS   Úorder_by_col_from_unionÚ/parens_in_union_contained_select_w_limit_offsetr¿  Ú0parens_in_union_contained_select_wo_limit_offsetrÂ  rÆ  rÉ  rÌ  rd   re   rf   s   @r3   rª  rª  D  sÇ   ø‡ € Ø $Ðàñ
ó ð
ð ñ	
ó ð	
ôAò
ò
ð ×Ñ×-Ñ-Ø×Ñ×EÑEñ
ó Fó .ð
ð ×Ñ×FÑFñ
ó Gð
ò
ð ×Ñ×EÑEñ	
ó Fð	
÷
ð 
r6   rª  c                   óÐ   a € ] tR tRt o RtRt]R 4       t]R 4       tR t	R t
R tR t]P                  P                  R	 4       t]P                  P                  R
 4       tRtV tR# )ÚPostCompileParamsTesti»  Tc                ó¤   € \        R V\        R\        RR7      \        R\        4      \        R\        4      \        R\        ^24      4      4       R# ©r*   r+   Tr,   rk   rl   ÚzNr/   r0   s   &&r3   r4   Ú#PostCompileParamsTest.define_tablesÂ  ó>   € äØØÜ�4œ¨dÔ3Ü�3œÓ Ü�3œÓ Ü�3œ˜r›
Ó#ö	
r6   c                ó¶   € VP                  V P                  P                  P                  4       R ^R^R^RR/R ^R^R^RR/R ^R^R^RR/R ^R^R^RR/.4       R# ©	r+   rk   rl   rÕ  Úz1Úz2Úz3Úz4Nr:   r>   s   &&r3   r@   Ú!PostCompileParamsTest.insert_dataÍ  ó{   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*à�q˜#˜q # q¨#¨tÐ4Ø�q˜#˜q # q¨#¨tÐ4Ø�q˜#˜q # q¨#¨tÐ4Ø�q˜#˜q # q¨#¨tÐ4ð	ö	
r6   c                óø   € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  \        R RR7      8H  4      pV P                  VR/ 4       R# )rm   T©Úliteral_executezKSELECT some_table.id FROM some_table WHERE some_table.x = __[POSTCOMPILE_q]N©	r<   r*   r   rV   r+   r|  rk   r   Úassert_compile©rI   r   rŸ   s   &  r3   Útest_compileÚ"PostCompileParamsTest.test_compileÙ  s`   € Ø—‘×&Ñ&ˆä�e—g‘g—j‘jÓ!×'Ñ'Ø�G‰G�I‰Iœ 3¸Ô=Ñ=ó
ˆð 	×ÑØð5àö		
r6   c           	     óþ   € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  \        R ^
RR7      8H  4      pV P                  VR/ RR7       R# )rm   Trá  z<SELECT some_table.id FROM some_table WHERE some_table.x = 10)r  Nrã  rå  s   &  r3   Útest_compile_literal_bindsÚ0PostCompileParamsTest.test_compile_literal_bindsç  sh   € Ø—‘×&Ñ&ˆä�e—g‘g—j‘jÓ!×'Ñ'Ø�G‰G�I‰Iœ 3¨¸DÔAÑAó
ˆð 	×ÑØØJØØð	 	ö 	
r6   c                ó„  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  \        R RR7      8H  4      pV P                  4       ;_uu_ 4       p\        P                  P                  4       ;_uu_ 4       pVP                  V\        ^
R7      4       RRR4       RRR4       XP                  \        R\        P                  P                   P"                  '       d   RM/ 4      4       R#   + '       g   i     La; i  + '       g   i     Ll; i)rm   Trá  ©rm   Nz>SELECT some_table.id 
FROM some_table 
WHERE some_table.x = 10r\   )r<   r*   r   rV   r+   r|  rk   r   Úsql_execution_asserterr   rE   rF   r;   ÚdictÚassert_r
   r  Ú
positional©rI   r   rŸ   ÚasserterrK   s   &    r3   Útest_executeÚ"PostCompileParamsTest.test_executeõ  sÒ   € Ø—‘×&Ñ&ˆä�e—g‘g—j‘jÓ!×'Ñ'Ø�G‰G�I‰Iœ 3¸Ô=Ñ=ó
ˆð ×(Ñ(×*Ô*¨hÜ—‘×"Ñ"×$Ô$¨Ø—‘˜T¤4¨"¤:Ô.÷ %÷ +ð 	×ÑÜð,ä—i‘i×'Ñ'×2×2Ð2‘¸óö	
÷ %×$ú÷ +×*ús$   Á?'D/Â&D	ÃD/ÄD,Ä'D/Ä/D?	c                ó¢  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R RRR7      4      4      pV P                  4       ;_uu_ 4       p\        P                  P                  4       ;_uu_ 4       pVP                  V\        . ROR7      4       RRR4       RRR4       XP                  \!        R\        P                  P"                  P$                  '       d   RM/ 4      4       R#   + '       g   i     La; i  + '       g   i     Ll; i)rm   T©Ú	expandingrâ  rì  NzFSELECT some_table.id 
FROM some_table 
WHERE some_table.x IN (5, 6, 7))r‡   rá   r‰   r\   )r<   r*   r   rV   r+   r|  rk   r	   r   rí  r   rE   rF   r;   rî  rï  r
   r  rð  rñ  s   &    r3   Ú+test_execute_expanding_plus_literal_executeÚAPostCompileParamsTest.test_execute_expanding_plus_literal_execute  sÙ   € Ø—‘×&Ñ&ˆä�e—g‘g—j‘jÓ!×'Ñ'Ø�G‰G�I‰I�M‰Mœ) C°4ÈÔNÓOó
ˆð ×(Ñ(×*Ô*¨hÜ—‘×"Ñ"×$Ô$¨Ø—‘˜T¤4ª)Ô#4Ô5÷ %÷ +ð 	×ÑÜð4ä—i‘i×'Ñ'×2×2Ð2‘¸óö	
÷ %×$ú÷ +×*ús$   Â'D>Â3D+	ÃD>Ä+D;Ä6D>Ä>E	c                óD  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  \        R RRR7      4      4      pV P                  4       ;_uu_ 4       p\        P                  P                  4       ;_uu_ 4       pVP                  V\!        RR	.R7      4       RRR4       RRR4       XP#                  \%        R\        P                  P&                  P(                  '       d   RMR,          \        P                  P&                  P*                  '       d   R
M/ 4      4       R#   + '       g   i     L”; i  + '       g   i     LŸ; i)rm   Trö  rì  NzbSELECT some_table.id 
FROM some_table 
WHERE (some_table.x, some_table.y) IN (%s(5, 10), (12, 18))úVALUES Ú )r‡   r÷   )é   é   r\   )r<   r*   r   rV   r+   r|  r    rk   rl   r	   r   rí  r   rE   rF   r;   rî  rï  r
   r  Útuple_in_valuesrð  rñ  s   &    r3   Ú1test_execute_tuple_expanding_plus_literal_executeÚGPostCompileParamsTest.test_execute_tuple_expanding_plus_literal_execute  s  € à—‘×&Ñ&ˆä�e—g‘g—j‘jÓ!×'Ñ'Ü�5—7‘7—9‘9˜eŸg™gŸi™iÓ(×,Ñ,Ü˜#¨¸tÔDóó
ˆð ×(Ñ(×*Ô*¨hÜ—‘×"Ñ"×$Ô$¨Ø—‘˜T¤4¨7°HÐ*=Ô#>Ô?÷ %÷ +ð 	×ÑÜð+ô !'§	¡	× 1Ñ 1× A× AÐ A‘9ÀrõKô —i‘i×'Ñ'×2×2Ð2‘¸óö	
÷ %×$ú÷ +×*úó$   Â*'FÃE<	Ã0FÅ<FÆFÆF	c                óD  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  \        R RRR7      4      4      pV P                  4       ;_uu_ 4       p\        P                  P                  4       ;_uu_ 4       pVP                  V\!        RR	.R7      4       RRR4       RRR4       XP#                  \%        R\        P                  P&                  P(                  '       d   RMR,          \        P                  P&                  P*                  '       d   R
M/ 4      4       R#   + '       g   i     L”; i  + '       g   i     LŸ; i)rm   Trö  rì  NzfSELECT some_table.id 
FROM some_table 
WHERE (some_table.x, some_table.z) IN (%s(5, 'z1'), (12, 'z3'))rû  rü  )r‡   rÚ  )rý  rÜ  r\   )r<   r*   r   rV   r+   r|  r    rk   rÕ  r	   r   rí  r   rE   rF   r;   rî  rï  r
   r  rÿ  rð  rñ  s   &    r3   Ú?test_execute_tuple_expanding_plus_literal_heterogeneous_executeÚUPostCompileParamsTest.test_execute_tuple_expanding_plus_literal_heterogeneous_execute3  s  € à—‘×&Ñ&ˆä�e—g‘g—j‘jÓ!×'Ñ'Ü�5—7‘7—9‘9˜eŸg™gŸi™iÓ(×,Ñ,Ü˜#¨¸tÔDóó
ˆð ×(Ñ(×*Ô*¨hÜ—‘×"Ñ"×$Ô$¨Ø—‘˜T¤4¨9°jÐ*AÔ#BÔC÷ %÷ +ð 	×ÑÜð/ô !'§	¡	× 1Ñ 1× A× AÐ A‘9ÀrõKô —i‘i×'Ñ'×2×2Ð2‘¸óö	
÷ %×$ú÷ +×*úr  r\   N)Ústandard_cursor_sql)r]   r^   r_   r`   r[  r±   rb   r4   r@   ræ  ré  ró  rø  r   rS   Útuple_inr   r  rd   re   rf   s   @r3   rÒ  rÒ  »  s‹   ø‡ € ð €Kà+€Làñ
ó ð
ð ñ	
ó ð	
ò
ò
ò
ò&
ð& ×Ñ×Ññ
ó ð
ð. ×Ñ×Ññ
ó ö
r6   rÒ  c                   ó"  a € ] tR tRt o Rt]R 4       t]R 4       tR%R ltR t	R t
]P                  P                  R 4       t]P                  P                  R	 4       t]P                  P                  R
 4       t]P                  P                  R 4       tR tR tR tR tR tR t]P                  P0                  R 4       t]P                  P0                  R 4       t]P                  P0                  R 4       t]P                  P0                  R 4       t]P                  P0                  R 4       t]P                  P0                  R 4       t]P                  P0                  R 4       tR t R t!R t"R t#R t$R t%R t&R  t'R! t(R" t)R#t*V t+R$# )&ÚExpandingBoundInTestiL  Tc                ó¤   € \        R V\        R\        RR7      \        R\        4      \        R\        4      \        R\        ^24      4      4       R# rÔ  r/   r0   s   &&r3   r4   Ú"ExpandingBoundInTest.define_tablesO  r×  r6   c                ó¶   € VP                  V P                  P                  P                  4       R ^R^R^RR/R ^R^R^RR/R ^R^R^RR/R ^R^R^RR/.4       R# rÙ  r:   r>   s   &&r3   r@   Ú ExpandingBoundInTest.insert_dataZ  rß  r6   c                óÞ   € \         P                  P                  4       ;_uu_ 4       p\        VP	                  W4      P                  4       V4       R R R 4       R #   + '       g   i     R # ; irC   rD   rÅ   s   &&&& r3   rL   Ú#ExpandingBoundInTest._assert_resultf  rˆ  rO   c                óÒ  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R 4      4      4      P                  VP                  P                  P                  \        R4      4      4      P                  VP                  P                  4      pV P                  V. R . R. /R7       R# )rm   rn   r  N)r<   r*   r   rV   r+   r|  rk   r	   r   rl   rU   rL   rå  s   &  r3   Ú"test_multiple_empty_sets_bindparamÚ7ExpandingBoundInTest.test_multiple_empty_sets_bindparamj  s˜   € ð —‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘=¤¨3£Ó0Ó1ß‰U�5—7‘7—9‘9—=‘=¤¨3£Ó0Ó1ß‰X�e—g‘g—j‘jÓ!ð	 	ð 	×Ñ˜D "¨c°2°s¸BÐ-?ÐÖ@r6   c                ó¢  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  4      pV P                  V. 4       R # rC   )r<   r*   r   rV   r+   r|  rk   r	   rl   rU   rL   rå  s   &  r3   Útest_multiple_empty_sets_directÚ4ExpandingBoundInTest.test_multiple_empty_sets_directv  s‚   € ð —‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘= Ó$Ó%ß‰U�5—7‘7—9‘9—=‘= Ó$Ó%ß‰X�e—g‘g—j‘jÓ!ð	 	ð 	×Ñ˜D "Ö%r6   c                ó”  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. R . /R7       R# ©rm   r  N©r<   r*   r   rV   r+   r|  r    rk   rÕ  r	   r   rU   rL   rå  s   &  r3   Ú)test_empty_heterogeneous_tuples_bindparamÚ>ExpandingBoundInTest.test_empty_heterogeneous_tuples_bindparam‚  óƒ   € à—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U”6˜%Ÿ'™'Ÿ)™) U§W¡W§Y¡YÓ/×3Ñ3´I¸c³NÓCÓDß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×Ñ˜D "¨c°2¨YÐÖ7r6   c                ó‚   a a€ S P                   P                  oV V3R  lpV! . . 4       V! . RO. RO4       V! . . 4       R# )c                 óN  <€ \        SP                  P                  4      P                  \	        SP                  P
                  SP                  P                  4      P                  V 4      4      P                  SP                  P                  4      pSP                  W!4       R # rC   )
r   rV   r+   r|  r    rk   rÕ  r	   rU   rL   ©Úvalrï   rŸ   rI   r   s   && €€r3   ÚgoÚGExpandingBoundInTest.test_empty_heterogeneous_tuples_direct.<locals>.go�  óf   ø€ ä�u—w‘w—z‘zÓ"ß‘”v˜eŸg™gŸi™i¨¯©¯©Ó3×7Ñ7¸Ó<Ó=ß‘˜%Ÿ'™'Ÿ*™*Ó%ð ð
 ×Ñ Ö/r6   N©)rR   rÛ  )r€   rÜ  )rÎ   rÝ  ©r~   r   rš  ©r<   r*   ©rI   r   r   s   f @r3   Ú&test_empty_heterogeneous_tuples_directÚ;ExpandingBoundInTest.test_empty_heterogeneous_tuples_directŒ  s7   ù€ à—‘×&Ñ&ˆö	0ñ 	ˆ2ˆrŒ
Ù
Ò,Ò.@ÔAÙ
ˆ2ˆrŽ
r6   c                ó”  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. R . /R7       R# r  ©r<   r*   r   rV   r+   r|  r    rk   rl   r	   r   rU   rL   rå  s   &  r3   Ú'test_empty_homogeneous_tuples_bindparamÚ<ExpandingBoundInTest.test_empty_homogeneous_tuples_bindparamœ  r  r6   c                ó‚   a a€ S P                   P                  oV V3R  lpV! . . 4       V! . RO. RO4       V! . . 4       R# )c                 óN  <€ \        SP                  P                  4      P                  \	        SP                  P
                  SP                  P                  4      P                  V 4      4      P                  SP                  P                  4      pSP                  W!4       R # rC   )
r   rV   r+   r|  r    rk   rl   r	   rU   rL   r  s   && €€r3   r   ÚEExpandingBoundInTest.test_empty_homogeneous_tuples_direct.<locals>.goª  r"  r6   N))rQ   rR   ©rR   r€   ©r€   rÎ   r|   r%  r&  s   f @r3   Ú$test_empty_homogeneous_tuples_directÚ9ExpandingBoundInTest.test_empty_homogeneous_tuples_direct¦  s7   ù€ à—‘×&Ñ&ˆö	0ñ 	ˆ2ˆrŒ
Ù
Ò#Ò%7Ô8Ù
ˆ2ˆrŽ
r6   c                ó`  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. ROR . RO/R7       R# )rm   r  Nr$  ©rR   r€   rÎ   ©r<   r*   r   rV   r+   r|  rk   r	   r   rU   rL   rå  s   &  r3   Útest_bound_in_scalar_bindparamÚ3ExpandingBoundInTest.test_bound_in_scalar_bindparam¶  st   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘=¤¨3£Ó0Ó1ß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×Ñ˜DÒ"4¸cÂ9Ð=MÐÖNr6   c                óF  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . RO4      4      P                  VP                  P                  4      pV P                  V. RO4       R# )rR   Nr5  r$  ©
r<   r*   r   rV   r+   r|  rk   r	   rU   rL   rå  s   &  r3   Útest_bound_in_scalar_directÚ0ExpandingBoundInTest.test_bound_in_scalar_direct¿  sf   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘=¢Ó+Ó,ß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×Ñ˜DÒ"4Ö5r6   c                óª  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  ^^.4      4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  4      pV P                  VRR.4       R# )rR   Nr~   r   ©r<   r*   r   rV   r+   r|  rk   r	   Únot_inrU   rL   rå  s   &  r3   Ú!test_nonempty_in_plus_empty_notinÚ6ExpandingBoundInTest.test_nonempty_in_plus_empty_notinÈ  sŠ   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘= ! Q Ó(Ó)ß‰U�5—7‘7—:‘:×$Ñ$ RÓ(Ó)ß‰X�e—g‘g—j‘jÓ!ð	 	ð 	×Ñ˜D 4¨ ,Ö/r6   c                ó¦  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  P                  ^^.4      4      P                  VP                  P                  4      pV P                  V. 4       R# )rR   Nr>  rå  s   &  r3   Ú!test_empty_in_plus_notempty_notinÚ6ExpandingBoundInTest.test_empty_in_plus_notempty_notinÒ  s†   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘= Ó$Ó%ß‰U�5—7‘7—:‘:×$Ñ$ a¨ VÓ,Ó-ß‰X�e—g‘g—j‘jÓ!ð	 	ð 	×Ñ˜D "Ö%r6   c                óŽ   € \        R4      P                  \        R\        RR7      4      pV P	                  V. ROR. RO/R7       R# )	zntest related to #7292.

as a type is given to the bound param, there is no ambiguity
to the type of element.

ú3select id FROM some_table WHERE z IN :q ORDER BY idrm   T©Útype_r÷  r  Nr$  ©rÛ  rÜ  rÝ  )r   Ú
bindparamsr   r   rL   ©rI   rŸ   s   & r3   Útest_typed_str_inÚ&ExpandingBoundInTest.test_typed_str_inÜ  sK   € ô ØAó
ç
‰*”Y˜s¬&¸DÔAÓ
Bð 	ð 	×ÑØÚØÒ+Ð,ð 	ö 	
r6   c                ó„   € \        R4      P                  \        RRR7      4      pV P                  V. ROR. RO/R7       R# )	z¢test related to #7292.

for untyped expression, we look at the types of elements.
Test for Sequence to detect tuple in.  but not strings or bytes!
as always....

rF  rm   T©r÷  r  Nr$  rI  ©r   rJ  r   rL   rK  s   & r3   Útest_untyped_str_inÚ(ExpandingBoundInTest.test_untyped_str_iní  sI   € ô ØAó
ç
‰*”Y˜s¨dÔ3Ó
4ð 	ð 	×ÑØÚØÒ+Ð,ð 	ö 	
r6   c                óœ  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. ROR . RO/R7       R# )rm   r  Nr$  ©r0  r1  )rÎ   r‡   r*  rå  s   &  r3   Ú!test_bound_in_two_tuple_bindparamÚ6ExpandingBoundInTest.test_bound_in_two_tuple_bindparamÿ  s‹   € à—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U”6˜%Ÿ'™'Ÿ)™) U§W¡W§Y¡YÓ/×3Ñ3´I¸c³NÓCÓDß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×ÑØÒ$¨cÒ3KÐ-Lð 	ö 	
r6   c                ó‚  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  . RO4      4      P                  VP                  P                  4      pV P                  V. RO4       R# )rR   NrT  r$  )r<   r*   r   rV   r+   r|  r    rk   rl   r	   rU   rL   rå  s   &  r3   Útest_bound_in_two_tuple_directÚ3ExpandingBoundInTest.test_bound_in_two_tuple_direct  sx   € à—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U”6˜%Ÿ'™'Ÿ)™) U§W¡W§Y¡YÓ/×3Ñ3Ò4LÓMÓNß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×Ñ˜DÒ"4Ö5r6   c                óœ  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. ROR . RO/R7       R# )rm   r  Nr$  r#  r  rå  s   &  r3   Ú/test_bound_in_heterogeneous_two_tuple_bindparamÚDExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_bindparam  sŒ   € à—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U”6˜%Ÿ'™'Ÿ)™) U§W¡W§Y¡YÓ/×3Ñ3´I¸c³NÓCÓDß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×ÑØÚØÒ:Ð;ð 	ö 	
r6   c                ó‚  € V P                   P                  p\        VP                  P                  4      P                  \        VP                  P                  VP                  P                  4      P                  . RO4      4      P                  VP                  P                  4      pV P                  V. RO4       R# )rR   Nr#  r$  )r<   r*   r   rV   r+   r|  r    rk   rÕ  r	   rU   rL   rå  s   &  r3   Ú,test_bound_in_heterogeneous_two_tuple_directÚAExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_direct#  s‚   € à—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰UÜ�u—w‘w—y‘y %§'¡'§)¡)Ó,×0Ñ0Ú5óó÷
 ‰X�e—g‘g—j‘jÓ!ð 	ð 	×ÑØÚö	
r6   c                ó„   € \        R 4      P                  \        RRR7      4      pV P                  V. ROR. RO/R7       R# )ú8select id FROM some_table WHERE (x, z) IN :q ORDER BY idrm   TrO  r  Nr$  r#  rP  rK  s   & r3   Ú4test_bound_in_heterogeneous_two_tuple_text_bindparamÚIExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam4  sI   € ô ØFó
ç
‰*”Y˜s¨dÔ3Ó
4ð 	ð 	×ÑØÚØÒ:Ð;ð 	ö 	
r6   c                ó  €  ! R  R\         P                  4      p\        R4      P                  \	        R\        \        4       \        4       4      RR7      4      pV P                  V. RORV! ^R4      V! ^R4      V! ^R4      ./R	7       R
# )c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )ÚhExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATupleiC  c                ó   € Wn         R # rC   ©Ú_data©rI   r.   s   &*r3   Ú__init__ÚqExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__init__D  ó   € Ø!–
r6   c                ó,   € \        V P                  4      # rC   ©Úiterri  ©rI   s   &r3   Ú__iter__ÚqExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__iter__G  ó   € Ü˜DŸJ™JÓ'Ð'r6   c                ó(   € V P                   V,          # rC   rh  ©rI   Úidxs   &&r3   Ú__getitem__ÚtExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__getitem__J  ó   € Ø—z‘z #•Ð&r6   c                ó,   € \        V P                  4      # rC   ©r½   ri  rq  s   &r3   Ú__len__ÚpExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__len__M  ó   € Ü˜4Ÿ:™:“Ð&r6   rh  N©
r]   r^   r_   r`   rk  rr  rx  r}  rd   re   rf   s   @r3   Ú
LikeATuplerf  C  ó   ø‡ € ò"ò(ò'÷'ð 'r6   r�  ra  rm   TrG  rÛ  rÜ  rÝ  r  Nr$  )	Úcollections_abcÚSequencer   rJ  r   r!   r   r   rL   ©rI   r�  rŸ   s   &  r3   Ú?test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tupleÚTExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tupleA  s�   € ô	'œ×1Ñ1ô 	'ô ØFó
ç
‰*ÜØœ9¤W£Y´³Ó9ÀTôó
ð 	ð 	×ÑØÚàÙ˜q $Ó'Ù˜q $Ó'Ù˜q $Ó'ððð 	ö 
	
r6   c                óâ   €  ! R  R\         P                  4      p\        R4      P                  \	        RRR7      4      pV P                  V. RORV! ^R4      V! ^R4      V! ^R4      ./R	7       R
# )c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )ÚgExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATupleih  c                ó   € Wn         R # rC   rh  rj  s   &*r3   rk  ÚpExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__init__i  rm  r6   c                ó,   € \        V P                  4      # rC   ro  rq  s   &r3   rr  ÚpExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__iter__l  rt  r6   c                ó(   € V P                   V,          # rC   rh  rv  s   &&r3   rx  ÚsExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__getitem__o  rz  r6   c                ó,   € \        V P                  4      # rC   r|  rq  s   &r3   r}  ÚoExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__len__r  r  r6   rh  Nr€  rf   s   @r3   r�  rŠ  h  r‚  r6   r�  ra  rm   TrO  rÛ  rÜ  rÝ  r  Nr$  )rƒ  r„  r   rJ  r   rL   r…  s   &  r3   Ú>test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tupleÚSExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuplec  s}   € ô
	'œ×1Ñ1ô 	'ô ØFó
ç
‰*”Y˜s¨dÔ3Ó
4ð 	ð 	×ÑØÚàÙ˜q $Ó'Ù˜q $Ó'Ù˜q $Ó'ððð 	ö 
	
r6   c                óX  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. R . /R7       R# r  r6  rå  s   &  r3   Ú(test_empty_set_against_integer_bindparamÚ=ExpandingBoundInTest.test_empty_set_against_integer_bindparam„  ór   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9—=‘=¤¨3£Ó0Ó1ß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×Ñ˜D "¨c°2¨YÐÖ7r6   c                ó>  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  4      pV P                  V. 4       R # rC   r:  rå  s   &  r3   Ú%test_empty_set_against_integer_directÚ:ExpandingBoundInTest.test_empty_set_against_integer_direct�  ób   € Ø—‘×&Ñ&ˆÜ�e—g‘g—j‘jÓ!×'Ñ'¨¯©¯	©	¯©°bÓ(9Ó:×CÑCÀEÇGÁGÇJÁJÓOˆØ×Ñ˜D "Ö%r6   c                ó\  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. ROR . /R7       R# ©rm   r  N©r}   r~   r   rš  )r<   r*   r   rV   r+   r|  rk   r?  r   rU   rL   rå  s   &  r3   Ú1test_empty_set_against_integer_negation_bindparamÚFExpandingBoundInTest.test_empty_set_against_integer_negation_bindparam’  óu   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Óß‰U�5—7‘7—9‘9×#Ñ#¤I¨c£NÓ3Ó4ß‰X�e—g‘g—j‘jÓ!ð 	ð
 	×Ñ˜DÒ":ÀCÈÀ9ÐÖMr6   c                óB  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  4      pV P                  V. RO4       R# ©rQ   NrŸ  )
r<   r*   r   rV   r+   r|  rk   r?  rU   rL   rå  s   &  r3   Ú.test_empty_set_against_integer_negation_directÚCExpandingBoundInTest.test_empty_set_against_integer_negation_direct›  ój   € Ø—‘×&Ñ&ˆä�5—7‘7—:‘:Ó×$Ñ$ U§W¡W§Y¡Y×%5Ñ%5°bÓ%9Ó:×CÑCÀEÇGÁGÇJÁJÓOð 	ð 	×Ñ˜DÒ":Ö;r6   c                óX  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. R . /R7       R# r  )r<   r*   r   rV   r+   r|  rÕ  r	   r   rU   rL   rå  s   &  r3   Ú'test_empty_set_against_string_bindparamÚ<ExpandingBoundInTest.test_empty_set_against_string_bindparam¢  r˜  r6   c                ó>  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  4      pV P                  V. 4       R # rC   )
r<   r*   r   rV   r+   r|  rÕ  r	   rU   rL   rå  s   &  r3   Ú$test_empty_set_against_string_directÚ9ExpandingBoundInTest.test_empty_set_against_string_direct«  rœ  r6   c                ó\  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  \        R 4      4      4      P                  VP                  P                  4      pV P                  V. ROR . /R7       R# rž  )r<   r*   r   rV   r+   r|  rÕ  r?  r   rU   rL   rå  s   &  r3   Ú0test_empty_set_against_string_negation_bindparamÚEExpandingBoundInTest.test_empty_set_against_string_negation_bindparam°  r¢  r6   c                óB  € V P                   P                  p\        VP                  P                  4      P                  VP                  P                  P                  . 4      4      P                  VP                  P                  4      pV P                  V. RO4       R# r¤  )
r<   r*   r   rV   r+   r|  rÕ  r?  rU   rL   rå  s   &  r3   Ú-test_empty_set_against_string_negation_directÚBExpandingBoundInTest.test_empty_set_against_string_negation_direct¹  r§  r6   c                óú   € \        \        \        4       P                  \	        R RR7      4      \        4       3\        4       R7      4      p\        VP                  V4      P                  4       ^ ,          R4       R# )Úfoo)Úvalue©Úelse_Nr\   ©Fr   )	r   r   r   r	   r   r   r   r;   Úfetchone©rI   r?   rŸ   s   && r3   Ú)test_null_in_empty_set_is_false_bindparamÚ>ExpandingBoundInTest.test_null_in_empty_set_is_false_bindparamÀ  s_   € ÜÜä“F—J‘Jœy¨°bÔ9Ó:Ü“Fðô “gôó
ˆô 	ˆJ×Ñ˜tÓ$×-Ñ-Ó/°Õ2°JÖ?r6   c                óä   € \        \        \        4       P                  . 4      \	        4       3\        4       R 7      4      p\        VP                  V4      P                  4       ^ ,          R4       R# )r·  Nr¹  )r   r   r   r	   r   r   r;   rº  r»  s   && r3   Ú&test_null_in_empty_set_is_false_directÚ;ExpandingBoundInTest.test_null_in_empty_set_is_false_directÌ  sW   € ÜÜä“F—J‘J˜r“NÜ“Fðô “gôó
ˆô 	ˆJ×Ñ˜tÓ$×-Ñ-Ó/°Õ2°JÖ?r6   r\   NrV  ),r]   r^   r_   r`   r[  rb   r4   r@   rL   r  r  r   rS   Útuple_in_w_emptyr  r'  r+  r2  r7  r;  r@  rC  rL  rQ  r  rU  rX  r[  r^  rb  r†  r“  r–  rš  r   r¥  r©  r¬  r¯  r²  r¼  r¿  rd   re   rf   s   @r3   r	  r	  L  sþ  ø‡ € Ø€Kàñ
ó ð
ð ñ	
ó ð	
ôAò
Aò
&ð ×Ñ×&Ñ&ñ8ó 'ð8ð ×Ñ×&Ñ&ñó 'ðð ×Ñ×&Ñ&ñ8ó 'ð8ð ×Ñ×&Ñ&ñó 'ðòOò6ò0ò&ò
ò"
ð$ ×Ñ×Ññ	
ó ð	
ð ×Ñ×Ññ6ó ð6ð ×Ñ×Ññ
ó ð
ð ×Ñ×Ññ
ó ð
ð  ×Ñ×Ññ

ó ð

ð ×Ñ×Ññ
ó ð
ðB ×Ñ×Ññ
ó ð
ò@8ò&ò
Nò<ò8ò&ò
Nò<ò
@÷
@ð 
@r6   r	  c                   ó®  a € ] tR tRt o RtRtRt]R 4       t]R 4       t	R t
R t]P                  P                  R	 4       tR
 t]P                  P                  R 4       t]P                  P                  R 4       tR tR t]P                  P                  R 4       t]P                  P                  R 4       t]P                  P                  R 4       tR t]P                  P                  R 4       t]P                  P                  R 4       t]P                  P                  R 4       t]P                  P8                  R 4       t]P                  P<                  R 4       t]P                  P8                  ]P@                  ! R0 R!m3R0 R"m3R0 R"m3R^03R]!! ]"! ^^4      4      3R]!! ]"! ^^4      4      3R]!! 4       34      R 4       4       t#R t$V t%R# )#ÚLikeFunctionsTestiÙ  TÚonceNc                óh   € \        R V\        R\        RR7      \        R\        ^24      4      4       R# r)   r/   r0   s   &&r3   r4   ÚLikeFunctionsTest.define_tablesß  s*   € äØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&ö		
r6   c                óÜ   € VP                  V P                  P                  P                  4       R ^RR/R ^RR/R ^RR/R ^RR/R ^RR/R ^RR/R ^RR/R ^RR	/R ^	RR
/R ^
RR/R ^RR/.4       R# )r+   r.   Úabcdefgzab/cdefgzab%cdefgÚab_cdefgzabcde/fgzabcde%fgzab#cdefgÚab9cdefgzabcde#fgÚabcd9fgNr:   r>   s   &&r3   r@   ÚLikeFunctionsTest.insert_dataè  s¯   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*à�q˜& )Ð,Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�q˜& *Ð-Ø�r˜6 9Ð-Ø�r˜6 4Ð(ðö	
r6   c                ót  € V P                   P                  p\        P                  P	                  4       ;_uu_ 4       pVP                  \        VP                  P                  4      P                  V4      4       Uu0 uF  w  pVkK	  	  ppR R R 4       \        XV4       R # u upi   + '       g   i     L#; irC   )r<   r*   r   rE   rF   r;   r   rV   r+   r|  r   )rI   rž   rï   r*   rK   r¶  Úrowss   &&&    r3   Ú_testÚLikeFunctionsTest._testû  sŠ   € Ø—[‘[×+Ñ+ˆ
ä�Y‰Y×Ñ× Ô  Dð #Ÿl™l¬6°*·,±,·/±/Ó+B×+HÑ+HÈÓ+NÔOóáO‘F�Eó ÙOð ð ÷ !ô 	ˆD�(Öùò÷ !× ús   ½A B'Á=B"Â
B'Â"B'Â'B7	c                ó    € V P                   P                  P                  P                  pV P	                  VP                  R 4      0 Rm4       R# )úab%cN¾
   rQ   rR   r€   rÎ   r‡   rá   r‰   é   é	   r÷   ©r<   r*   rV   r.   rÏ  Ú
startswith©rI   Úcols   & r3   Útest_startswith_unescapedÚ+LikeFunctionsTest.test_startswith_unescaped  s5   € Ø�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—>‘> &Ó)Ò+JÖKr6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R RR7      ^04       R# )rÒ  T©Ú
autoescapeNrÖ  rØ  s   & r3   Útest_startswith_autoescapeÚ,LikeFunctionsTest.test_startswith_autoescape
  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—>‘> &°T�>Ó:¸Q¸CÖ@r6   c                ó²   € V P                   P                  P                  P                  pV P	                  VP                  \        R 4      4      0 Rm4       R# )z'ab%c'NrÓ  )r<   r*   rV   r.   rÏ  r×  r   rØ  s   & r3   Útest_startswith_sqlexprÚ)LikeFunctionsTest.test_startswith_sqlexpr  s=   € Ø�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
Ø�N‰Nœ>¨(Ó3Ó4Ú+ö	
r6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R RR7      ^04       R# )zab##cÚ#©ÚescapeNrÖ  rØ  s   & r3   Útest_startswith_escapeÚ(LikeFunctionsTest.test_startswith_escape  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—>‘> '°#�>Ó6¸¸Ö<r6   c                óî   € V P                   P                  P                  P                  pV P	                  VP                  R RRR7      ^04       V P	                  VP                  RRRR7      ^04       R# )rÒ  Trå  ©rÞ  rç  zab#cNrÖ  rØ  s   & r3   Ú!test_startswith_autoescape_escapeÚ3LikeFunctionsTest.test_startswith_autoescape_escape  s[   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—>‘> &°TÀ#�>ÓFÈÈÔLØ�
‰
�3—>‘> &°TÀ#�>ÓFÈÈÖLr6   c                ó    € V P                   P                  P                  P                  pV P	                  VP                  R 4      0 Rm4       R# )úe%fgN¾	   rQ   rR   r€   rÎ   r‡   rá   r‰   rÔ  rÕ  ©r<   r*   rV   r.   rÏ  ÚendswithrØ  s   & r3   Útest_endswith_unescapedÚ)LikeFunctionsTest.test_endswith_unescaped!  s5   € Ø�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< Ó'Ò)DÖEr6   c                ó²   € V P                   P                  P                  P                  pV P	                  VP                  \        R 4      4      0 Rm4       R# )z'e%fg'Nrð  )r<   r*   rV   r.   rÏ  rò  r   rØ  s   & r3   Útest_endswith_sqlexprÚ'LikeFunctionsTest.test_endswith_sqlexpr%  s=   € Ø�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
Ø�L‰Lœ¨Ó1Ó2Ò4Oö	
r6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R RR7      ^04       R# )rï  TrÝ  Nrñ  rØ  s   & r3   Útest_endswith_autoescapeÚ*LikeFunctionsTest.test_endswith_autoescape+  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< °4�<Ó8¸1¸#Ö>r6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R RR7      ^	04       R# )ze##fgrå  ræ  Nrñ  rØ  s   & r3   Útest_endswith_escapeÚ&LikeFunctionsTest.test_endswith_escape0  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< °�<Ó4°q°cÖ:r6   c                óî   € V P                   P                  P                  P                  pV P	                  VP                  R RRR7      ^04       V P	                  VP                  RRRR7      ^	04       R# )rï  Trå  rë  ze#fgNrñ  rØ  s   & r3   Útest_endswith_autoescape_escapeÚ1LikeFunctionsTest.test_endswith_autoescape_escape5  ó[   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< °4À�<ÓDÀqÀcÔJØ�
‰
�3—<‘< °4À�<ÓDÀqÀcÖJr6   c                ó    € V P                   P                  P                  P                  pV P	                  VP                  R 4      0 Rm4       R# )úb%cdeNrð  ©r<   r*   rV   r.   rÏ  ÚcontainsrØ  s   & r3   Útest_contains_unescapedÚ)LikeFunctionsTest.test_contains_unescaped;  s5   € Ø�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< Ó(Ò*EÖFr6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R RR7      ^04       R# )r  TrÝ  Nr  rØ  s   & r3   Útest_contains_autoescapeÚ*LikeFunctionsTest.test_contains_autoescape?  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< °D�<Ó9¸A¸3Ö?r6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R RR7      ^04       R# )zb##cderå  ræ  Nr  rØ  s   & r3   Útest_contains_escapeÚ&LikeFunctionsTest.test_contains_escapeD  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3—<‘< °�<Ó5¸°sÖ;r6   c                óî   € V P                   P                  P                  P                  pV P	                  VP                  R RRR7      ^04       V P	                  VP                  RRRR7      ^04       R# )zb%cdTrå  rë  zb#cdNr  rØ  s   & r3   Útest_contains_autoescape_escapeÚ1LikeFunctionsTest.test_contains_autoescape_escapeI  r  r6   c                ó¢   € V P                   P                  P                  P                  pV P	                  VP                  R 4      ( 0 Rm4       R# )úa.cdeN>   rR   r€   rÎ   r‰   rÔ  r÷   ©r<   r*   rV   r.   rÏ  Úregexp_matchrØ  s   & r3   Útest_not_regexp_matchÚ'LikeFunctionsTest.test_not_regexp_matchO  s:   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�C×$Ñ$ WÓ-Ð-Ò/BÖCr6   c                óÀ   € V P                   P                  P                  P                  pV P	                  VP                  R R4      P                  R4      0 Rm4       R# )r  ÚFOON¾   rQ   r‡   rá   rÕ  )r<   r*   rV   r.   rÏ  Úregexp_replacer  rØ  s   & r3   Útest_regexp_replaceÚ%LikeFunctionsTest.test_regexp_replaceT  sF   € à�k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
Ø×Ñ˜w¨Ó.×7Ñ7¸Ó>Âö	
r6   r  Úabcz^abcÚ9cdez^az(b|c)z^(b|c)c                óœ   € V P                   P                  P                  P                  pV P	                  VP                  V4      V4       R # rC   r  )rI   r   rï   rÙ  s   &&& r3   Útest_regexp_matchÚ#LikeFunctionsTest.test_regexp_match[  s8   € ð �k‰k×$Ñ$×&Ñ&×+Ñ+ˆØ�
‰
�3×#Ñ# DÓ)¨8Ö4r6   r\   r  >   rQ   r‡   rá   rÕ  r÷   )&r]   r^   r_   r`   ra   Úrun_insertsÚrun_deletesrb   r4   r@   rÏ  rÚ  r   rS   Úlike_escapesrß  râ  rè  rì  ró  rö  rù  rü  rÿ  r  r	  r  r  r  r  r  r  r]  r¾   Úranger   rd   re   rf   s   @r3   rÃ  rÃ  Ù  sN  ø‡ € Ø $Ðà€KØ€Kàñ
ó ð
ð ñ
ó ð
ò$	òLð ×Ñ×"Ñ"ñAó #ðAò
ð ×Ñ×"Ñ"ñ=ó #ð=ð ×Ñ×"Ñ"ñMó #ðMò
Fò
ð ×Ñ×"Ñ"ñ?ó #ð?ð ×Ñ×"Ñ"ñ;ó #ð;ð ×Ñ×"Ñ"ñKó #ðKò
Gð ×Ñ×"Ñ"ñ@ó #ð@ð ×Ñ×"Ñ"ñ<ó #ð<ð ×Ñ×"Ñ"ñKó #ðKð
 ×Ñ×"Ñ"ñDó #ðDð ×Ñ×$Ñ$ñ
ó %ð
ð ×Ñ×"Ñ"Ø×ÒØ	’,ÐØ	Ò Ð!Ø	Ò!Ð"Ø	�!�ˆØ	‰s‘5˜˜B“<Ó Ð!Ø	‘#‘e˜A˜r“lÓ#Ð$Ø	‘3“5Ðóñ5óó #ö5r6   rÃ  c                   óT   a € ] tR tRt o RtR	t]R 4       t]R 4       tR t	R t
RtV tR# )
ÚComputedColumnTestij  Tc                óÂ   € \        R V\        R\        RR7      \        R\        4      \        R\        \        R4      4      \        R\        \        R4      4      4       R	# )
Úsquarer+   Tr,   ÚsideÚareazside * sideÚ	perimeterz4 * sideN)r   r   r   r   r0   s   &&r3   r4   Ú ComputedColumnTest.define_tablesn  sH   € äØØÜ�4œ¨dÔ3Ü�6œ7Ó#Ü�6œ7¤H¨]Ó$;Ó<Ü�;¤¬°*Ó)=Ó>ö	
r6   c                ó‚   € VP                  V P                  P                  P                  4       R ^R^
/R ^
R^*/.4       R# )r+   r*  N)r;   r<   r)  r=   r>   s   &&r3   r@   ÚComputedColumnTest.insert_datay  s@   € à×ÑØ�J‰J×Ñ×$Ñ$Ó&Ø�A�v˜rÐ" T¨2¨v°rÐ$:Ð;ö	
r6   c           	     ó¾  € \         P                  P                  4       ;_uu_ 4       pVP                  \	        \        R 4      4      P                  V P                  P                  4      P                  V P                  P                  P                  P                  4      4      P                  4       p\        VRR.4       RRR4       R#   + '       g   i     R# ; i)Ú*N)rQ   r÷   éd   rL  )r÷   é*   éä  é¨   )r   rE   rF   r;   r   r   r“  r<   r)  rU   rV   r+   rG   r   ©rI   rK   Úress   &  r3   Útest_select_allÚ"ComputedColumnTest.test_select_all€  s“   € Ü�Y‰Y×Ñ× Ô  DØ—,‘,Ü”t˜C“yÓ!ß‘˜TŸ[™[×/Ñ/Ó0ß‘˜$Ÿ+™+×,Ñ,×.Ñ.×1Ñ1Ó2ó÷ ‰h‹jð	 ô
 �Ð&Ð(;Ð<Ô=÷ !× × Ò ús   §BCÃC	c                óN  € \         P                  P                  4       ;_uu_ 4       pVP                  \	        V P
                  P                  P                  P                  V P
                  P                  P                  P                  4      P                  V P
                  P                  4      P                  V P
                  P                  P                  P                  4      4      P                  4       p\        VRR.4       RRR4       R#   + '       g   i     R# ; i)r2  N)r2  rL  )r4  r5  )r   rE   rF   r;   r   r<   r)  rV   r+  r,  r“  rU   r+   rG   r   r6  s   &  r3   Útest_select_columnsÚ&ComputedColumnTest.test_select_columns‰  sÀ   € Ü�Y‰Y×Ñ× Ô  DØ—,‘,ÜØ—K‘K×&Ñ&×(Ñ(×-Ñ-¨t¯{©{×/AÑ/A×/CÑ/C×/MÑ/Mó÷ ‘˜TŸ[™[×/Ñ/Ó0ß‘˜$Ÿ+™+×,Ñ,×.Ñ.×1Ñ1Ó2ó÷ ‰h‹jð ô ��i Ð-Ô.÷ !× × Ò ús   §C"DÄD$	r\   N)Úcomputed_columns)r]   r^   r_   r`   ra   r±   rb   r4   r@   r8  r;  rd   re   rf   s   @r3   r'  r'  j  sE   ø‡ € Ø $ÐØ(€Làñ
ó ð
ð ñ
ó ð
ò>÷	/ð 	/r6   r'  c                   ó”   a € ] tR tRt o RtRtRtRt]R 4       t	]R 4       t
R tR t]P                  P                  R 4       tR	tV tR
# )ÚIdentityColumnTesti•  TrÄ  c                ó  € \        R V\        R\        \        R^*RRR7      RR7      \        R\	        ^d4      4      4       \        RV\        R\        \        R	^ R
^ R7      RR7      \        R\	        ^d4      4      4       R# )Útbl_ar+   T)ÚalwaysÚstartÚ
nominvalueÚ
nomaxvaluer,   r’   Útbl_b)Ú	incrementrC  ÚminvalueÚmaxvalueNéûÿÿÿiüÿÿ©r   r   r   r   r   r0   s   &&r3   r4   Ú IdentityColumnTest.define_tables›  sƒ   € äØØÜØÜÜØ r°dÀtôð !ôô �6œ6 #›;Ó'ô	
ô 	ØØÜØÜÜ 2¨Q¸ÈÔKØ ô	ô �6œ6 #›;Ó'ö
	
r6   c                ó`  € VP                  V P                  P                  P                  4       R R/R R/.4       VP                  V P                  P                  P                  4       R R/R R/.4       VP                  V P                  P                  P                  4       R^*R R/.4       R# )r’   rŠ  r‹  r+   rV   N)r;   r<   rA  r=   rF  r>   s   &&r3   r@   ÚIdentityColumnTest.insert_data¶  s¡   € à×ÑØ�J‰J×Ñ×#Ñ#Ó%Ø�cˆ]˜V S˜MÐ*ô	
ð 	×ÑØ�J‰J×Ñ×#Ñ#Ó%Ø�cˆ]˜V S˜MÐ*ô	
ð 	×ÑØ�J‰J×Ñ×#Ñ#Ó%Ø�B˜ Ð$Ð%ö	
r6   c                ój  € VP                  \        \        R 4      4      P                  V P                  P
                  4      P                  V P                  P
                  P                  P                  4      4      P                  4       p\        VRR.4       VP                  \        \        R 4      4      P                  V P                  P                  4      P                  V P                  P                  P                  P                  4      4      P                  4       p\        V. RO4       R# )r1  N)r3  rŠ  )é+   r‹  ))rJ  r‹  )r   rŠ  )r3  rV   )r;   r   r   r“  r<   rA  rU   rV   r+   rG   r   rF  ©rI   r?   r7  s   && r3   r8  Ú"IdentityColumnTest.test_select_allÅ  sØ   € Ø× Ñ Ü”4˜“9Óß‰[˜Ÿ™×*Ñ*Ó+ß‰X�d—k‘k×'Ñ'×)Ñ)×,Ñ,Ó-ó
÷ ‰(‹*ð	 	ô
 	ˆC�)˜YÐ'Ô(à× Ñ Ü”4˜“9Óß‰[˜Ÿ™×*Ñ*Ó+ß‰X�d—k‘k×'Ñ'×)Ñ)×,Ñ,Ó-ó
÷ ‰(‹*ð	 	ô
 	ˆCÒ1Ö2r6   c                ó0  € VP                  \        V P                  P                  P                  P
                  4      P                  V P                  P                  P                  P
                  4      4      P                  4       p\        VRR.4       R# )r3  N)r3  )rP  )	r;   r   r<   rA  rV   r+   rU   rG   r   rQ  s   && r3   r;  Ú&IdentityColumnTest.test_select_columnsÔ  sk   € Ø× Ñ Ü�4—;‘;×$Ñ$×&Ñ&×)Ñ)Ó*×3Ñ3°D·K±K×4EÑ4E×4GÑ4G×4JÑ4JÓKó
ç
‰(‹*ð 	ô 	ˆC�%˜�Ö r6   c                óD   a a€ VV 3R  lp\        \        \        3V4       R# )c                  óz   <€ S P                  SP                  P                  P                  4       R ^ÈRR/.4       R# )r+   r’   rŠ  N)r;   r<   rA  r=   )r?   rI   s   €€r3   ÚfnÚ7IdentityColumnTest.test_insert_always_error.<locals>.fnÜ  s6   ø€ Ø×ÑØ—‘×!Ñ!×(Ñ(Ó*Ø˜˜V SÐ)Ð*ör6   N)r   r$   r%   )rI   r?   rW  s   ff r3   Útest_insert_always_errorÚ+IdentityColumnTest.test_insert_always_errorÚ  s   ù€ ö	ô 	”}Ô&6Ð7¸Ö<r6   r\   N)Úidentity_columns)r]   r^   r_   r`   r[  r±   r"  r#  rb   r4   r@   r8  r;  r   rS   Úidentity_columns_standardrY  rd   re   rf   s   @r3   r?  r?  •  si   ø‡ € Ø€KØ(€LØ€KØ€Kàñ
ó ð
ð4 ñ
ó ð
ò3ò!ð ×Ñ×/Ñ/ñ=ó 0ö=r6   r?  c                   ó>   a € ] tR tRt o RtRt]R 4       tR tRt	V t
R# )ÚIdentityAutoincrementTestiå  Tc                ó|   € \        R V\        R\        \        4       RRR7      \        R\	        ^d4      4      4       R# )Útblr+   T)r-   Úautoincrementr’   NrK  r0   s   &&r3   r4   Ú'IdentityAutoincrementTest.define_tablesé  s9   € äØØÜØÜÜ“
Ø Ø"ôô �6œ6 #›;Ó'ö	
r6   c                ó  € VP                  V P                  P                  P                  4       R R/4       VP                  V P                  P                  P	                  4       4      P                  4       p\        VR4       R# )r’   ÚrowN)rQ   rd  )r;   r<   r`  r=   r   rv  r   rQ  s   && r3   Ú test_autoincrement_with_identityÚ:IdentityAutoincrementTest.test_autoincrement_with_identityø  s[   € Ø×Ñ˜4Ÿ;™;Ÿ?™?×1Ñ1Ó3°f¸e°_ÔEØ× Ñ  §¡§¡×!7Ñ!7Ó!9Ó:×@Ñ@ÓBˆÜˆC�Ör6   r\   N)Úautoincrement_without_sequence)r]   r^   r_   r`   r[  r±   rb   r4   re  rd   re   rf   s   @r3   r^  r^  å  s+   ø‡ € Ø€KØ6€Làñ
ó ð
÷ð r6   r^  c                   óP   a € ] tR tRt o Rt]R 4       t]R 4       tR tR t	Rt
V tR# )	Ú
ExistsTestiþ  Tc                óh   € \        R V\        R\        RR7      \        R\        ^24      4      4       R# )Ústuffr+   Tr,   r.   Nr/   r0   s   &&r3   r4   ÚExistsTest.define_tables  s*   € äØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&ö		
r6   c           
     ó–   € VP                  V P                  P                  P                  4       R ^RR/R ^RR/R ^RR/R ^RR/.4       R# )r+   r.   ú	some datazsome other dataN)r;   r<   rk  r=   r>   s   &&r3   r@   ÚExistsTest.insert_data
  s\   € à×ÑØ�J‰J×Ñ×#Ñ#Ó%à�q˜& +Ð.Ø�q˜& +Ð.Ø�q˜& +Ð.Ø�q˜&Ð"3Ð4ð	ö	
r6   c           
     ó$  € V P                   P                  p\        VP                  \	        \        ^4      4      P                  \        4       P                  VP                  P                  R8H  4      4      4      P                  4       R.4       R# )rQ   rn  Nr}   ©r<   rk  r   r;   r   r   r|  r   rV   r.   rG   ©rI   r?   rk  s   && r3   Útest_select_existsÚExistsTest.test_select_exists  sg   € Ø—‘×!Ñ!ˆÜØ×ÑÜ”w˜q“zÓ"×(Ñ(Ü“H—N‘N 5§7¡7§<¡<°;Ñ#>Ó?óó÷ ‰h‹jØˆFö	
r6   c           
     ó"  € V P                   P                  p\        VP                  \	        \        ^4      4      P                  \        4       P                  VP                  P                  R8H  4      4      4      P                  4       . 4       R# )rQ   zno dataNrq  rr  s   && r3   Útest_select_exists_falseÚ#ExistsTest.test_select_exists_false!  se   € Ø—‘×!Ñ!ˆÜØ×ÑÜ”w˜q“zÓ"×(Ñ(Ü“H—N‘N 5§7¡7§<¡<°9Ñ#<Ó=óó÷ ‰h‹jØö	
r6   r\   N)r]   r^   r_   r`   ra   rb   r4   r@   rs  rv  rd   re   rf   s   @r3   ri  ri  þ  s@   ø‡ € Ø $Ðàñ
ó ð
ð ñ	
ó ð	
ò	
÷	
ð 	
r6   ri  c                   ó|   a € ] tR tRt o Rt]P                  ! ]P                  P                  4      R 4       t	Rt
V tR# )ÚDistinctOnTesti-  Tc                ó  € \        R 4      P                  \        R4      4      P                  \	        R4      4      p\
        P                  ! R4      ;_uu_ 4        V P                  VR4       RRR4       R#   + '       g   i     R# ; i)r1  rm   rµ  z:DISTINCT ON is currently supported only by the PostgreSQL zSELECT DISTINCT * FROM fooN)r   rÅ  r   r“  r   r   Úexpect_deprecatedrä  )rI   Ústms   & r3   Útest_distinct_onÚDistinctOnTest.test_distinct_on0  sg   € ä�S‹k×"Ñ"¤6¨#£;Ó/×;Ñ;¼EÀ%»LÓIˆÜ×&Ò&ØH÷
õ 
ð ×Ñ Ð%AÔB÷
÷ 
÷ 
ò 
ús   ÁA7Á7B	r\   N)r]   r^   r_   r`   ra   r   Úfails_ifrS   Úsupports_distinct_onr}  rd   re   rf   s   @r3   ry  ry  -  s6   ø‡ € Ø $Ðà×Ò�g×&Ñ&×;Ñ;Ó<ñCó =öCr6   ry  c            
       óv   a € ] tR tRt o RtR
t]R 4       t]P                  ! RRRRRRRR7      R 4       t
R	tV tR# )ÚIsOrIsNotDistinctFromTesti9  Tc                ó„   € \        R V\        R\        RR7      \        R\        RR7      \        R\        RR7      4       R# )Úis_distinct_testr+   Tr,   Úcol_arj  Úcol_bNr¶   r0   s   &&r3   r4   Ú'IsOrIsNotDistinctFromTest.define_tables=  s4   € äØØÜ�4œ¨dÔ3Ü�7œG¨dÔ3Ü�7œG¨dÔ3ö	
r6   NÚiaaaz3col_a_value, col_b_value, expected_row_count_for_is)Úid_ré   c           	     ó¶  € V P                   P                  pVP                  VP                  4       R ^RVRV/.4       VP                  VP	                  4       P                  VP                  P                  P                  VP                  P                  4      4      4      P                  4       p\        \        V4      V4       V^ 8X  d   ^M^ pVP                  VP	                  4       P                  VP                  P                  P                  VP                  P                  4      4      4      P                  4       p\        \        V4      V4       R# )r+   r…  r†  N)r<   r„  r;   r=   r   r|  rV   r…  Úis_distinct_fromr†  rG   r   r½   Úis_not_distinct_from)rI   Úcol_a_valueÚcol_b_valueÚexpected_row_count_for_isr?   r`  rJ   Úexpected_row_count_for_is_nots   &&&&&   r3   Útest_is_or_is_not_distinct_fromÚ9IsOrIsNotDistinctFromTest.test_is_or_is_not_distinct_fromG  s  € ð �k‰k×*Ñ*ˆà×ÑØ�J‰J‹LØ�A�w ¨W°kÐBÐCô	
ð
 ×#Ñ#Ø�J‰J‹L×Ñ˜sŸu™uŸ{™{×;Ñ;¸C¿E¹E¿K¹KÓHÓIó
ç
‰(‹*ð 	ô 	Ü�‹KØ%ô	
ð +¨aÔ/‰A°Qð 	&ð ×#Ñ#Ø�J‰J‹L×Ñ˜sŸu™uŸ{™{×?Ñ?ÀÇÁÇÁÓLÓMó
ç
‰(‹*ð 	ô 	Ü�‹KØ)ö	
r6   r\   )Úsupports_is_distinct_from)Úboth_int_differentr   rQ   rQ   )Úboth_int_samerQ   rQ   r   )Úone_null_firstNrQ   rQ   )Úone_null_secondr   NrQ   )Ú	both_nullNNr   )r]   r^   r_   r`   ra   r±   rb   r4   r   r]  r‘  rd   re   rf   s   @r3   r‚  r‚  9  sV   ø‡ € Ø $ÐØ1€Làñ
ó ð
ð ×ÒØ'Ø"Ø&Ø'Ø$ØØFôñ
óö
r6   r‚  c                   óT   a € ] tR tRt o R	tRt]R 4       t]R 4       tR t	R t
RtV tR# )
ÚWindowFunctionTestin  Tc           
     ó|   € \        R V\        R\        RR7      \        R\        4      \        R\        4      4       R# )r*   r+   Tr,   Úcol1Úcol2Nr¶   r0   s   &&r3   r4   Ú WindowFunctionTest.define_tabless  s0   € äØØÜ�4œ¨dÔ3Ü�6œ7Ó#Ü�6œ7Ó#ö	
r6   c                óÆ   € TP                  V P                  P                  P                  4       \	        ^^24       Uu. uF  pRVRVRV^,          /NK  	  up4       R# u upi )rQ   r+   rœ  r�  N)r;   r<   r*   r=   r%  )r1   r?   Úis   && r3   r@   ÚWindowFunctionTest.insert_data}  sR   € à×ÑØ�J‰J×!Ñ!×(Ñ(Ó*Ü:?ÀÀ2¼,ÓG¹,°Qˆd�A�v˜q &¨!¨a­%Ó0¹,ÑGö	
ùâGs   ½A
c                óØ  € V P                   P                  pVP                  \        \        P
                  ! VP                  P                  4      P                  VP                  P                  P                  4       .R 7      4      P                  VP                  P                  ^8  4      4      P                  4       p\        T\        ^4       Uu. uF  pRNK  	  up4       R# u upi ))rU   N)é_   )r<   r*   r;   r   r   ÚmaxrV   r�  Úoverrœ  r’   r|  r¬   r   r%  ©rI   r?   r*   rÎ  r   s   &&   r3   Útest_windowÚWindowFunctionTest.test_window„  s±   € Ø—[‘[×+Ñ+ˆ
Ø×!Ñ!ÜÜ—’˜Ÿ™×*Ñ*Ó+×0Ñ0Ø(Ÿl™l×/Ñ/×4Ñ4Ó6Ð7ð 1ó ó÷ ‰e�J—L‘L×%Ñ%¨Ñ*Ó+ó
÷ ‰#‹%ð 	ô 	ˆD¤%¨¤)Ó,¡)˜Q“5¡)Ñ,Ö-ùÒ,s   ÃC'
c           	     óv  € V P                   P                  pVP                  \        \        P
                  ! VP                  P                  4      P                  VP                  P                  .RR7      4      4      P                  4       p\        T\        ^^ú^4       Uu. uF  qD3NK  	  up4       R# u upi )r‡   )rU   rÎ  N)rJ  r   )r<   r*   r;   r   r   r¤  rV   r�  r¥  rœ  r¬   r   r%  r¦  s   &&   r3   Útest_window_rows_betweenÚ+WindowFunctionTest.test_window_rows_between�  s™   € Ø—[‘[×+Ñ+ˆ
ð ×!Ñ!ÜÜ—’˜Ÿ™×*Ñ*Ó+×0Ñ0Ø(Ÿl™l×/Ñ/Ð0Ø ð 1ó óó
÷ ‰#‹%ð 	ô 	ˆD¤ q¨#¨qÔ!1Ó2Ñ!1˜A“4Ñ!1Ñ2Ö3ùÒ2s   Â"B6
r\   N)Úwindow_functions)r]   r^   r_   r`   r±   ra   rb   r4   r@   r§  rª  rd   re   rf   s   @r3   rš  rš  n  sE   ø‡ € Ø(€Là $Ðàñ
ó ð
ð ñ
ó ð
ò
.÷4ð 4r6   rš  c                   ó¨  a€ ] tR tRt oRtR;tt]! ^
4       U u. uF  p RV RV ^,           /NK  	  up t]	R 4       t
]	R 4       t]P                  ! R ]! ^
4       U u. uF  q ^8w  g   K  V NK  	  up ]P                  P                  3R	 ]! ]! ^
4      4      ]P                  P"                  3R
 ]! ]! ^^4      4      ]P                  P$                  3R ^ .]P                  P&                  3R ]! ]! ^^
4      4      ]P                  P(                  3R ]! ]! ^^
4      4      ]P                  P(                  3RR7      R 4       tRtVtR# u up i u up i )ÚBitwiseTesti¡  TrÄ  rŠ  r‹  c           	     óZ   € \        R V\        R\        4      \        R\        4      4       R# )ÚbitwiserŠ  r‹  Nr¶   r0   s   &&r3   r4   ÚBitwiseTest.define_tables§  s   € äˆi˜¤6¨#¬wÓ#7¼ÀÄWÓ9MÖNr6   c                ó‚   € VP                  V P                  P                  P                  4       V P                  4       R # rC   )r;   r<   r°  r=   Úinserted_datar>   s   &&r3   r@   ÚBitwiseTest.insert_data«  s+   € à×Ñ˜3Ÿ:™:×-Ñ-×4Ñ4Ó6¸×8IÑ8IÖJr6   c                ó$   € V P                  ^4      # r†   )Úbitwise_xor©rŠ  s   &r3   Ú<lambda>ÚBitwiseTest.<lambda>±  ó   € �a—m‘m AÔ&r6   c                ó$   € V P                  ^4      # r}   )Ú
bitwise_orr·  s   &r3   r¸  r¹  ¶  s   € �a—l‘l 1”or6   c                ó$   € V P                  ^4      # rš  )Úbitwise_andr·  s   &r3   r¸  r¹  »  rº  r6   c                ó0   € V ^,
          P                  4       # r~   )Úbitwise_notr·  s   &r3   r¸  r¹  À  s   € �q˜1•u×)Ñ)Ô+r6   c                ó$   € V P                  ^4      # r}   )Úbitwise_lshiftr·  s   &r3   r¸  r¹  Å  ó   € �a×&Ñ& qÔ)r6   c                ó$   € V P                  ^4      # r~   )Úbitwise_rshiftr·  s   &r3   r¸  r¹  Ê  rÃ  r6   zcase, expectedrè   c                óž  € V P                   P                  pVP                  P                  p\        P
                  ! WR 7      p\        V4      P                  V^ 8„  4      P                  V4      pVP                  V4      P                  4       P                  4       p\        Y‚ U	u. uF  q�P                  V	,          NK  	  up	4       R# u up	i )r·  N)r<   r°  rV   rŠ  r   Úresolve_lambdar   r|  rU   r;   Úmappingsr¬   r   r³  )
rI   r   rï   r?   r`  rŠ  ÚoprŸ   r7  r   s
   &&&&      r3   Útest_bitwiseÚBitwiseTest.test_bitwise¯  sž   € ðD �k‰k×!Ñ!ˆà�E‰E�G‰Gˆä×#Ò# DÔ.ˆä�c‹{× Ñ   a¡Ó(×1Ñ1°!Ó4ˆà× Ñ  Ó&×/Ñ/Ó1×5Ñ5Ó7ˆÜˆC°Ó:±¨A×$Ñ$ Q×'Ð'±Ñ:Ö;ùÒ:s   Â&C

r\   N)r]   r^   r_   r`   r[  r"  r#  r%  r³  rb   r4   r@   r   r]  rS   Úsupports_bitwise_xorÚlistÚsupports_bitwise_orÚsupports_bitwise_andÚsupports_bitwise_notÚsupports_bitwise_shiftrÊ  rd   re   )r   rg   s   0@r3   r®  r®  ¡  s  ø‡ € Ø€KØ &Ð&€K�+á38¸´9Ó=±9¨a�c˜1˜c 1 q¥5Ó)±9Ñ=€MàñOó ðOð ñKó ðKð ×Òá&Ù˜bœ	Ó,™	�1¨!¡V�QˆQ™	Ñ,Ø×Ñ×1Ñ1ð	
ñ &Ù‘�r“‹OØ×Ñ×0Ñ0ð	
ñ 'Ù‘�q˜!“ÓØ×Ñ×1Ñ1ð	
ñ ,ØˆCØ×Ñ×1Ñ1ð	
ñ *Ù‘�q˜"“ÓØ×Ñ×3Ñ3ð	
ñ *Ù‘�q˜"“ÓØ×Ñ×3Ñ3ð	
ð
 "ô? ñB
<óC öB
<ùòW >ùò -s   šE
ÁE
Á(E
r®  )@Úcollections.abcr  rƒ  r›  rü  r   r   r   r   Ú
assertionsr   r   r	   Ú	assertsqlr
   rh  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Úexcr$   r%   Ú
TablesTestr'   ri   ÚTestBaser¥   r³   rf  r…  rª  rÒ  r	  rÃ  r'  r?  r^  ri  ry  r‚  rš  r®  r\   r6   r3   Ú<module>rØ     sé  ðõ *Û å !Ý &Ý Ý Ý &Ý Ý Ý !Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý #ô#
�(×%Ñ%ô #
ôLJ<�x×*Ñ*ô J<ôZ
˜8×,Ñ,ô 
ô F8˜8×.Ñ.ô F8ôR`
˜x×2Ñ2ô `
ôFaPˆx×"Ñ"ô aPôHt
˜×,Ñ,ô t
ônN
ØÐ/°×1DÑ1DôN
ôbJ@˜8×.Ñ.ô J@ôZN5˜×+Ñ+ô N5ôb(/˜×,Ñ,ô (/ôVM=˜×,Ñ,ô M=ô` × 3Ñ 3ô ô2,
�×$Ñ$ô ,
ô^	CÐ'¨×)<Ñ)<ô 	Cô2
 × 3Ñ 3ô 2
ôj04˜×,Ñ,ô 04ôf9<�(×%Ñ%ö 9<r6   