§
    
 @gÕã  ã                   ó$  — d dl mZ d dlZddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ dd	l	mZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddlm#Z# dd lm$Z$ dd!lm%Z% dd"lm&Z& dd#lm'Z' dd$lm(Z( dd%l)m*Z* dd&l)m+Z+  G d'„ d(ej,        ¦  «        Z- G d)„ d*ej,        ¦  «        Z. G d+„ d,ej/        ¦  «        Z0 G d-„ d.ej,        ¦  «        Z1 G d/„ d0ej,        ¦  «        Z2 G d1„ d2ej,        ¦  «        Z3 G d3„ d4ej,        ¦  «        Z4 G d5„ d6eeej,        ¦  «        Z5 G d7„ d8ej,        ¦  «        Z6 G d9„ d:ej,        ¦  «        Z7 G d;„ d<ej,        ¦  «        Z8 G d=„ d>ej,        ¦  «        Z9 G d?„ d@ej,        ¦  «        Z: G dA„ dBej,        ¦  «        Z; G dC„ dDeej,        ¦  «        Z< G dE„ dFej,        ¦  «        Z=dS )Gé    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                   ón   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zej	        j
        d„ ¦   «         ZdS )ÚCollateTestTc                 óŠ   — t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        ¦  «         d S )NÚ
some_tableÚidT©Úprimary_keyÚdataéd   ©r   r   r   r   ©ÚclsÚmetadatas     úX/var/www/piapp/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_select.pyÚdefine_tableszCollateTest.define_tables.   sI   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 #™;œ;Ñ'Ô'ñ		
ô 	
ð 	
ð 	
ð 	
ó    c                 óz   — |                      | j        j                             ¦   «         dddœdddœg¦  «         d S )Né   úcollate data1©r,   r/   r   úcollate data2©ÚexecuteÚtablesr+   Úinsert©r3   Ú
connections     r5   Úinsert_datazCollateTest.insert_data7   sS   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*à /Ð2Ð2Ø /Ð2Ð2ðñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÞ   — t           j                             ¦   «         5 }t          |                     |¦  «                             ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©N©r   ÚdbÚconnectr	   r>   Úfetchall©Úselfr   ÚresultÚconns       r5   Ú_assert_resultzCollateTest._assert_resultA   óŸ   € ÝŒY×ÒÑ Ô ð 	9 DÝ�—’˜VÑ$Ô$×-Ò-Ñ/Ô/°Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ó   Ÿ6A"Á"A&Á)A&c                 óN  — t           j                             t           j        ¦  «        }|                      t          | j        j        ¦  «                             | j        j        j	        j
                             |¦  «                             ¦   «         ¦  «        ddg¦  «         d S )N)r9   r:   )r   r<   )r   ÚrequiresÚget_order_by_collationr   rN   r   r?   r+   Úorder_byÚcr/   ÚcollateÚasc)rK   Ú	collations     r5   Útest_collate_order_byz!CollateTest.test_collate_order_byE   s�   € åÔ$×;Ò;½G¼NÑKÔKˆ	à×ÒÝ�4”;Ô)Ñ*Ô*×3Ò3Ø”Ô&Ô(Ô-×5Ò5°iÑ@Ô@×DÒDÑFÔFñô ð "Ð#7Ð8ñ		
ô 	
ð 	
ð 	
ð 	
r7   N)Ú__name__Ú
__module__Ú__qualname__Ú__backend__Úclassmethodr6   rC   rN   r   rR   Úorder_by_collationrY   © r7   r5   r)   r)   +   s~   € € € € € Ø€Kàð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð9ð 9ð 9ð ÔÔ(ð
ð 
ñ )Ô(ð
ð 
ð 
r7   r)   c                   ó�   — e Zd ZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zej        j        d„ ¦   «         ZdS )ÚOrderByLabelTestz©Test the dialect sends appropriate ORDER BY expressions when
    labels are used.

    This essentially exercises the "supports_simple_order_by_label"
    setting.

    Tc                 ó  — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        t          dt          d¦  «        ¦  «        t          d	t          d¦  «        ¦  «        ¦  «         d S )
Nr+   r,   Tr-   ÚxÚyÚqé2   Úpr1   r2   s     r5   r6   zOrderByLabelTest.define_tables\   sv   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�3�Ñ Ô Ý�3�Ñ Ô Ý�3�˜r™
œ
Ñ#Ô#Ý�3�˜r™
œ
Ñ#Ô#ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó”   — |                      | j        j                             ¦   «         ddddddœddddddœddd	d
ddœg¦  «         d S )Nr9   r   Úq1Úp3)r,   rd   re   rf   rh   r   Úq2Úp2é   Úq3Úp1r=   rA   s     r5   rC   zOrderByLabelTest.insert_datah   sp   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*à˜q q¨t¸$Ð?Ð?Ø˜q q¨t¸$Ð?Ð?Ø˜q q¨t¸$Ð?Ð?ðñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÞ   — t           j                             ¦   «         5 }t          |                     |¦  «                             ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rE   rF   rJ   s       r5   rN   zOrderByLabelTest._assert_results   rO   rP   c                 óÌ   — | j         j        }|j        j                             d¦  «        }|                      t          |¦  «                             |¦  «        g d¢¦  «         d S )NÚlx©©r9   ©r   ©r   )r?   r+   rU   rd   ÚlabelrN   r   rT   ©rK   r   rs   s      r5   Ú
test_plainzOrderByLabelTest.test_plainw   sX   € Ø”Ô&ˆØŒWŒY�_Š_˜TÑ"Ô"ˆØ×Ò�F 2™JœJ×/Ò/°Ñ3Ô3Ð5GÐ5GÐ5GÑHÔHÐHÐHÐHr7   c                 óæ   — | j         j        }|j        j        |j        j        z                        d¦  «        }|                      t          |¦  «                             |¦  «        g d¢¦  «         d S )Nrs   )rw   ©é   ©é   )	r?   r+   rU   rd   re   rx   rN   r   rT   ry   s      r5   Útest_composed_intz"OrderByLabelTest.test_composed_int|   sc   € Ø”Ô&ˆØŒgŒi˜%œ'œ)Ñ#×*Ò*¨4Ñ0Ô0ˆØ×Ò�F 2™JœJ×/Ò/°Ñ3Ô3Ð5GÐ5GÐ5GÑHÔHÐHÐHÐHr7   c                 óŠ  — | j         j        }|j        j        |j        j        z                        d¦  «        }t          j        |j        j        ¦  «        |j        j	        z                        d¦  «        }|  
                    t          ||¦  «                             ||                     ¦   «         ¦  «        g d¢¦  «         d S )Nrs   Úly))r   Úq1p3)r}   Úq2p2)r   Úq3p1)r?   r+   rU   rd   re   rx   r   Úlowerrf   rh   rN   r   rT   Údesc)rK   r   rs   r‚   s       r5   Útest_composed_multiplez'OrderByLabelTest.test_composed_multiple�   s¤   € Ø”Ô&ˆØŒgŒi˜%œ'œ)Ñ#×*Ò*¨4Ñ0Ô0ˆÝŒj˜œœÑ#Ô# e¤g¤iÑ/×6Ò6°tÑ<Ô<ˆØ×ÒÝ�2�r‰NŒN×#Ò# B¨¯ª©	¬	Ñ2Ô2Ø3Ð3Ð3ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óð   — | j         j        }|j        j                             d¦  «        }|                      t          |¦  «                             |                     ¦   «         ¦  «        g d¢¦  «         d S )Nrs   )rw   rv   ru   )	r?   r+   rU   rd   rx   rN   r   rT   r‡   ry   s      r5   Útest_plain_descz OrderByLabelTest.test_plain_descŠ   s`   € Ø”Ô&ˆØŒWŒY�_Š_˜TÑ"Ô"ˆØ×Ò�F 2™JœJ×/Ò/°·²±	´	Ñ:Ô:Ð<NÐ<NÐ<NÑOÔOÐOÐOÐOr7   c                 ó
  — | j         j        }|j        j        |j        j        z                        d¦  «        }|                      t          |¦  «                             | 	                    ¦   «         ¦  «        g d¢¦  «         d S )Nrs   )r~   r|   rw   )
r?   r+   rU   rd   re   rx   rN   r   rT   r‡   ry   s      r5   Útest_composed_int_descz'OrderByLabelTest.test_composed_int_desc�   sk   € Ø”Ô&ˆØŒgŒi˜%œ'œ)Ñ#×*Ò*¨4Ñ0Ô0ˆØ×Ò�F 2™JœJ×/Ò/°·²±	´	Ñ:Ô:Ð<NÐ<NÐ<NÑOÔOÐOÐOÐOr7   c                 óJ  — | j         j        }|j        j        |j        j        z                        d¦  «        }t          t          j        |j        j	        ¦  «        |¦  «         
                    |¦  «                             |¦  «        }|                      |g d¢¦  «         d S )Nrs   ))r9   r   )r9   r}   )r9   r   )r?   r+   rU   rd   re   rx   r   r   Úcountr,   Úgroup_byrT   rN   )rK   r   ÚexprÚstmts       r5   Útest_group_by_composedz'OrderByLabelTest.test_group_by_composed”   s�   € à”Ô&ˆØ””	˜EœGœIÑ%×,Ò,¨TÑ2Ô2ˆå•4”:˜eœgœjÑ)Ô)¨4Ñ0Ô0×9Ò9¸$Ñ?Ô?×HÒHÈÑNÔNð 	ð 	×Ò˜DÐ":Ð":Ð":Ñ;Ô;Ð;Ð;Ð;r7   N)rZ   r[   r\   Ú__doc__r]   r^   r6   rC   rN   rz   r€   rˆ   rŠ   rŒ   r   rR   Úgroup_by_complex_expressionr’   r`   r7   r5   rb   rb   Q   sá   € € € € € ðð ð €Kàð	
ð 	
ñ „[ð	
ð ð
ð 
ñ „[ð
ð9ð 9ð 9ðIð Ið Ið
Ið Ið Ið

ð 
ð 
ðPð Pð Pð
Pð Pð Pð
 ÔÔ1ð<ð <ñ 2Ô1ð<ð <ð <r7   rb   c                   ó   — e Zd ZdZdZd„ ZdS )ÚValuesExpressionTest)Útable_value_constructorTc                 ó(  — t          t          dt          ¦  «        t          dt          ¦  «        d¬¦  «                             g d¢¦  «        }t          |                     t          |¦  «        ¦  «                             ¦   «         g d¢¦  «         d S )Nr,   ÚnameÚ	my_values)r™   ))r9   Úname1)r   Úname2)r   Úname3)	r%   r   r   r   r/   r	   r>   r   Úall)rK   rB   Ú
value_exprs      r5   Útest_tuplesz ValuesExpressionTest.test_tuples£   s”   € ÝÝ�4�Ñ!Ô!¥6¨&µ&Ñ#9Ô#9Àð
ñ 
ô 
ç
Š$Ð9Ð9Ð9Ñ
:Ô
:ð 	õ 	Ø×Ò�v jÑ1Ô1Ñ2Ô2×6Ò6Ñ8Ô8Ø6Ð6Ð6ñ	
ô 	
ð 	
ð 	
ð 	
r7   N)rZ   r[   r\   Ú__requires__r]   r    r`   r7   r5   r–   r–   ž   s-   € € € € € Ø/€Là€Kð
ð 
ð 
ð 
ð 
r7   r–   c                   ó²  — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Z	 d)d„Zd*d„Zd„ Z	d	„ Z
ej        j        d
„ ¦   «         Zej        j        d„ ¦   «         Z ej        g d¢g d¢g d¢d¬¦  «        ej        j        d„ ¦   «         ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Z ej        j        d„ ¦   «         Z!ej        j        ej        j"        d„ ¦   «         ¦   «         Z#ej        j        d„ ¦   «         Z$ej        j        d „ ¦   «         Z%ej        j&        d!„ ¦   «         Z'ej        j&        ej        j(        d"„ ¦   «         ¦   «         Z)ej        j&        ej        j(        d#„ ¦   «         ¦   «         Z*ej        j+        d$„ ¦   «         Z,ej        j+        ej        j(        d%„ ¦   «         ¦   «         Z-ej        j&        ej        j+        d&„ ¦   «         ¦   «         Z.ej        j&        ej        j+        ej        j(        d'„ ¦   «         ¦   «         ¦   «         Z/d(S )+ÚFetchLimitOffsetTestTc           
      ó¢   — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        ¦  «         d S ©Nr+   r,   Tr-   rd   re   ©r   r   r   r2   s     r5   r6   z"FetchLimitOffsetTest.define_tables±   óP   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�3�Ñ Ô Ý�3�Ñ Ô ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óœ   — |                      | j        j                             ¦   «         ddddœddddœddddœddddœddddœg¦  «         d S )Nr9   r   ©r,   rd   re   r   rn   r}   é   r=   rA   s     r5   rC   z FetchLimitOffsetTest.insert_data»   s~   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*à˜q qÐ)Ð)Ø˜q qÐ)Ð)Ø˜q qÐ)Ð)Ø˜q qÐ)Ð)Ø˜q qÐ)Ð)ðñ		
ô 		
ð 		
ð 		
ð 		
r7   r`   Fc                 ór  — |r~|                      ||¦  «                             ¦   «         }t          t          |¦  «        t          |¦  «        ¦  «         t          t	          |¦  «        t	          |¦  «        ¦  «         d S t          |                      ||¦  «                             ¦   «         |¦  «         d S rE   )r>   rI   r	   ÚlenÚset)rK   rB   r   rL   ÚparamsÚset_Ú	query_ress          r5   rN   z#FetchLimitOffsetTest._assert_resultÈ   s    € ð ð 	GØ"×*Ò*¨6°6Ñ:Ô:×CÒCÑEÔEˆIÝ•�I‘”¥ F¡¤Ñ,Ô,Ð,Ý•�I‘”¥ F¡¤Ñ,Ô,Ð,Ð,Ð,õ �
×"Ò" 6¨6Ñ2Ô2×;Ò;Ñ=Ô=¸vÑFÔFÐFÐFÐFr7   c                 óà   — t           j                             ¦   «         5 }t          |                     ||¦  «                             ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rE   )r   rG   rH   r	   Úexec_driver_sqlrI   ©rK   r   rL   r®   rM   s        r5   Ú_assert_result_strz'FetchLimitOffsetTest._assert_result_strÓ   s¶   € ÝŒY×ÒÑ Ô ð 	I DÝ�×$Ò$ V¨VÑ4Ô4×=Ò=Ñ?Ô?ÀÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Ió   Ÿ7A#Á#A'Á*A'c                 ó&  — | j         j        }t          |¦  «                             |j        j        ¦  «        }|                      ||                     d¦  «        ddg¦  «         |                      ||                     d¦  «        g d¢¦  «         d S ©Nr   ©r9   r9   r   ©r   r   r   r   ©r¸   r¹   ©r   r   rn   )r?   r+   r   rT   rU   r,   rN   Úlimit)rK   rB   r   r‘   s       r5   Útest_simple_limitz&FetchLimitOffsetTest.test_simple_limit×   s–   € Ø”Ô&ˆÝ�e‰}Œ}×%Ò% e¤g¤jÑ1Ô1ˆØ×ÒØØ�JŠJ�q‰MŒMØ˜	Ð"ñ	
ô 	
ð 	
ð
 	×ÒØØ�JŠJ�q‰MŒMØ-Ð-Ð-ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óf  — | j         j        }t          |j        j        ¦  «                             d¦  «                             ¦   «         }t          t          |¦  «        t          |¦  «        ¦  «                             ¦   «                              ¦   «         }|  	                    ||dg¦  «         d S )Nr9   ru   )
r?   r+   r   rU   r,   r¼   Úscalar_subqueryr$   ÚsubqueryrN   )rK   rB   r   r‘   Úus        r5   Ú test_limit_render_multiple_timesz5FetchLimitOffsetTest.test_limit_render_multiple_timeså   sš   € Ø”Ô&ˆÝ�e”g”jÑ!Ô!×'Ò'¨Ñ*Ô*×:Ò:Ñ<Ô<ˆå•&˜‘,”,¥ t¡¤Ñ-Ô-×6Ò6Ñ8Ô8×?Ò?ÑAÔAˆà×ÒØØàðñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óv  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             d¦  «        ddg¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             d¦  «        g d¢¦  «         d S r·   ©r?   r+   rN   r   rT   rU   r,   Úfetch©rK   rB   r   s      r5   Útest_simple_fetchz&FetchLimitOffsetTest.test_simple_fetchó   s±   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4°QÑ7Ô7Ø˜	Ð"ñ	
ô 	
ð 	
ð
 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4°QÑ7Ô7Ø-Ð-Ð-ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óv  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             d¦  «        g d¢¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             d¦  «        ddg¦  «         d S )Nr   ©r»   ©rn   rn   r}   ©r}   rn   rª   r   rÊ   rË   ©r?   r+   rN   r   rT   rU   r,   ÚoffsetrÆ   s      r5   Útest_simple_offsetz'FetchLimitOffsetTest.test_simple_offset  s±   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×5Ò5°aÑ8Ô8Ø-Ð-Ð-ñ	
ô 	
ð 	
ð
 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×5Ò5°aÑ8Ô8Ø˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   )©r   r   ©r   r9   ©r   r   )rÐ   rÏ   rÑ   )©r   r9   rÐ   rÒ   Úcases)Úargnamesc                 óJ  — | j         j        }|                     i ¬¦  «        }g d¢}|D ]y\  }}||||z   …         }|                      |t	          |¦  «                             |j        j        ¦  «                             |¦  «         	                    |¦  «        |¦  «         Œzd S )N)Úcompiled_cache©r¸   r¹   r»   rÊ   rË   )
r?   r+   Úexecution_optionsrN   r   rT   rU   r,   r¼   rÍ   )rK   rB   rÓ   r   Úassert_datar¼   rÍ   Úexpecteds           r5   Útest_simple_limit_offsetz-FetchLimitOffsetTest.test_simple_limit_offset  s¹   € ð ”Ô&ˆØ×1Ò1ÀÐ1ÑDÔDˆ
àMÐMÐMˆà"ð 	ð 	‰MˆE�6Ø" 6¨F°U©NÐ#:Ô;ˆHØ×ÒØÝ�u‘”×&Ò& u¤w¤zÑ2Ô2×8Ò8¸Ñ?Ô?×FÒFÀvÑNÔNØñô ð ð ð	ð 	r7   c                 óÂ  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             d¦  «                             d¦  «        ddg¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             d¦  «                             d¦  «        g d¢¦  «         d S )Nr   r9   r¹   r»   r   rÉ   ©	r?   r+   rN   r   rT   rU   r,   rÅ   rÍ   rÆ   s      r5   Útest_simple_fetch_offsetz-FetchLimitOffsetTest.test_simple_fetch_offset$  sÍ   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4°QÑ7Ô7×>Ò>¸qÑAÔAØ˜	Ð"ñ	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4°QÑ7Ô7×>Ò>¸qÑAÔAØ-Ð-Ð-ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó”   — | j         j        }|                      |t          |¦  «                             d¦  «        g d¢d¬¦  «         d S )Né
   r×   T©r¯   )r?   r+   rN   r   rÅ   rÆ   s      r5   Útest_fetch_offset_no_orderz/FetchLimitOffsetTest.test_fetch_offset_no_order3  sY   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×Ò Ñ#Ô#ØCÐCÐCØð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 óv  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             d¦  «        g d¢¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             d¦  «        g d¢¦  «         d S )Nr   r×   r9   ©r¹   r»   rÊ   rË   rÌ   rÆ   s      r5   Útest_simple_offset_zeroz,FetchLimitOffsetTest.test_simple_offset_zero=  s²   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×5Ò5°aÑ8Ô8ØCÐCÐCñ	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×5Ò5°aÑ8Ô8Ø8Ð8Ð8ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó`  — | j         j        }t          |¦  «                             |j        j        ¦  «                             d¦  «                             d¦  «        }|                     t          j
        j        ddi¬¦  «        }t          |¦  «        }|                      |ddg¦  «         dS ©	z7test that 'literal binds' mode works - no bound params.r   r9   Úliteral_bindsT)ÚdialectÚcompile_kwargsr¹   r»   N)r?   r+   r   rT   rU   r,   r¼   rÍ   Úcompiler   rG   ré   Ústrr´   ©rK   r   r‘   Úsqls       r5   Útest_limit_offset_nobindsz.FetchLimitOffsetTest.test_limit_offset_nobindsL  óœ   € ð ”Ô&ˆÝ�e‰}Œ}×%Ò% e¤g¤jÑ1Ô1×7Ò7¸Ñ:Ô:×AÒAÀ!ÑDÔDˆØ�lŠlÝ”IÔ%°ÈÐ6Mð ñ 
ô 
ˆõ �#‰hŒhˆà×Ò  i°Ð%;Ñ<Ô<Ð<Ð<Ð<r7   c                 ó`  — | j         j        }t          |¦  «                             |j        j        ¦  «                             d¦  «                             d¦  «        }|                     t          j
        j        ddi¬¦  «        }t          |¦  «        }|                      |ddg¦  «         dS rç   )r?   r+   r   rT   rU   r,   rÅ   rÍ   rë   r   rG   ré   rì   r´   rí   s       r5   Útest_fetch_offset_nobindsz.FetchLimitOffsetTest.test_fetch_offset_nobindsY  rð   r7   c                 óº  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «        ddgddi¬¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «        g d¢ddi¬¦  «         d S )NÚlr¸   r¹   r   ©r®   rº   r   )	r?   r+   rN   r   rT   rU   r,   r¼   r   rÆ   s      r5   Útest_bound_limitz%FetchLimitOffsetTest.test_bound_limitf  sÕ   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4µY¸s±^´^ÑDÔDØ˜	Ð"Ø˜�8ð	 	ñ 	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4µY¸s±^´^ÑDÔDØ-Ð-Ð-Ø˜�8ð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 óº  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «        g d¢ddi¬¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «        g d¢ddi¬¦  «         d S )NÚorÉ   r   rõ   rä   r9   )	r?   r+   rN   r   rT   rU   r,   rÍ   r   rÆ   s      r5   Útest_bound_offsetz&FetchLimitOffsetTest.test_bound_offsetw  sÖ   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×5Ò5µiÀ±n´nÑEÔEØ-Ð-Ð-Ø˜�8ð	 	ñ 	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×5Ò5µiÀ±n´nÑEÔEØ8Ð8Ð8Ø˜�8ð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó>  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «         	                    t          d¦  «        ¦  «        ddgdddœ¬¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «         	                    t          d¦  «        ¦  «        g d	¢d
ddœ¬¦  «         d S )Nrô   rø   r¹   r»   r   r9   )rô   rø   rõ   rÉ   r   )
r?   r+   rN   r   rT   rU   r,   r¼   r   rÍ   rÆ   s      r5   Útest_bound_limit_offsetz,FetchLimitOffsetTest.test_bound_limit_offsetˆ  óÿ   € à”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•9˜S‘>”>Ñ"Ô"ßŠV•I˜c‘N”NÑ#Ô#Ø˜	Ð"Ø Ð#Ð#ð 	ñ 	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•9˜S‘>”>Ñ"Ô"ßŠV•I˜c‘N”NÑ#Ô#Ø-Ð-Ð-Ø Ð#Ð#ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó>  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «         	                    t          d¦  «        ¦  «        ddgdddœ¬¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        ¦  «         	                    t          d¦  «        ¦  «        g d	¢d
ddœ¬¦  «         d S )NÚfrø   r¹   r»   r   r9   )rþ   rø   rõ   rÉ   r   )
r?   r+   rN   r   rT   rU   r,   rÅ   r   rÍ   rÆ   s      r5   Útest_bound_fetch_offsetz,FetchLimitOffsetTest.test_bound_fetch_offsetŸ  rü   r7   c           	      ó  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        t          d¦  «        z   ¦  «        ddg¦  «         d S )NÚ1Ú2rÊ   rË   )	r?   r+   rN   r   rT   rU   r,   rÍ   r   rÆ   s      r5   Útest_expr_offsetz%FetchLimitOffsetTest.test_expr_offset¶  su   € à”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠV•N 3Ñ'Ô'­.¸Ñ*=Ô*=Ñ=Ñ>Ô>Ø˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   c           	      ó  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        t          d¦  «        z   ¦  «        g d¢¦  «         d S )Nr  r  rº   )	r?   r+   rN   r   rT   rU   r,   r¼   r   rÆ   s      r5   Útest_expr_limitz$FetchLimitOffsetTest.test_expr_limitÁ  sv   € à”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•> #Ñ&Ô&­¸Ñ)<Ô)<Ñ<Ñ=Ô=Ø-Ð-Ð-ñ	
ô 	
ð 	
ð 	
ð 	
r7   c           	      ód  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        t          d¦  «        z   ¦  «         	                    t          d¦  «        t          d¦  «        z   ¦  «        ddg¦  «         d S ©Nr  r»   rÊ   ©
r?   r+   rN   r   rT   rU   r,   r¼   r   rÍ   rÆ   s      r5   Útest_expr_limit_offsetz+FetchLimitOffsetTest.test_expr_limit_offsetÌ  s—   € à”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•> #Ñ&Ô&­¸Ñ)<Ô)<Ñ<Ñ=Ô=ßŠV•N 3Ñ'Ô'­.¸Ñ*=Ô*=Ñ=Ñ>Ô>Ø˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   c           	      ód  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        t          d¦  «        z   ¦  «         	                    t          d¦  «        t          d¦  «        z   ¦  «        ddg¦  «         d S r  )
r?   r+   rN   r   rT   rU   r,   rÅ   r   rÍ   rÆ   s      r5   Útest_expr_fetch_offsetz+FetchLimitOffsetTest.test_expr_fetch_offsetØ  s™   € ð ”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•> #Ñ&Ô&­¸Ñ)<Ô)<Ñ<Ñ=Ô=ßŠV•N 3Ñ'Ô'­.¸Ñ*=Ô*=Ñ=Ñ>Ô>Ø˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   c           	      ó6  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             d¦  «                             t          d¦  «        t          d¦  «        z   ¦  «        ddg¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             d¦  «                             t          d¦  «        t          d¦  «        z   ¦  «        g d¢¦  «         d S )Nr   r  r»   rÊ   r   rÉ   )
r?   r+   rN   r   rT   rU   r,   r¼   rÍ   r   rÆ   s      r5   Útest_simple_limit_expr_offsetz2FetchLimitOffsetTest.test_simple_limit_expr_offsetå  sí   € à”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU�1‰XŒXßŠV•N 3Ñ'Ô'­.¸Ñ*=Ô*=Ñ=Ñ>Ô>Ø˜	Ð"ñ	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU�1‰XŒXßŠV•N 3Ñ'Ô'­.¸Ñ*=Ô*=Ñ=Ñ>Ô>Ø-Ð-Ð-ñ	
ô 	
ð 	
ð 	
ð 	
r7   c           	      ó6  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        t          d¦  «        z   ¦  «         	                    d¦  «        ddg¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             t          d¦  «        t          d¦  «        z   ¦  «         	                    d¦  «        ddg¦  «         d S )Nr  r   r»   rÊ   r9   r¹   r  rÆ   s      r5   Útest_expr_limit_simple_offsetz2FetchLimitOffsetTest.test_expr_limit_simple_offsetú  sì   € à”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•> #Ñ&Ô&­¸Ñ)<Ô)<Ñ<Ñ=Ô=ßŠV�A‰YŒYØ˜	Ð"ñ	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU•> #Ñ&Ô&­¸Ñ)<Ô)<Ñ<Ñ=Ô=ßŠV�A‰YŒYØ˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÎ  — | j         j        }|                      |t          |¦  «                             |j        j                             ¦   «         ¦  «                             dd¬¦  «        ddgd¬¦  «         |                      |t          |¦  «                             |j        j                             ¦   «         ¦  «                             dd¬¦  «        g d¢d¬¦  «         d S )	Nr9   T©Ú	with_tiesrÊ   rË   rá   r   rÉ   ©	r?   r+   rN   r   rT   rU   rd   r‡   rÅ   rÆ   s      r5   Útest_simple_fetch_tiesz+FetchLimitOffsetTest.test_simple_fetch_ties  sß   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤9§>¢>Ñ#3Ô#3Ñ4Ô4×:Ò:¸1ÈÐ:ÑMÔMØ˜	Ð"Øð	 	ñ 	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒM×"Ò" 5¤7¤9§>¢>Ñ#3Ô#3Ñ4Ô4×:Ò:¸1ÈÐ:ÑMÔMØ-Ð-Ð-Øð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 óz  — | j         j        }|                     t          |¦  «                             |j        j        ¦  «                             dd¬¦  «                             d¦  «        ¦  «         	                    ¦   «         }t          |d         d¦  «         t          t          |¦  «        h d£¦  «         d S )Nr   Tr  r   r»   ¾   r»   rÊ   rË   ©r?   r+   r>   r   rT   rU   rd   rÅ   rÍ   rI   r	   r­   ©rK   rB   r   Úfas       r5   Útest_fetch_offset_tiesz+FetchLimitOffsetTest.test_fetch_offset_ties   s    € ð ”Ô&ˆØ×ÒÝ�5‰MŒMßŠX�e”g”iÑ Ô ßŠU�1 ˆUÑ%Ô%ßŠV�A‰YŒYñ	
ô 
÷
 Š(‰*Œ*ð 	õ 	ˆBˆqŒE�9ÑÔÐÝ�C�‰GŒGÐ6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r7   c                 óÊ  — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             dd¬¦  «                             d¦  «        ddg¦  «         |                      |t          |¦  «                             |j        j        ¦  «                             dd¬¦  «                             d¦  «        dd	g¦  «         d S )
Nr   Tr  r9   r¹   r»   r   rÊ   rË   )	r?   r+   rN   r   rT   rU   rd   rÅ   rÍ   rÆ   s      r5   Ú#test_fetch_offset_ties_exact_numberz8FetchLimitOffsetTest.test_fetch_offset_ties_exact_number-  sÌ   € ð ”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”iÑ Ô ßŠU�1 ˆUÑ%Ô%ßŠV�A‰YŒYØ˜	Ð"ñ	
ô 	
ð 	
ð 	×ÒØÝ�5‰MŒMßŠX�e”g”iÑ Ô ßŠU�1 ˆUÑ%Ô%ßŠV�A‰YŒYØ˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÌ   — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             dd¬¦  «        dg¦  «         d S )Né   T©Úpercentr¸   rÄ   rÆ   s      r5   Útest_simple_fetch_percentz.FetchLimitOffsetTest.test_simple_fetch_percentC  sd   € à”Ô&ˆØ×ÒØÝ�5‰MŒM×"Ò" 5¤7¤:Ñ.Ô.×4Ò4°RÀÐ4ÑFÔFØˆKñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óô   — | j         j        }|                      |t          |¦  «                             |j        j        ¦  «                             dd¬¦  «                             d¦  «        ddg¦  «         d S )Né(   Tr  r9   r¹   r»   rÝ   rÆ   s      r5   Útest_fetch_offset_percentz.FetchLimitOffsetTest.test_fetch_offset_percentL  sq   € ð ”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”jÑ!Ô!ßŠU�2˜tˆUÑ$Ô$ßŠV�A‰YŒYØ˜	Ð"ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óø   — | j         j        }|                      |t          |¦  «                             |j        j                             ¦   «         ¦  «                             ddd¬¦  «        ddgd¬¦  «         d S )Nr  T©r   r  rÊ   rË   rá   r  rÆ   s      r5   Útest_simple_fetch_percent_tiesz3FetchLimitOffsetTest.test_simple_fetch_percent_tiesY  sz   € ð ”Ô&ˆØ×ÒØÝ�5‰MŒMßŠX�e”g”i—n’nÑ&Ô&Ñ'Ô'ßŠU�2˜t¨tˆUÑ4Ô4Ø˜	Ð"Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó|  — | j         j        }|                     t          |¦  «                             |j        j        ¦  «                             ddd¬¦  «                             d¦  «        ¦  «         	                    ¦   «         }t          |d         d¦  «         t          t          |¦  «        h d£¦  «         d S )Nr#  Tr&  r   r   r»   r  r  r  s       r5   Útest_fetch_offset_percent_tiesz3FetchLimitOffsetTest.test_fetch_offset_percent_tiesf  s¢   € ð ”Ô&ˆØ×ÒÝ�5‰MŒMßŠX�e”g”iÑ Ô ßŠU�2˜t¨tˆUÑ4Ô4ßŠV�A‰YŒYñ	
ô 
÷
 Š(‰*Œ*ð 	õ 	ˆBˆqŒE�9ÑÔÐÝ�C�‰GŒGÐ6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r7   N)r`   F©r`   )0rZ   r[   r\   r]   r^   r6   rC   rN   r´   r½   rÂ   r   rR   Ú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  r  r  Ú
fetch_tiesr  Úfetch_offset_with_optionsr  r  Úfetch_percentr!  r$  r'  r)  r`   r7   r5   r£   r£   ®   s«  € € € € € Ø€Kàð
ð 
ñ „[ð
ð ð

ð 

ñ „[ð

ð ;@ð	Gð 	Gð 	Gð 	GðIð Ið Ið Ið
ð 
ð 
ð
ð 
ð 
ð ÔÔ!ð
ð 
ñ "Ô!ð
ð ÔÔð
ð 
ñ Ôð
ð €WÔØ	!Ð	!Ð	!Ø	!Ð	!Ð	!Ø	!Ð	!Ð	!Øð	ñ ô ð ÔÔðð ñ Ôñô ðð ÔÔ!ð
ð 
ñ "Ô!ð
ð ÔÔ'ð
ð 
ñ (Ô'ð
ð ÔÔð
ð 
ñ Ôð
ð ÔÔð
=ð 
=ñ Ôð
=ð ÔÔ!ð
=ð 
=ñ "Ô!ð
=ð ÔÔ(ð
ð 
ñ )Ô(ð
ð  ÔÔ(ð
ð 
ñ )Ô(ð
ð  ÔÔ(ð
ð 
ñ )Ô(ð
ð, ÔÔ!ð
ð 
ñ "Ô!ð
ð, ÔÔ1ð
ð 
ñ 2Ô1ð
ð ÔÔ1ð
ð 
ñ 2Ô1ð
ð ÔÔ1ð	
ð 	
ñ 2Ô1ð	
ð ÔÔ!ØÔÔ&ð	
ð 	
ñ 'Ô&ñ "Ô!ð	
ð ÔÔ1ð
ð 
ñ 2Ô1ð
ð( ÔÔ1ð
ð 
ñ 2Ô1ð
ð( ÔÔ ð
ð 
ñ !Ô ð
ð  ÔÔ ØÔÔ/ð	8ð 	8ñ 0Ô/ñ !Ô ð	8ð ÔÔ ØÔÔ/ð
ð 
ñ 0Ô/ñ !Ô ð
ð( ÔÔ#ð
ð 
ñ $Ô#ð
ð ÔÔ#ØÔÔ/ð	
ð 	
ñ 0Ô/ñ $Ô#ð	
ð ÔÔ ØÔÔ#ð	
ð 	
ñ $Ô#ñ !Ô ð	
ð ÔÔ ØÔÔ#ØÔÔ/ð	8ð 	8ñ 0Ô/ñ $Ô#ñ !Ô ð	8ð 	8ð 	8r7   r£   c                   óX   — e Zd ZdZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Z	d„ Z
d„ Zd	S )
ÚSameNamedSchemaTableTestztests for #7471T)Úschemasc           
      óâ   — t          d|t          dt          d¬¦  «        t          j        ¬¦  «         t          d|t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «         d S )	Nr+   r,   Tr-   )ÚschemaÚsome_table_idF©Únullable)r   r   r   r   Útest_schemar2   s     r5   r6   z&SameNamedSchemaTableTest.define_tables|  sˆ   € åØØÝ�4�¨dÐ3Ñ3Ô3ÝÔ%ð		
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�¨dÐ3Ñ3Ô3ÝØÝàð	ñ ô ñ	
	
ô 
	
ð 
	
ð 
	
ð 
	
r7   c                 óü   — |                       ddt          j        z  ¦  «        \  }}|                     |                     ¦   «         ddi¦  «         |                     |                     ¦   «         dddœ¦  «         d S )Nr+   ú%s.some_tabler,   r9   )r,   r9  )r?   r   r<  r>   r@   )r3   rB   r+   Úsome_table_schemas       r5   rC   z$SameNamedSchemaTableTest.insert_data�  s�   € à(+¯
ª
Ø˜/­FÔ,>Ñ>ñ)
ô )
Ñ%ˆ
Ð%ð 	×ÒÐ,×3Ò3Ñ5Ô5¸¸a°yÑAÔAÐAØ×Ò˜:×,Ò,Ñ.Ô.°qÈ1Ð0MÐ0MÑNÔNÐNÐNÐNr7   c           
      ó2  — |                       ddt          j        z  ¦  «        \  }}t          |                     t          ||¦  «                             |||j        j        |j        j	        k    ¦  «        ¦  «         
                    ¦   «         d¦  «         d S )Nr+   r>  ©r9   r9   r9   )r?   r   r<  r	   r>   r   Ú	join_fromrU   r9  r,   Úfirst©rK   rB   r+   r?  s       r5   Útest_simple_join_both_tablesz5SameNamedSchemaTableTest.test_simple_join_both_tables˜  sŸ   € Ø(,¯ªØ˜/­FÔ,>Ñ>ñ)
ô )
Ñ%ˆ
Ð%õ 	Ø×ÒÝ�zÐ#4Ñ5Ô5×?Ò?ØØ%Ø”LÔ.Ð2CÔ2EÔ2HÒHñô ñô ÷ Še‰gŒgØñ		
ô 		
ð 		
ð 		
ð 		
r7   c           
      ór  — |                       ddt          j        z  ¦  «        \  }}t          |                     t          |¦  «                             |||j        j        |j        j	        k    ¦  «         
                    |j        j	        dk    ¦  «        ¦  «                             ¦   «         d¦  «         d S )Nr+   r>  r9   ©r9   r9   )r?   r   r<  r	   r>   r   rB  rU   r9  r,   ÚwhererC  rD  s       r5   Ú!test_simple_join_whereclause_onlyz:SameNamedSchemaTableTest.test_simple_join_whereclause_only¨  s³   € Ø(,¯ªØ˜/­FÔ,>Ñ>ñ)
ô )
Ñ%ˆ
Ð%õ 	Ø×ÒÝ�zÑ"Ô"ß’ØØ%Ø”LÔ.Ð2CÔ2EÔ2HÒHñô ÷
 ’�z”|”¨!Ò+Ñ,Ô,ñô ÷ Še‰gŒgØñ	
ô 	
ð 	
ð 	
ð 	
r7   c           
      óf  — |                       ddt          j        z  ¦  «        \  }}t          |¦  «                             |||j        j        |j        j        k    ¦  «                             |j        j        dk    ¦  «         	                    ¦   «         }t          |                     t          ||j        j        ¦  «                             |||j        j        |j        j        k    ¦  «                             |j        j        dk    ¦  «        ¦  «                             ¦   «         d¦  «         d S )Nr+   r>  r9   rA  )r?   r   r<  r   rB  rU   r9  r,   rH  rÀ   r	   r>   rC  )rK   rB   r+   r?  Úsubqs        r5   Útest_subqueryz&SameNamedSchemaTableTest.test_subqueryº  s  € Ø(,¯ªØ˜/­FÔ,>Ñ>ñ)
ô )
Ñ%ˆ
Ð%õ
 �:ÑÔßŠYØØ!Ø”Ô*Ð.?Ô.AÔ.DÒDñô ÷
 ŠU�:”<”? aÒ'Ñ(Ô(ßŠX‰ZŒZð 	õ 	Ø×ÒÝ�z 4¤6¤9Ñ-Ô-ß’ØØØ”LÔ.°$´&´)Ò;ñô ÷
 ’�z”|”¨!Ò+Ñ,Ô,ñô ÷ Še‰gŒgØñ	
ô 	
ð 	
ð 	
ð 	
r7   N)rZ   r[   r\   r“   r]   r¡   r^   r6   rC   rE  rI  rL  r`   r7   r5   r5  r5  u  sˆ   € € € € € ØÐà€Kà€Làð
ð 
ñ „[ð
ð& ðOð Oñ „[ðOð
ð 
ð 
ð 
ð 
ð 
ð$
ð 
ð 
ð 
ð 
r7   r5  c                   ód   — e Zd ZdZdd„Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚJoinTestTr`   c                 óà   — t           j                             ¦   «         5 }t          |                     ||¦  «                             ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rE   rF   r³   s        r5   rN   zJoinTest._assert_resultÛ  ó´   € ÝŒY×ÒÑ Ô ð 	A DÝ�—’˜V VÑ,Ô,×5Ò5Ñ7Ô7¸Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Arµ   c                 óÚ   — t          d|t          dt          d¬¦  «        ¦  «         t          d|t          dt          d¬¦  «        t          dt          d¦  «        d¬	¦  «        ¦  «         d S )
NÚar,   Tr-   ÚbÚa_idza.idFr:  )r   r   r   r   r2   s     r5   r6   zJoinTest.define_tablesß  sq   € åˆc�8�V D­'¸tÐDÑDÔDÑEÔEÐEÝØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�: fÑ-Ô-¸Ð>Ñ>Ô>ñ		
ô 	
ð 	
ð 	
ð 	
r7   c           	      ó  — |                      | j        j                             ¦   «         ddiddiddiddiddig¦  «         |                      | j        j                             ¦   «         dddœdddœdddœdddœg¦  «         d S )Nr,   r9   r   r   rn   r}   )r,   rT  )r>   r?   rR  r@   rS  rA   s     r5   rC   zJoinTest.insert_dataé  s·   € à×ÒØŒJŒL×ÒÑ!Ô!Ø�AˆY˜˜q˜	 D¨! 9¨t°Q¨i¸$À¸ÐCñ	
ô 	
ð 	
ð
 	×ÒØŒJŒL×ÒÑ!Ô!à !Ð$Ð$Ø !Ð$Ð$Ø !Ð$Ð$Ø !Ð$Ð$ð	ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó$  — |                       dd¦  «        \  }}t          ||¦  «                             |                     |¦  «        ¦  «                             |j        j        |j        j        ¦  «        }|                      |g d¢¦  «         d S ©NrR  rS  )rA  )r9   r   r9   )r   rn   r   )r   r}   r   ©r?   r   Úselect_fromÚjoinrT   rU   r,   rN   ©rK   rR  rS  r‘   s       r5   Útest_inner_join_fkzJoinTest.test_inner_join_fkú  óy   € Ø�{Š{˜3 Ñ$Ô$‰ˆˆ1å�a˜‰|Œ|×'Ò'¨¯ª¨q©	¬	Ñ2Ô2×;Ò;¸A¼C¼FÀAÄCÄFÑKÔKˆà×Ò˜DÐ"NÐ"NÐ"NÑOÔOÐOÐOÐOr7   c           	      ó|  — |                       dd¦  «        \  }}t          ||¦  «                             |                     |t	          ¦   «         ¦  «        ¦  «                             |j        j        |j        j        ¦  «        }|                      |d„ t          j
        g d¢g d¢¦  «        D ¦   «         ¦  «         d S )NrR  rS  c                 ó(   — g | ]\  \  }\  }}|||f‘ŒS r`   r`   )Ú.0rR  rS  rU   s       r5   ú
<listcomp>z1JoinTest.test_inner_join_true.<locals>.<listcomp>  s8   € ð ð ð á ‘D�Q™&˜1˜að �A�q�	ðð ð r7   )ru   rv   rw   ©rn   r|   )rG  rÐ   )rn   r   )r}   r   )r?   r   rY  rZ  r!   rT   rU   r,   rN   Ú	itertoolsÚproductr[  s       r5   Útest_inner_join_truezJoinTest.test_inner_join_true  sÃ   € Ø�{Š{˜3 Ñ$Ô$‰ˆˆ1õ �1�a‰LŒLßŠ[˜Ÿš ¥4¡6¤6Ñ*Ô*Ñ+Ô+ßŠX�a”c”f˜aœcœfÑ%Ô%ð 	ð 	×ÒØðð å$-Ô$5Ø2Ð2Ð2Ø4Ð4Ð4ñ%ô %ðñ ô ñ		
ô 		
ð 		
ð 		
ð 		
r7   c                 ó:  — |                       dd¦  «        \  }}t          ||¦  «                             |                     |t	          ¦   «         ¦  «        ¦  «                             |j        j        |j        j        ¦  «        }|                      |g ¦  «         d S )NrR  rS  )	r?   r   rY  rZ  r   rT   rU   r,   rN   r[  s       r5   Útest_inner_join_falsezJoinTest.test_inner_join_false  s   € Ø�{Š{˜3 Ñ$Ô$‰ˆˆ1õ �1�a‰LŒLßŠ[˜Ÿš ¥5¡7¤7Ñ+Ô+Ñ,Ô,ßŠX�a”c”f˜aœcœfÑ%Ô%ð 	ð 	×Ò˜D "Ñ%Ô%Ð%Ð%Ð%r7   c                 ó>  — |                       dd¦  «        \  }}t          ||¦  «                             |                     |t	          ¦   «         ¦  «        ¦  «                             |j        j        |j        j        ¦  «        }|                      |g d¢¦  «         d S )NrR  rS  ))r9   NN)r   NN)r   NN)rn   NN)r}   NN)	r?   r   rY  Ú	outerjoinr   rT   rU   r,   rN   r[  s       r5   Útest_outer_join_falsezJoinTest.test_outer_join_false   s—   € Ø�{Š{˜3 Ñ$Ô$‰ˆˆ1õ �1�a‰LŒLßŠ[˜Ÿš Q­©¬Ñ0Ô0Ñ1Ô1ßŠX�a”c”f˜aœcœfÑ%Ô%ð 	ð 	×ÒØðð ð ñ		
ô 		
ð 		
ð 		
ð 		
r7   c                 ó$  — |                       dd¦  «        \  }}t          ||¦  «                             |                     |¦  «        ¦  «                             |j        j        |j        j        ¦  «        }|                      |g d¢¦  «         d S rW  rX  r[  s       r5   Útest_outer_join_fkzJoinTest.test_outer_join_fk4  r]  r7   Nr*  )rZ   r[   r\   r]   rN   r^   r6   rC   r\  re  rg  rj  rl  r`   r7   r5   rN  rN  Ø  sº   € € € € € Ø€KðAð Að Að Að ð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð Pð Pð Pð
ð 
ð 
ð(	&ð 	&ð 	&ð
ð 
ð 
ð(Pð Pð Pð Pð Pr7   rN  c                   ó   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zdd„Zd„ Zd„ Z	e
j        j        e
j        j        d„ ¦   «         ¦   «         Ze
j        j        d	„ ¦   «         Zd
„ Ze
j        j        d„ ¦   «         Zd„ ZdS )ÚCompoundSelectTestTc           
      ó¢   — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        ¦  «         d S r¥   r¦   r2   s     r5   r6   z CompoundSelectTest.define_tables?  r§   r7   c           
      ó’   — |                      | j        j                             ¦   «         ddddœddddœddddœddddœg¦  «         d S )Nr9   r   r©   r   rn   r}   r=   rA   s     r5   rC   zCompoundSelectTest.insert_dataI  sq   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*à˜q qÐ)Ð)Ø˜q qÐ)Ð)Ø˜q qÐ)Ð)Ø˜q qÐ)Ð)ð	ñ	
ô 	
ð 	
ð 	
ð 	
r7   r`   c                 óà   — t           j                             ¦   «         5 }t          |                     ||¦  «                             ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rE   rF   r³   s        r5   rN   z!CompoundSelectTest._assert_resultU  rP  rµ   c                 óh  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «        }t          |¦  «                             |j        j        dk    ¦  «        }t          ||¦  «        }|                      |                     |j	        j        ¦  «        ddg¦  «         d S ©Nr   r   r¹   r»   )
r?   r+   r   rH  rU   r,   r$   rN   rT   Úselected_columns©rK   r   Ús1Ús2Úu1s        r5   Útest_plain_unionz#CompoundSelectTest.test_plain_unionY  s™   € Ø”Ô&ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1ˆå�2�r‰]Œ]ˆØ×ÒØ�KŠK˜Ô+Ô.Ñ/Ô/°)¸YÐ1Gñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó°  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «        }t          |¦  «                             |j        j        dk    ¦  «        }t          ||¦  «                             ¦   «                              ¦   «         }|                      | 	                    |j
        j        ¦  «        ddg¦  «         d S rs  )r?   r+   r   rH  rU   r,   r$   ÚaliasrN   rT   rt  ru  s        r5   Útest_select_from_plain_unionz/CompoundSelectTest.test_select_from_plain_unionc  s±   € Ø”Ô&ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1ˆå�2�r‰]Œ]× Ò Ñ"Ô"×)Ò)Ñ+Ô+ˆØ×ÒØ�KŠK˜Ô+Ô.Ñ/Ô/°)¸YÐ1Gñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óN  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «                             d¦  «                             |j        j        ¦  «        }t          |¦  «                             |j        j        dk    ¦  «                             d¦  «                             |j        j        ¦  «        }t          ||¦  «                             d¦  «        }|  	                    |                     |j
        j        ¦  «        ddg¦  «         d S ©Nr   r9   r   r¹   r»   )r?   r+   r   rH  rU   r,   r¼   rT   r$   rN   rt  ru  s        r5   Ú&test_limit_offset_selectable_in_unionsz9CompoundSelectTest.test_limit_offset_selectable_in_unionsm  sé   € ð ”Ô&ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×7Ò7¸Ñ:Ô:×CÒCÀEÄGÄJÑOÔOˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×7Ò7¸Ñ:Ô:×CÒCÀEÄGÄJÑOÔOˆå�2�r‰]Œ]× Ò  Ñ#Ô#ˆØ×ÒØ�KŠK˜Ô+Ô.Ñ/Ô/°)¸YÐ1Gñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «                             |j        j        ¦  «        }t          |¦  «                             |j        j        dk    ¦  «                             |j        j        ¦  «        }t          ||¦  «                             d¦  «        }|  	                    |                     |j
        j        ¦  «        ddg¦  «         d S rs  )r?   r+   r   rH  rU   r,   rT   r$   r¼   rN   rt  ru  s        r5   Ú"test_order_by_selectable_in_unionsz5CompoundSelectTest.test_order_by_selectable_in_unionsy  sË   € à”Ô&ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×:Ò:¸5¼7¼:ÑFÔFˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×:Ò:¸5¼7¼:ÑFÔFˆå�2�r‰]Œ]× Ò  Ñ#Ô#ˆØ×ÒØ�KŠK˜Ô+Ô.Ñ/Ô/°)¸YÐ1Gñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÖ  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «                             ¦   «         }t          |¦  «                             |j        j        dk    ¦  «                             ¦   «         }t          ||¦  «                             d¦  «        }|  	                    | 
                    |j        j        ¦  «        ddg¦  «         d S rs  )r?   r+   r   rH  rU   r,   Údistinctr$   r¼   rN   rT   rt  ru  s        r5   Ú"test_distinct_selectable_in_unionsz5CompoundSelectTest.test_distinct_selectable_in_unions„  s¿   € Ø”Ô&ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×:Ò:Ñ<Ô<ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×:Ò:Ñ<Ô<ˆå�2�r‰]Œ]× Ò  Ñ#Ô#ˆØ×ÒØ�KŠK˜Ô+Ô.Ñ/Ô/°)¸YÐ1Gñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó–  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «                             d¦  «                             |j        j        ¦  «        }t          |¦  «                             |j        j        dk    ¦  «                             d¦  «                             |j        j        ¦  «        }t          ||¦  «         	                    ¦   «         }|  
                    |                     ¦   «                              d¦  «                             |j        j        ¦  «        ddg¦  «         d S r~  )r?   r+   r   rH  rU   r,   r¼   rT   r$   r{  rN   ru  s        r5   Ú&test_limit_offset_in_unions_from_aliasz9CompoundSelectTest.test_limit_offset_in_unions_from_aliasŽ  sý   € à”Ô&ˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×7Ò7¸Ñ:Ô:×CÒCÀEÄGÄJÑOÔOˆÝ�E‰]Œ]× Ò  ¤¤¨q¢Ñ1Ô1×7Ò7¸Ñ:Ô:×CÒCÀEÄGÄJÑOÔOˆõ �2�r‰]Œ]× Ò Ñ"Ô"ˆØ×ÒØ�IŠI‰KŒK×Ò˜aÑ Ô ×)Ò)¨"¬$¬'Ñ2Ô2°YÀ	Ð4Jñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÞ  — | j         j        }t          |¦  «                             |j        j        dk    ¦  «                             d¦  «                             |j        j        ¦  «                             ¦   «                              ¦   «         }t          |¦  «                             |j        j        dk    ¦  «                             d¦  «                             |j        j        ¦  «                             ¦   «                              ¦   «         }t          ||¦  «                             d¦  «        }|  
                    |                     |j        j        ¦  «        ddg¦  «         d S r~  )r?   r+   r   rH  rU   r,   r¼   rT   r{  r$   rN   rt  ru  s        r5   Ú.test_limit_offset_aliased_selectable_in_unionszACompoundSelectTest.test_limit_offset_aliased_selectable_in_unionsš  s  € Ø”Ô&ˆå�5‰MŒMßŠU�5”7”: ’?Ñ#Ô#ßŠU�1‰XŒXßŠX�e”g”jÑ!Ô!ßŠU‰WŒWßŠV‰XŒXð 	õ �5‰MŒMßŠU�5”7”: ’?Ñ#Ô#ßŠU�1‰XŒXßŠX�e”g”jÑ!Ô!ßŠU‰WŒWßŠV‰XŒXð 	õ �2�r‰]Œ]× Ò  Ñ#Ô#ˆØ×ÒØ�KŠK˜Ô+Ô.Ñ/Ô/°)¸YÐ1Gñ	
ô 	
ð 	
ð 	
ð 	
r7   Nr*  )rZ   r[   r\   r]   r^   r6   rC   rN   ry  r|  r   rR   Úorder_by_col_from_unionÚ/parens_in_union_contained_select_w_limit_offsetr  Ú0parens_in_union_contained_select_wo_limit_offsetr�  r„  r†  rˆ  r`   r7   r5   rn  rn  <  s  € € € € € Ø€Kàð
ð 
ñ „[ð
ð ð	
ð 	
ñ „[ð	
ðAð Að Að Að
ð 
ð 
ð
ð 
ð 
ð ÔÔ-ØÔÔEð
ð 
ñ FÔEñ .Ô-ð
ð ÔÔFð
ð 
ñ GÔFð
ð
ð 
ð 
ð ÔÔEð	
ð 	
ñ FÔEð	
ð
ð 
ð 
ð 
ð 
r7   rn  c                   ó®   — e Zd ZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zej        j        d	„ ¦   «         Zej        j        d
„ ¦   «         ZdS )ÚPostCompileParamsTestT)Ústandard_cursor_sqlc                 óÚ   — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        t          dt          d¦  «        ¦  «        ¦  «         d S ©	Nr+   r,   Tr-   rd   re   Úzrg   r1   r2   s     r5   r6   z#PostCompileParamsTest.define_tablesº  óc   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�3�Ñ Ô Ý�3�Ñ Ô Ý�3�˜r™
œ
Ñ#Ô#ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óš   — |                      | j        j                             ¦   «         dddddœdddddœdddddœddd	d
dœg¦  «         d S ©Nr9   r   Úz1)r,   rd   re   r‘  r   Úz2rn   Úz3r}   Úz4r=   rA   s     r5   rC   z!PostCompileParamsTest.insert_dataÅ  óy   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*à˜q q¨tÐ4Ð4Ø˜q q¨tÐ4Ð4Ø˜q q¨tÐ4Ð4Ø˜q q¨tÐ4Ð4ð	ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óÞ   — | j         j        }t          |j        j        ¦  «                             |j        j        t          dd¬¦  «        k    ¦  «        }|                      |di ¦  «         d S )Nrf   T©Úliteral_executezKSELECT some_table.id FROM some_table WHERE some_table.x = __[POSTCOMPILE_q]©	r?   r+   r   rU   r,   rH  rd   r   Úassert_compile©rK   r   r‘   s      r5   Útest_compilez"PostCompileParamsTest.test_compileÑ  su   € Ø”Ô&ˆå�e”g”jÑ!Ô!×'Ò'ØŒGŒI� 3¸Ð=Ñ=Ô=Ò=ñ
ô 
ˆð 	×ÒØð5àñ		
ô 	
ð 	
ð 	
ð 	
r7   c                 óä   — | j         j        }t          |j        j        ¦  «                             |j        j        t          ddd¬¦  «        k    ¦  «        }|                      |di d¬¦  «         d S )Nrf   rà   Tr›  z<SELECT some_table.id FROM some_table WHERE some_table.x = 10)rè   r�  rŸ  s      r5   Útest_compile_literal_bindsz0PostCompileParamsTest.test_compile_literal_bindsß  s}   € Ø”Ô&ˆå�e”g”jÑ!Ô!×'Ò'ØŒGŒI� 3¨¸DÐAÑAÔAÒAñ
ô 
ˆð 	×ÒØØJØØð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó2  — | j         j        }t          |j        j        ¦  «                             |j        j        t          dd¬¦  «        k    ¦  «        }|                      ¦   «         5 }t          j
                             ¦   «         5 }|                     |t          d¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     t          dt          j
        j        j        rdni ¦  «        ¦  «         d S )Nrf   Tr›  rà   ©rf   z>SELECT some_table.id 
FROM some_table 
WHERE some_table.x = 10r`   )r?   r+   r   rU   r,   rH  rd   r   Úsql_execution_asserterr   rG   rH   r>   ÚdictÚassert_r   ré   Ú
positional©rK   r   r‘   ÚasserterrM   s        r5   Útest_executez"PostCompileParamsTest.test_executeí  sx  € Ø”Ô&ˆå�e”g”jÑ!Ô!×'Ò'ØŒGŒI� 3¸Ð=Ñ=Ô=Ò=ñ
ô 
ˆð ×(Ò(Ñ*Ô*ð 	/¨hÝ”×"Ò"Ñ$Ô$ð /¨Ø—’˜T¥4¨" :¡:¤:Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	×ÒÝð,å”iÔ'Ô2Ð:��¸ñô ñ	
ô 	
ð 	
ð 	
ð 	
s6   Á*CÂ	%B:Â.CÂ:B>	Â>CÃB>	ÃCÃCÃCc           	      óV  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          ddd¬¦  «        ¦  «        ¦  «        }|  	                    ¦   «         5 }t          j                             ¦   «         5 }|                     |t          g d¢¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     t!          dt          j        j        j        rdni ¦  «        ¦  «         d S )Nrf   T©Ú	expandingrœ  )r}   rª   r   r¤  zFSELECT some_table.id 
FROM some_table 
WHERE some_table.x IN (5, 6, 7)r`   )r?   r+   r   rU   r,   rH  rd   r
   r   r¥  r   rG   rH   r>   r¦  r§  r   ré   r¨  r©  s        r5   Ú+test_execute_expanding_plus_literal_executezAPostCompileParamsTest.test_execute_expanding_plus_literal_execute   sˆ  € Ø”Ô&ˆå�e”g”jÑ!Ô!×'Ò'ØŒGŒI�MŠM�) C°4ÈÐNÑNÔNÑOÔOñ
ô 
ˆð ×(Ò(Ñ*Ô*ð 	6¨hÝ”×"Ò"Ñ$Ô$ð 6¨Ø—’˜T¥4¨)¨)¨)Ð#4Ñ#4Ô#4Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	×ÒÝð4å”iÔ'Ô2Ð:��¸ñô ñ	
ô 	
ð 	
ð 	
ð 	
s6   Á:C#Â'CÃ C#ÃC	ÃC#ÃC	ÃC#Ã#C'Ã*C'c           	      ó¼  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    t          ddd¬¦  «        ¦  «        ¦  «        }|                      ¦   «         5 }t          j                             ¦   «         5 }|                     |t!          ddg¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     t%          dt          j        j        j        rdnd	z  t          j        j        j        rd
ni ¦  «        ¦  «         d S )Nrf   Tr­  )r}   rà   )é   é   r¤  zbSELECT some_table.id 
FROM some_table 
WHERE (some_table.x, some_table.y) IN (%s(5, 10), (12, 18))úVALUES Ú r`   )r?   r+   r   rU   r,   rH  r"   rd   re   r
   r   r¥  r   rG   rH   r>   r¦  r§  r   ré   Útuple_in_valuesr¨  r©  s        r5   Ú1test_execute_tuple_expanding_plus_literal_executezGPostCompileParamsTest.test_execute_tuple_expanding_plus_literal_execute  sÜ  € à”Ô&ˆå�e”g”jÑ!Ô!×'Ò'Ý�5”7”9˜eœgœiÑ(Ô(×,Ò,Ý˜#¨¸tÐDÑDÔDñô ñ
ô 
ˆð ×(Ò(Ñ*Ô*ð 	@¨hÝ”×"Ò"Ñ$Ô$ð @¨Ø—’˜T¥4¨7°HÐ*=Ð#>Ñ#>Ô#>Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	×ÒÝð+õ !'¤	Ô 1Ô AÐI�9�9ÀrñKõ ”iÔ'Ô2Ð:��¸ñô ñ	
ô 	
ð 	
ð 	
ð 	
ó6   ÂC;Â1'C$ÃC;Ã$C(	Ã(C;Ã+C(	Ã,C;Ã;C?ÄC?c           	      ó¼  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    t          ddd¬¦  «        ¦  «        ¦  «        }|                      ¦   «         5 }t          j                             ¦   «         5 }|                     |t!          ddg¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     t%          dt          j        j        j        rdnd	z  t          j        j        j        rd
ni ¦  «        ¦  «         d S )Nrf   Tr­  )r}   r•  )r±  r—  r¤  zfSELECT 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   rU   r,   rH  r"   rd   r‘  r
   r   r¥  r   rG   rH   r>   r¦  r§  r   ré   rµ  r¨  r©  s        r5   Ú?test_execute_tuple_expanding_plus_literal_heterogeneous_executezUPostCompileParamsTest.test_execute_tuple_expanding_plus_literal_heterogeneous_execute+  sÜ  € à”Ô&ˆå�e”g”jÑ!Ô!×'Ò'Ý�5”7”9˜eœgœiÑ(Ô(×,Ò,Ý˜#¨¸tÐDÑDÔDñô ñ
ô 
ˆð ×(Ò(Ñ*Ô*ð 	D¨hÝ”×"Ò"Ñ$Ô$ð D¨Ø—’˜T¥4¨9°jÐ*AÐ#BÑ#BÔ#BÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	×ÒÝð/õ !'¤	Ô 1Ô AÐI�9�9ÀrñKõ ”iÔ'Ô2Ð:��¸ñô ñ	
ô 	
ð 	
ð 	
ð 	
r·  N)rZ   r[   r\   r]   r¡   r^   r6   rC   r   r¢  r«  r¯  r   rR   Útuple_inr¶  r¹  r`   r7   r5   r�  r�  ³  sÔ   € € € € € ð €Kà+€Làð
ð 
ñ „[ð
ð ð	
ð 	
ñ „[ð	
ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð&
ð 
ð 
ð& ÔÔð
ð 
ñ Ôð
ð. ÔÔð
ð 
ñ Ôð
ð 
ð 
r7   r�  c                   ó€  — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zd$d„Zd„ Zd„ Z	e
j        j        d„ ¦   «         Ze
j        j        d	„ ¦   «         Ze
j        j        d
„ ¦   «         Ze
j        j        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d „ Z&d!„ Z'd"„ Z(d#S )%ÚExpandingBoundInTestTc                 óÚ   — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        t          dt          d¦  «        ¦  «        ¦  «         d S r�  r1   r2   s     r5   r6   z"ExpandingBoundInTest.define_tablesG  r’  r7   c                 óš   — |                      | j        j                             ¦   «         dddddœdddddœdddddœddd	d
dœg¦  «         d S r”  r=   rA   s     r5   rC   z ExpandingBoundInTest.insert_dataR  r™  r7   r`   c                 óà   — t           j                             ¦   «         5 }t          |                     ||¦  «                             ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rE   rF   r³   s        r5   rN   z#ExpandingBoundInTest._assert_result^  rP  rµ   c                 ó´  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          d¦  «        ¦  «        ¦  «                             |j        j	                             t          d¦  «        ¦  «        ¦  «         
                    |j        j        ¦  «        }|                      |g g g dœ¬¦  «         d S )Nrf   rh   )rf   rh   rõ   )r?   r+   r   rU   r,   rH  rd   r
   r   re   rT   rN   rŸ  s      r5   Ú"test_multiple_empty_sets_bindparamz7ExpandingBoundInTest.test_multiple_empty_sets_bindparamb  s¤   € ð ”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’=¥¨3¡¤Ñ0Ô0Ñ1Ô1ßŠU�5”7”9—=’=¥¨3¡¤Ñ0Ô0Ñ1Ô1ßŠX�e”g”jÑ!Ô!ð	 	ð 	×Ò˜D "°2¸BÐ-?Ð-?ÐÑ@Ô@Ð@Ð@Ð@r7   c                 óv  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j                             g ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g ¦  «         d S rE   )r?   r+   r   rU   r,   rH  rd   r
   re   rT   rN   rŸ  s      r5   Útest_multiple_empty_sets_directz4ExpandingBoundInTest.test_multiple_empty_sets_directn  s‹   € ð ”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’= Ñ$Ô$Ñ%Ô%ßŠU�5”7”9—=’= Ñ$Ô$Ñ%Ô%ßŠX�e”g”jÑ!Ô!ð	 	ð 	×Ò˜D "Ñ%Ô%Ð%Ð%Ð%r7   c                 óh  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    t          d¦  «        ¦  «        ¦  «                             |j        j        ¦  «        }|                      |g dg i¬¦  «         d S ©Nrf   rõ   ©r?   r+   r   rU   r,   rH  r"   rd   r‘  r
   r   rT   rN   rŸ  s      r5   Ú)test_empty_heterogeneous_tuples_bindparamz>ExpandingBoundInTest.test_empty_heterogeneous_tuples_bindparamz  ó‹   € à”Ô&ˆå�5”7”:ÑÔßŠU•6˜%œ'œ) U¤W¤YÑ/Ô/×3Ò3µI¸c±N´NÑCÔCÑDÔDßŠX�e”g”jÑ!Ô!ð 	ð
 	×Ò˜D "¨c°2¨YÐÑ7Ô7Ð7Ð7Ð7r7   c                 ó~   ‡ ‡— ‰ j         j        Šˆ ˆfd„} |g g ¦  «          |g d¢g d¢¦  «          |g g ¦  «         d S )Nc                 ó0  •— t          ‰j        j        ¦  «                             t	          ‰j        j        ‰j        j        ¦  «                             | ¦  «        ¦  «                             ‰j        j        ¦  «        }‰ 	                    ||¦  «         d S rE   )
r   rU   r,   rH  r"   rd   r‘  r
   rT   rN   ©ÚvalrÚ   r‘   rK   r   s      €€r5   ÚgozGExpandingBoundInTest.test_empty_heterogeneous_tuples_direct.<locals>.goˆ  ós   ø€ å�u”w”zÑ"Ô"ß’•v˜eœgœi¨¬¬Ñ3Ô3×7Ò7¸Ñ<Ô<Ñ=Ô=ß’˜%œ'œ*Ñ%Ô%ð ð
 ×Ò  hÑ/Ô/Ð/Ð/Ð/r7   ©)r   r–  )r   r—  )rn   r˜  ©rv   rw   rb  ©r?   r+   ©rK   rÍ  r   s   ` @r5   Ú&test_empty_heterogeneous_tuples_directz;ExpandingBoundInTest.test_empty_heterogeneous_tuples_direct„  sp   øø€ à”Ô&ˆð	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	ˆˆ2ˆr‰
Œ
ˆ
Ø
ˆÐ,Ð,Ð,Ð.@Ð.@Ð.@ÑAÔAÐAØ
ˆˆ2ˆr‰
Œ
ˆ
ˆ
ˆ
r7   c                 óh  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    t          d¦  «        ¦  «        ¦  «                             |j        j        ¦  «        }|                      |g dg i¬¦  «         d S rÅ  ©r?   r+   r   rU   r,   rH  r"   rd   re   r
   r   rT   rN   rŸ  s      r5   Ú'test_empty_homogeneous_tuples_bindparamz<ExpandingBoundInTest.test_empty_homogeneous_tuples_bindparam”  rÈ  r7   c                 ó~   ‡ ‡— ‰ j         j        Šˆ ˆfd„} |g g ¦  «          |g d¢g d¢¦  «          |g g ¦  «         d S )Nc                 ó0  •— t          ‰j        j        ¦  «                             t	          ‰j        j        ‰j        j        ¦  «                             | ¦  «        ¦  «                             ‰j        j        ¦  «        }‰ 	                    ||¦  «         d S rE   )
r   rU   r,   rH  r"   rd   re   r
   rT   rN   rË  s      €€r5   rÍ  zEExpandingBoundInTest.test_empty_homogeneous_tuples_direct.<locals>.go¢  rÎ  r7   ))r9   r   ©r   r   ©r   rn   rt   rÑ  rÒ  s   ` @r5   Ú$test_empty_homogeneous_tuples_directz9ExpandingBoundInTest.test_empty_homogeneous_tuples_directž  sp   øø€ à”Ô&ˆð	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	ˆˆ2ˆr‰
Œ
ˆ
Ø
ˆÐ#Ð#Ð#Ð%7Ð%7Ð%7Ñ8Ô8Ð8Ø
ˆˆ2ˆr‰
Œ
ˆ
ˆ
ˆ
r7   c                 ó@  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          d¦  «        ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g d¢dg d¢i¬¦  «         d S )Nrf   rÐ  ©r   r   rn   rõ   ©r?   r+   r   rU   r,   rH  rd   r
   r   rT   rN   rŸ  s      r5   Útest_bound_in_scalar_bindparamz3ExpandingBoundInTest.test_bound_in_scalar_bindparam®  s‡   € Ø”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’=¥¨3¡¤Ñ0Ô0Ñ1Ô1ßŠX�e”g”jÑ!Ô!ð 	ð
 	×Ò˜DÐ"4Ð"4Ð"4¸cÀ9À9À9Ð=MÐÑNÔNÐNÐNÐNr7   c                 ó  — | j         j        }t          |j        j        ¦  «                             |j        j                             g d¢¦  «        ¦  «                             |j        j        ¦  «        }|  	                    |g d¢¦  «         d S )NrÝ  rÐ  ©
r?   r+   r   rU   r,   rH  rd   r
   rT   rN   rŸ  s      r5   Útest_bound_in_scalar_directz0ExpandingBoundInTest.test_bound_in_scalar_direct·  sw   € Ø”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’=   Ñ+Ô+Ñ,Ô,ßŠX�e”g”jÑ!Ô!ð 	ð
 	×Ò˜DÐ"4Ð"4Ð"4Ñ5Ô5Ð5Ð5Ð5r7   c                 ó~  — | j         j        }t          |j        j        ¦  «                             |j        j                             ddg¦  «        ¦  «                             |j        j                             g ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |ddg¦  «         d S )Nr   r   rv   rw   ©r?   r+   r   rU   r,   rH  rd   r
   Únot_inrT   rN   rŸ  s      r5   Ú!test_nonempty_in_plus_empty_notinz6ExpandingBoundInTest.test_nonempty_in_plus_empty_notinÀ  s“   € Ø”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’= ! Q Ñ(Ô(Ñ)Ô)ßŠU�5”7”:×$Ò$ RÑ(Ô(Ñ)Ô)ßŠX�e”g”jÑ!Ô!ð	 	ð 	×Ò˜D 4¨ ,Ñ/Ô/Ð/Ð/Ð/r7   c                 óz  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j                             ddg¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g ¦  «         d S )Nr   r   rä  rŸ  s      r5   Ú!test_empty_in_plus_notempty_notinz6ExpandingBoundInTest.test_empty_in_plus_notempty_notinÊ  s�   € Ø”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’= Ñ$Ô$Ñ%Ô%ßŠU�5”7”:×$Ò$ a¨ VÑ,Ô,Ñ-Ô-ßŠX�e”g”jÑ!Ô!ð	 	ð 	×Ò˜D "Ñ%Ô%Ð%Ð%Ð%r7   c                 ó°   — t          d¦  «                             t          dt          d¬¦  «        ¦  «        }|                      |g d¢dg d¢i¬¦  «         dS )	z†test 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 idrf   T©Útype_r®  rÐ  ©r–  r—  r˜  rõ   N)r    Ú
bindparamsr   r   rN   ©rK   r‘   s     r5   Útest_typed_str_inz&ExpandingBoundInTest.test_typed_str_inÔ  sy   € õ ØAñ
ô 
ç
Š*•Y˜s­&¸DÐAÑAÔAÑ
BÔ
Bð 	ð 	×ÒØØÐÐØÐ+Ð+Ð+Ð,ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó¤   — t          d¦  «                             t          dd¬¦  «        ¦  «        }|                      |g d¢dg d¢i¬¦  «         dS )	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....

        rê  rf   T©r®  rÐ  rí  rõ   N©r    rî  r   rN   rï  s     r5   Útest_untyped_str_inz(ExpandingBoundInTest.test_untyped_str_inå  sw   € õ ØAñ
ô 
ç
Š*•Y˜s¨dÐ3Ñ3Ô3Ñ
4Ô
4ð 	ð 	×ÒØØÐÐØÐ+Ð+Ð+Ð,ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 óp  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    t          d¦  «        ¦  «        ¦  «                             |j        j        ¦  «        }|                      |g d¢dg d¢i¬¦  «         d S )Nrf   rÐ  ©rÙ  rÚ  )rn   r}   rõ   rÕ  rŸ  s      r5   Ú!test_bound_in_two_tuple_bindparamz6ExpandingBoundInTest.test_bound_in_two_tuple_bindparam÷  s§   € à”Ô&ˆå�5”7”:ÑÔßŠU•6˜%œ'œ) U¤W¤YÑ/Ô/×3Ò3µI¸c±N´NÑCÔCÑDÔDßŠX�e”g”jÑ!Ô!ð 	ð
 	×ÒØÐ$Ð$Ð$¨cÐ3KÐ3KÐ3KÐ-Lð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 óN  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    g d¢¦  «        ¦  «         
                    |j        j        ¦  «        }|                      |g d¢¦  «         d S )Nrö  rÐ  )r?   r+   r   rU   r,   rH  r"   rd   re   r
   rT   rN   rŸ  s      r5   Útest_bound_in_two_tuple_directz3ExpandingBoundInTest.test_bound_in_two_tuple_direct  sŠ   € à”Ô&ˆå�5”7”:ÑÔßŠU•6˜%œ'œ) U¤W¤YÑ/Ô/×3Ò3Ð4LÐ4LÐ4LÑMÔMÑNÔNßŠX�e”g”jÑ!Ô!ð 	ð
 	×Ò˜DÐ"4Ð"4Ð"4Ñ5Ô5Ð5Ð5Ð5r7   c                 óp  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    t          d¦  «        ¦  «        ¦  «                             |j        j        ¦  «        }|                      |g d¢dg d¢i¬¦  «         d S )Nrf   rÐ  rÏ  rõ   rÆ  rŸ  s      r5   Ú/test_bound_in_heterogeneous_two_tuple_bindparamzDExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_bindparam  s¨   € à”Ô&ˆå�5”7”:ÑÔßŠU•6˜%œ'œ) U¤W¤YÑ/Ô/×3Ò3µI¸c±N´NÑCÔCÑDÔDßŠX�e”g”jÑ!Ô!ð 	ð
 	×ÒØØÐÐØÐ:Ð:Ð:Ð;ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 óN  — | j         j        }t          |j        j        ¦  «                             t          |j        j        |j        j        ¦  «         	                    g d¢¦  «        ¦  «         
                    |j        j        ¦  «        }|                      |g d¢¦  «         d S )NrÏ  rÐ  )r?   r+   r   rU   r,   rH  r"   rd   r‘  r
   rT   rN   rŸ  s      r5   Ú,test_bound_in_heterogeneous_two_tuple_directzAExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_direct  s    € à”Ô&ˆå�5”7”:ÑÔßŠUÝ�u”w”y %¤'¤)Ñ,Ô,×0Ò0Ø5Ð5Ð5ñô ñô ÷
 ŠX�e”g”jÑ!Ô!ð 	ð 	×ÒØØÐÐñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó¤   — t          d¦  «                             t          dd¬¦  «        ¦  «        }|                      |g d¢dg d¢i¬¦  «         d S )Nú8select id FROM some_table WHERE (x, z) IN :q ORDER BY idrf   Trò  rÐ  rÏ  rõ   ró  rï  s     r5   Ú4test_bound_in_heterogeneous_two_tuple_text_bindparamzIExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam,  sw   € õ ØFñ
ô 
ç
Š*•Y˜s¨dÐ3Ñ3Ô3Ñ
4Ô
4ð 	ð 	×ÒØØÐÐØÐ:Ð:Ð:Ð;ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó`  —  G d„ dt           j        ¦  «        }t          d¦  «                             t	          dt          t          ¦   «         t          ¦   «         ¦  «        d¬¦  «        ¦  «        }|                      |g d¢d |dd	¦  «         |d
d¦  «         |dd¦  «        gi¬¦  «         d S )Nc                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )úhExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuplec                 ó   — || _         d S rE   ©Ú_data©rK   r/   s     r5   Ú__init__zqExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__init__<  ó   € Ø!�”
�
�
r7   c                 ó*   — t          | j        ¦  «        S rE   ©Úiterr  ©rK   s    r5   Ú__iter__zqExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__iter__?  ó   € Ý˜DœJÑ'Ô'Ð'r7   c                 ó   — | j         |         S rE   r  ©rK   Úidxs     r5   Ú__getitem__ztExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__getitem__B  ó   € Ø”z #”Ð&r7   c                 ó*   — t          | j        ¦  «        S rE   ©r¬   r  r  s    r5   Ú__len__zpExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple.<locals>.LikeATuple.__len__E  ó   € Ý˜4œ:‘”Ð&r7   N©rZ   r[   r\   r  r  r  r  r`   r7   r5   Ú
LikeATupler  ;  óP   € € € € € ð"ð "ð "ð(ð (ð (ð'ð 'ð 'ð'ð 'ð 'ð 'ð 'r7   r  rÿ  rf   Trë  rÐ  r   r–  r   r—  rn   r˜  rõ   )	Úcollections_abcÚSequencer    rî  r   r#   r   r   rN   ©rK   r  r‘   s      r5   Ú?test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuplezTExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_typed_bindparam_non_tuple9  sï   € ð	'ð 	'ð 	'ð 	'ð 	'�Ô1ñ 	'ô 	'ð 	'õ ØFñ
ô 
ç
Š*ÝØ�9¥W¡Y¤Yµ±´Ñ9Ô9ÀTðñ ô ñ
ô 
ð 	ð 	×ÒØØÐÐàØ�J˜q $Ñ'Ô'Ø�J˜q $Ñ'Ô'Ø�J˜q $Ñ'Ô'ððð 	ñ 
	
ô 
	
ð 
	
ð 
	
ð 
	
r7   c                 ó  —  G d„ dt           j        ¦  «        }t          d¦  «                             t	          dd¬¦  «        ¦  «        }|                      |g d¢d |dd	¦  «         |d
d¦  «         |dd¦  «        gi¬¦  «         d S )Nc                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )úgExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuplec                 ó   — || _         d S rE   r  r  s     r5   r  zpExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__init__a  r	  r7   c                 ó*   — t          | j        ¦  «        S rE   r  r  s    r5   r  zpExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__iter__d  r  r7   c                 ó   — | j         |         S rE   r  r  s     r5   r  zsExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__getitem__g  r  r7   c                 ó*   — t          | j        ¦  «        S rE   r  r  s    r5   r  zoExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple.<locals>.LikeATuple.__len__j  r  r7   Nr  r`   r7   r5   r  r"  `  r  r7   r  rÿ  rf   Trò  rÐ  r   r–  r   r—  rn   r˜  rõ   )r  r  r    rî  r   rN   r  s      r5   Ú>test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuplezSExpandingBoundInTest.test_bound_in_heterogeneous_two_tuple_text_bindparam_non_tuple[  sÏ   € ð
	'ð 	'ð 	'ð 	'ð 	'�Ô1ñ 	'ô 	'ð 	'õ ØFñ
ô 
ç
Š*•Y˜s¨dÐ3Ñ3Ô3Ñ
4Ô
4ð 	ð 	×ÒØØÐÐàØ�J˜q $Ñ'Ô'Ø�J˜q $Ñ'Ô'Ø�J˜q $Ñ'Ô'ððð 	ñ 
	
ô 
	
ð 
	
ð 
	
ð 
	
r7   c                 ó8  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          d¦  «        ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g dg i¬¦  «         d S rÅ  rÞ  rŸ  s      r5   Ú(test_empty_set_against_integer_bindparamz=ExpandingBoundInTest.test_empty_set_against_integer_bindparam|  ó{   € Ø”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9—=’=¥¨3¡¤Ñ0Ô0Ñ1Ô1ßŠX�e”g”jÑ!Ô!ð 	ð
 	×Ò˜D "¨c°2¨YÐÑ7Ô7Ð7Ð7Ð7r7   c                 ó  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j        ¦  «        }|  	                    |g ¦  «         d S rE   rá  rŸ  s      r5   Ú%test_empty_set_against_integer_directz:ExpandingBoundInTest.test_empty_set_against_integer_direct…  ói   € Ø”Ô&ˆÝ�e”g”jÑ!Ô!×'Ò'¨¬¬	¯ª°bÑ(9Ô(9Ñ:Ô:×CÒCÀEÄGÄJÑOÔOˆØ×Ò˜D "Ñ%Ô%Ð%Ð%Ð%r7   c                 ó<  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          d¦  «        ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g d¢dg i¬¦  «         d S ©Nrf   ©ru   rv   rw   rb  rõ   )r?   r+   r   rU   r,   rH  rd   rå  r   rT   rN   rŸ  s      r5   Ú1test_empty_set_against_integer_negation_bindparamzFExpandingBoundInTest.test_empty_set_against_integer_negation_bindparamŠ  ó„   € Ø”Ô&ˆå�5”7”:ÑÔßŠU�5”7”9×#Ò#¥I¨c¡N¤NÑ3Ô3Ñ4Ô4ßŠX�e”g”jÑ!Ô!ð 	ð
 	×Ò˜DÐ":Ð":Ð":ÀCÈÀ9ÐÑMÔMÐMÐMÐMr7   c                 ó  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j        ¦  «        }|  	                    |g d¢¦  «         d S ©Nr0  )
r?   r+   r   rU   r,   rH  rd   rå  rT   rN   rŸ  s      r5   Ú.test_empty_set_against_integer_negation_directzCExpandingBoundInTest.test_empty_set_against_integer_negation_direct“  ów   € Ø”Ô&ˆå�5”7”:ÑÔ×$Ò$ U¤W¤Y×%5Ò%5°bÑ%9Ô%9Ñ:Ô:×CÒCÀEÄGÄJÑOÔOð 	ð 	×Ò˜DÐ":Ð":Ð":Ñ;Ô;Ð;Ð;Ð;r7   c                 ó8  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          d¦  «        ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g dg i¬¦  «         d S rÅ  )r?   r+   r   rU   r,   rH  r‘  r
   r   rT   rN   rŸ  s      r5   Ú'test_empty_set_against_string_bindparamz<ExpandingBoundInTest.test_empty_set_against_string_bindparamš  r*  r7   c                 ó  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j        ¦  «        }|  	                    |g ¦  «         d S rE   )
r?   r+   r   rU   r,   rH  r‘  r
   rT   rN   rŸ  s      r5   Ú$test_empty_set_against_string_directz9ExpandingBoundInTest.test_empty_set_against_string_direct£  r-  r7   c                 ó<  — | j         j        }t          |j        j        ¦  «                             |j        j                             t          d¦  «        ¦  «        ¦  «         	                    |j        j        ¦  «        }|  
                    |g d¢dg i¬¦  «         d S r/  )r?   r+   r   rU   r,   rH  r‘  rå  r   rT   rN   rŸ  s      r5   Ú0test_empty_set_against_string_negation_bindparamzEExpandingBoundInTest.test_empty_set_against_string_negation_bindparam¨  r2  r7   c                 ó  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j        ¦  «        }|  	                    |g d¢¦  «         d S r4  )
r?   r+   r   rU   r,   rH  r‘  rå  rT   rN   rŸ  s      r5   Ú-test_empty_set_against_string_negation_directzBExpandingBoundInTest.test_empty_set_against_string_negation_direct±  r6  r7   c           
      óH  — t          t          t          ¦   «                              t	          dd¬¦  «        ¦  «        t          ¦   «         ft          ¦   «         ¬¦  «        ¦  «        }t          |                     |¦  «                             ¦   «         d         d¦  «         d S )NÚfoor`   )Úvalue©Úelse_r   ©Fr   )	r   r   r   r
   r   r!   r   r>   Úfetchone©rK   rB   r‘   s      r5   Ú)test_null_in_empty_set_is_false_bindparamz>ExpandingBoundInTest.test_null_in_empty_set_is_false_bindparam¸  s�   € ÝÝå‘F”F—J’J�y¨°bÐ9Ñ9Ô9Ñ:Ô:Ý‘F”Fðõ ‘g”gðñ ô ñ
ô 
ˆõ 	ˆJ×Ò˜tÑ$Ô$×-Ò-Ñ/Ô/°Ô2°JÑ?Ô?Ð?Ð?Ð?r7   c                 ó*  — t          t          t          ¦   «                              g ¦  «        t	          ¦   «         ft          ¦   «         ¬¦  «        ¦  «        }t          |                     |¦  «                             ¦   «         d         d¦  «         d S )NrB  r   rD  )r   r   r   r
   r!   r   r>   rE  rF  s      r5   Ú&test_null_in_empty_set_is_false_directz;ExpandingBoundInTest.test_null_in_empty_set_is_false_directÄ  s€   € ÝÝå‘F”F—J’J˜r‘N”NÝ‘F”Fðõ ‘g”gðñ ô ñ
ô 
ˆõ 	ˆJ×Ò˜tÑ$Ô$×-Ò-Ñ/Ô/°Ô2°JÑ?Ô?Ð?Ð?Ð?r7   Nr*  ))rZ   r[   r\   r]   r^   r6   rC   rN   rÁ  rÃ  r   rR   Útuple_in_w_emptyrÇ  rÓ  rÖ  rÛ  rß  râ  ræ  rè  rð  rô  rº  r÷  rù  rû  rý  r   r  r'  r)  r,  r1  r5  r8  r:  r<  r>  rG  rI  r`   r7   r5   r¼  r¼  D  sÿ  € € € € € Ø€Kàð
ð 
ñ „[ð
ð ð	
ð 	
ñ „[ð	
ðAð Að Að Að
Að 
Að 
Að
&ð 
&ð 
&ð ÔÔ&ð8ð 8ñ 'Ô&ð8ð ÔÔ&ðð ñ 'Ô&ðð ÔÔ&ð8ð 8ñ 'Ô&ð8ð ÔÔ&ðð ñ 'Ô&ððOð Oð Oð6ð 6ð 6ð0ð 0ð 0ð&ð &ð &ð
ð 
ð 
ð"
ð 
ð 
ð$ ÔÔð	
ð 	
ñ Ôð	
ð ÔÔð6ð 6ñ Ôð6ð ÔÔð
ð 
ñ Ôð
ð ÔÔð
ð 
ñ Ôð
ð  ÔÔð

ð 

ñ Ôð

ð ÔÔð
ð 
ñ Ôð
ðB ÔÔð
ð 
ñ Ôð
ð@8ð 8ð 8ð&ð &ð &ð
Nð Nð Nð<ð <ð <ð8ð 8ð 8ð&ð &ð &ð
Nð Nð Nð<ð <ð <ð
@ð 
@ð 
@ð
@ð 
@ð 
@ð 
@ð 
@r7   r¼  c                   óÜ  — e Zd ZdZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j         ej        dh d£fdh d£fdh d£fddhfd e e dd ¦  «        ¦  «        fd! e e dd ¦  «        ¦  «        fd" e¦   «         f¦  «        d#„ ¦   «         ¦   «         Z!dS )$ÚLikeFunctionsTestTÚonceNc                 óŠ   — t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        ¦  «         d S )Nr+   r,   Tr-   r/   rg   r1   r2   s     r5   r6   zLikeFunctionsTest.define_tables×  sI   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&ñ		
ô 	
ð 	
ð 	
ð 	
r7   c                 óÂ   — |                      | j        j                             ¦   «         dddœdddœdddœdd	dœd
ddœdddœdddœdddœdddœdddœdd dœg¦  «         d S )Nr9   Úabcdefgr;   r   zab/cdefgr   zab%cdefgrn   Úab_cdefgr}   zabcde/fgrª   zabcde%fgr   zab#cdefgé   Úab9cdefgé	   zabcde#fgrà   Úabcd9fgé   r=   rA   s     r5   rC   zLikeFunctionsTest.insert_dataà  s¶   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*à )Ð,Ð,Ø *Ð-Ð-Ø *Ð-Ð-Ø *Ð-Ð-Ø *Ð-Ð-Ø *Ð-Ð-Ø *Ð-Ð-Ø *Ð-Ð-Ø *Ð-Ð-Ø 9Ð-Ð-Ø 4Ð(Ð(ðñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó<  — | j         j        }t          j                             ¦   «         5 }d„ |                     t          |j        j        ¦  «         	                    |¦  «        ¦  «        D ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )Nc                 ó   — h | ]\  }|’ŒS r`   r`   )r`  rA  s     r5   ú	<setcomp>z*LikeFunctionsTest._test.<locals>.<setcomp>÷  s*   € ð ð ð á�Eð ðð ð r7   )r?   r+   r   rG   rH   r>   r   rU   r,   rH  r	   )rK   r�   rÚ   r+   rM   Úrowss         r5   Ú_testzLikeFunctionsTest._testó  sÎ   € Ø”[Ô+ˆ
åŒY×ÒÑ Ô ð 	 Dðð à"Ÿlšl­6°*´,´/Ñ+BÔ+B×+HÒ+HÈÑ+NÔ+NÑOÔOðñ ô ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	ˆD�(ÑÔÐÐÐs   «A
BÂBÂBc                 óˆ   — | j         j        j        j        }|                      |                     d¦  «        h d£¦  «         d S )Núab%c¾
   r9   r   r   rn   r}   rª   r   rR  rT  rà   ©r?   r+   rU   r/   r[  Ú
startswith©rK   Úcols     r5   Útest_startswith_unescapedz+LikeFunctionsTest.test_startswith_unescapedþ  s?   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—>’> &Ñ)Ô)Ð+JÐ+JÐ+JÑKÔKÐKÐKÐKr7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nr]  T©Ú
autoescaper   r_  ra  s     r5   Útest_startswith_autoescapez,LikeFunctionsTest.test_startswith_autoescape  s>   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—>’> &°T�>Ñ:Ô:¸Q¸CÑ@Ô@Ð@Ð@Ð@r7   c                 ó¢   — | j         j        j        j        }|                      |                     t          d¦  «        ¦  «        h d£¦  «         d S )Nz'ab%c'r^  )r?   r+   rU   r/   r[  r`  r   ra  s     r5   Útest_startswith_sqlexprz)LikeFunctionsTest.test_startswith_sqlexpr  sR   € ØŒkÔ$Ô&Ô+ˆØ�
Š
Ø�NŠN�>¨(Ñ3Ô3Ñ4Ô4Ø+Ð+Ð+ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nzab##cú#©Úescaper   r_  ra  s     r5   Útest_startswith_escapez(LikeFunctionsTest.test_startswith_escape  s>   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—>’> '°#�>Ñ6Ô6¸¸Ñ<Ô<Ð<Ð<Ð<r7   c                 óæ   — | j         j        j        j        }|                      |                     ddd¬¦  «        dh¦  «         |                      |                     ddd¬¦  «        dh¦  «         d S )Nr]  Trk  ©rf  rm  r   zab#cr   r_  ra  s     r5   Ú!test_startswith_autoescape_escapez3LikeFunctionsTest.test_startswith_autoescape_escape  sh   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—>’> &°TÀ#�>ÑFÔFÈÈÑLÔLÐLØ�
Š
�3—>’> &°TÀ#�>ÑFÔFÈÈÑLÔLÐLÐLÐLr7   c                 óˆ   — | j         j        j        j        }|                      |                     d¦  «        h d£¦  «         d S )Núe%fg¾	   r9   r   r   rn   r}   rª   r   rR  rT  ©r?   r+   rU   r/   r[  Úendswithra  s     r5   Útest_endswith_unescapedz)LikeFunctionsTest.test_endswith_unescaped  s?   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< Ñ'Ô'Ð)DÐ)DÐ)DÑEÔEÐEÐEÐEr7   c                 ó¢   — | j         j        j        j        }|                      |                     t          d¦  «        ¦  «        h d£¦  «         d S )Nz'e%fg'rt  )r?   r+   rU   r/   r[  rv  r   ra  s     r5   Útest_endswith_sqlexprz'LikeFunctionsTest.test_endswith_sqlexpr  sR   € ØŒkÔ$Ô&Ô+ˆØ�
Š
Ø�LŠL�¨Ñ1Ô1Ñ2Ô2Ð4OÐ4OÐ4Oñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nrs  Tre  rª   ru  ra  s     r5   Útest_endswith_autoescapez*LikeFunctionsTest.test_endswith_autoescape   s>   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< °4�<Ñ8Ô8¸1¸#Ñ>Ô>Ð>Ð>Ð>r7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nze##fgrk  rl  rT  ru  ra  s     r5   Útest_endswith_escapez&LikeFunctionsTest.test_endswith_escape$  s>   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< °�<Ñ4Ô4°q°cÑ:Ô:Ð:Ð:Ð:r7   c                 óæ   — | j         j        j        j        }|                      |                     ddd¬¦  «        dh¦  «         |                      |                     ddd¬¦  «        dh¦  «         d S )Nrs  Trk  rp  rª   ze#fgrT  ru  ra  s     r5   Útest_endswith_autoescape_escapez1LikeFunctionsTest.test_endswith_autoescape_escape(  óh   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< °4À�<ÑDÔDÀqÀcÑJÔJÐJØ�
Š
�3—<’< °4À�<ÑDÔDÀqÀcÑJÔJÐJÐJÐJr7   c                 óˆ   — | j         j        j        j        }|                      |                     d¦  «        h d£¦  «         d S )Núb%cdert  ©r?   r+   rU   r/   r[  Úcontainsra  s     r5   Útest_contains_unescapedz)LikeFunctionsTest.test_contains_unescaped-  s?   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< Ñ(Ô(Ð*EÐ*EÐ*EÑFÔFÐFÐFÐFr7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nr‚  Tre  r   rƒ  ra  s     r5   Útest_contains_autoescapez*LikeFunctionsTest.test_contains_autoescape1  s>   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< °D�<Ñ9Ô9¸A¸3Ñ?Ô?Ð?Ð?Ð?r7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nzb##cderk  rl  r   rƒ  ra  s     r5   Útest_contains_escapez&LikeFunctionsTest.test_contains_escape5  s>   € ØŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< °�<Ñ5Ô5¸°sÑ;Ô;Ð;Ð;Ð;r7   c                 óæ   — | j         j        j        j        }|                      |                     ddd¬¦  «        dh¦  «         |                      |                     ddd¬¦  «        dh¦  «         d S )Nzb%cdTrk  rp  r   zb#cdr   rƒ  ra  s     r5   Útest_contains_autoescape_escapez1LikeFunctionsTest.test_contains_autoescape_escape9  r€  r7   c                 óŠ   — | j         j        j        j        }|                      |                     d¦  «         h d£¦  «         d S )Núa.cde>   r   r   rn   r   rR  rà   ©r?   r+   rU   r/   r[  Úregexp_matchra  s     r5   Útest_not_regexp_matchz'LikeFunctionsTest.test_not_regexp_match>  sD   € àŒkÔ$Ô&Ô+ˆØ�
Š
�C×$Ò$ WÑ-Ô-Ð-Ð/BÐ/BÐ/BÑCÔCÐCÐCÐCr7   c                 ó°   — | j         j        j        j        }|                      |                     dd¦  «                             d¦  «        h d£¦  «         d S )Nr�  ÚFOO¾   r9   r}   rª   rT  )r?   r+   rU   r/   r[  Úregexp_replacer„  ra  s     r5   Útest_regexp_replacez%LikeFunctionsTest.test_regexp_replaceC  sY   € àŒkÔ$Ô&Ô+ˆØ�
Š
Ø×Ò˜w¨Ñ.Ô.×7Ò7¸Ñ>Ô>ÀÀÀñ	
ô 	
ð 	
ð 	
ð 	
r7   r�  r“  Úabc>   r9   r}   rª   rT  rà   z^abcÚ9cderR  z^ar9   rV  z(b|c)z^(b|c)c                 ó„   — | j         j        j        j        }|                      |                     |¦  «        |¦  «         d S rE   rŽ  )rK   r    rÚ   rb  s       r5   Útest_regexp_matchz#LikeFunctionsTest.test_regexp_matchJ  s<   € ð ŒkÔ$Ô&Ô+ˆØ�
Š
�3×#Ò# DÑ)Ô)¨8Ñ4Ô4Ð4Ð4Ð4r7   )"rZ   r[   r\   r]   Úrun_insertsÚrun_deletesr^   r6   rC   r[  rc  rg  ri  rn  rq  rw  ry  r{  r}  r  r…  r‡  r‰  r‹  r   rR   r�  r�  r”  r•  r,  r­   Úranger™  r`   r7   r5   rL  rL  Ñ  sN  € € € € € Ø€Kà€KØ€Kàð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð$	ð 	ð 	ðLð Lð LðAð Að Að
ð 
ð 
ð=ð =ð =ðMð Mð Mð
Fð Fð Fð
ð 
ð 
ð?ð ?ð ?ð;ð ;ð ;ðKð Kð Kð
Gð Gð Gð@ð @ð @ð<ð <ð <ðKð Kð Kð
 ÔÔ"ðDð Dñ #Ô"ðDð ÔÔ$ð
ð 
ñ %Ô$ð
ð ÔÔ"Ø€WÔØ	�,�,�,ÐØ	Ð Ð Ð Ð!Ø	Ð!Ð!Ð!Ð"Ø	�!�ˆØ	ˆsˆs�5�5˜˜B‘<”<Ñ Ô Ð!Ø	�#�#�e�e˜A˜r‘l”lÑ#Ô#Ð$Ø	�3�3‘5”5Ðñô ð5ð 5ñô ñ #Ô"ð5ð 5ð 5r7   rL  c                   óN   — e Zd ZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	dS )ÚComputedColumnTestT)Úcomputed_columnsc                 ó  — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          t          d¦  «        ¦  «        t          dt          t          d	¦  «        ¦  «        ¦  «         d S )
NÚsquarer,   Tr-   ÚsideÚareazside * sideÚ	perimeterz4 * side)r   r   r   r   r2   s     r5   r6   z ComputedColumnTest.define_tables]  sq   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�7Ñ#Ô#Ý�6�7¥H¨]Ñ$;Ô$;Ñ<Ô<Ý�;¥­°*Ñ)=Ô)=Ñ>Ô>ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óz   — |                      | j        j                             ¦   «         dddœdddœg¦  «         d S )Nr9   rà   )r,   r¢  é*   )r>   r?   r¡  r@   rA   s     r5   rC   zComputedColumnTest.insert_datah  sP   € à×ÒØŒJÔ×$Ò$Ñ&Ô&Ø˜rÐ"Ð"¨2°rÐ$:Ð$:Ð;ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó¢  — t           j                             ¦   «         5 }|                     t	          t          d¦  «        ¦  «                             | j        j        ¦  «         	                    | j        j        j
        j        ¦  «        ¦  «                             ¦   «         }t          |ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚ*)r9   rà   r0   r#  )rà   r¦  éä  é¨   )r   rG   rH   r>   r   r    rY  r?   r¡  rT   rU   r,   rI   r	   ©rK   rM   Úress      r5   Útest_select_allz"ComputedColumnTest.test_select_allo  sì   € ÝŒY×ÒÑ Ô ð 	> DØ—,’,Ý•t˜C‘y”yÑ!Ô!ß’˜Tœ[Ô/Ñ0Ô0ß’˜$œ+Ô,Ô.Ô1Ñ2Ô2ñô ÷ Šh‰jŒjð	 õ
 �Ð&Ð(;Ð<Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   ŸBCÃCÃCc                 óÚ  — t           j                             ¦   «         5 }|                     t	          | j        j        j        j        | j        j        j        j	        ¦  «         
                    | j        j        ¦  «                             | j        j        j        j        ¦  «        ¦  «                             ¦   «         }t          |ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r0   r#  )r©  rª  )r   rG   rH   r>   r   r?   r¡  rU   r£  r¤  rY  rT   r,   rI   r	   r«  s      r5   Útest_select_columnsz&ComputedColumnTest.test_select_columnsx  s  € ÝŒY×ÒÑ Ô ð 	/ DØ—,’,ÝØ”KÔ&Ô(Ô-¨t¬{Ô/AÔ/CÔ/Mñô ÷ ’˜Tœ[Ô/Ñ0Ô0ß’˜$œ+Ô,Ô.Ô1Ñ2Ô2ñô ÷ Šh‰jŒjð õ ��i Ð-Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ŸB4C Ã C$Ã'C$N)
rZ   r[   r\   r]   r¡   r^   r6   rC   r­  r¯  r`   r7   r5   rž  rž  Y  sp   € € € € € Ø€KØ(€Làð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð>ð >ð >ð	/ð 	/ð 	/ð 	/ð 	/r7   rž  c                   ó€   — e Zd ZdZdZdZdZed„ ¦   «         Zed„ ¦   «         Z	d„ Z
d„ Zej        j        d„ ¦   «         Zd	S )
ÚIdentityColumnTestT)Úidentity_columnsrM  c                 óV  — t          d|t          dt          t          dddd¬¦  «        d¬¦  «        t          dt	          d¦  «        ¦  «        ¦  «         t          d	|t          dt          t          d
ddd¬¦  «        d¬¦  «        t          dt	          d¦  «        ¦  «        ¦  «         d S )NÚtbl_ar,   Tr¦  )ÚalwaysÚstartÚ
nominvalueÚ
nomaxvaluer-   r‡   r0   Útbl_béûÿÿÿr   iüÿÿ)Ú	incrementr¶  ÚminvalueÚmaxvalue©r   r   r   r   r   r2   s     r5   r6   z IdentityColumnTest.define_tablesŠ  sÏ   € åØØÝØÝÝØ r°dÀtðñ ô ð !ðñ ô õ �6�6 #™;œ;Ñ'Ô'ñ	
ô 	
ð 	
õ 	ØØÝØÝÝ 2¨Q¸ÈÐKÑKÔKØ ð	ñ ô õ �6�6 #™;œ;Ñ'Ô'ñ
	
ô 
	
ð 
	
ð 
	
ð 
	
r7   c                 óR  — |                      | j        j                             ¦   «         ddiddig¦  «         |                      | j        j                             ¦   «         ddiddig¦  «         |                      | j        j                             ¦   «         dddœg¦  «         d S )Nr‡   rR  rS  r¦  rU   ©r,   r‡   )r>   r?   r´  r@   r¹  rA   s     r5   rC   zIdentityColumnTest.insert_data¥  sÂ   € à×ÒØŒJÔ×#Ò#Ñ%Ô%Ø�cˆ]˜V S˜MÐ*ñ	
ô 	
ð 	
ð 	×ÒØŒJÔ×#Ò#Ñ%Ô%Ø�cˆ]˜V S˜MÐ*ñ	
ô 	
ð 	
ð 	×ÒØŒJÔ×#Ò#Ñ%Ô%Ø Ð$Ð$Ð%ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ób  — |                      t          t          d¦  «        ¦  «                             | j        j        ¦  «                             | j        j        j        j        ¦  «        ¦  «         	                    ¦   «         }t          |ddg¦  «         |                      t          t          d¦  «        ¦  «                             | j        j        ¦  «                             | j        j        j        j        ¦  «        ¦  «         	                    ¦   «         }t          |g d¢¦  «         d S )Nr¨  )r¦  rR  )é+   rS  ))rº  rS  )r   rR  )r¦  rU   )r>   r   r    rY  r?   r´  rT   rU   r,   rI   r	   r¹  ©rK   rB   r¬  s      r5   r­  z"IdentityColumnTest.test_select_all´  sô   € Ø× Ò Ý•4˜‘9”9ÑÔßŠ[˜œÔ*Ñ+Ô+ßŠX�d”kÔ'Ô)Ô,Ñ-Ô-ñ
ô 
÷ Š(‰*Œ*ð	 	õ
 	ˆC�)˜YÐ'Ñ(Ô(Ð(à× Ò Ý•4˜‘9”9ÑÔßŠ[˜œÔ*Ñ+Ô+ßŠX�d”kÔ'Ô)Ô,Ñ-Ô-ñ
ô 
÷ Š(‰*Œ*ð	 	õ
 	ˆCÐ1Ð1Ð1Ñ2Ô2Ð2Ð2Ð2r7   c                 ó  — |                      t          | j        j        j        j        ¦  «                             | j        j        j        j        ¦  «        ¦  «                             ¦   «         }t          |ddg¦  «         d S )N)r¦  )rÂ  )	r>   r   r?   r´  rU   r,   rT   rI   r	   rÃ  s      r5   r¯  z&IdentityColumnTest.test_select_columnsÃ  sn   € Ø× Ò Ý�4”;Ô$Ô&Ô)Ñ*Ô*×3Ò3°D´KÔ4EÔ4GÔ4JÑKÔKñ
ô 
ç
Š(‰*Œ*ð 	õ 	ˆC�%˜�Ñ Ô Ð Ð Ð r7   c                 óN   ‡ ‡— ˆˆ fd„}t          t          t          f|¦  «         d S )Nc                  ót   •— ‰                       ‰j        j                             ¦   «         dddœg¦  «         d S )NéÈ   rR  rÀ  )r>   r?   r´  r@   )rB   rK   s   €€r5   Úfnz7IdentityColumnTest.test_insert_always_error.<locals>.fnË  sG   ø€ Ø×ÒØ”Ô!×(Ò(Ñ*Ô*Ø SÐ)Ð)Ð*ñô ð ð ð r7   )r   r&   r'   )rK   rB   rÈ  s   `` r5   Útest_insert_always_errorz+IdentityColumnTest.test_insert_always_errorÉ  s@   øø€ ð	ð 	ð 	ð 	ð 	ð 	õ 	•}Õ&6Ð7¸Ñ<Ô<Ð<Ð<Ð<r7   N)rZ   r[   r\   r]   r¡   rš  r›  r^   r6   rC   r­  r¯  r   rR   Úidentity_columns_standardrÉ  r`   r7   r5   r±  r±  „  sœ   € € € € € Ø€KØ(€LØ€KØ€Kàð
ð 
ñ „[ð
ð4 ð
ð 
ñ „[ð
ð3ð 3ð 3ð!ð !ð !ð ÔÔ/ð=ð =ñ 0Ô/ð=ð =ð =r7   r±  c                   ó2   — e Zd ZdZdZed„ ¦   «         Zd„ ZdS )ÚIdentityAutoincrementTestT)Úautoincrement_without_sequencec                 ó¦   — t          d|t          dt          t          ¦   «         dd¬¦  «        t          dt	          d¦  «        ¦  «        ¦  «         d S )NÚtblr,   T)r.   Úautoincrementr‡   r0   r¾  r2   s     r5   r6   z'IdentityAutoincrementTest.define_tablesØ  s^   € åØØÝØÝÝ‘
”
Ø Ø"ðñ ô õ �6�6 #™;œ;Ñ'Ô'ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó  — |                      | j        j                             ¦   «         ddi¦  «        }|                      | j        j                             ¦   «         ¦  «                             ¦   «         }t          |d¦  «         d S )Nr‡   Úrow)r9   rÒ  )r>   r?   rÏ  r@   r   rC  r	   rÃ  s      r5   Ú test_autoincrement_with_identityz:IdentityAutoincrementTest.test_autoincrement_with_identityç  sp   € Ø× Ò  ¤¤×!7Ò!7Ñ!9Ô!9¸FÀE¸?ÑKÔKˆØ× Ò  ¤¤×!7Ò!7Ñ!9Ô!9Ñ:Ô:×@Ò@ÑBÔBˆÝˆC�ÑÔÐÐÐr7   N)rZ   r[   r\   r]   r¡   r^   r6   rÓ  r`   r7   r5   rÌ  rÌ  Ô  sF   € € € € € Ø€KØ6€Làð
ð 
ñ „[ð
ðð ð ð ð r7   rÌ  c                   óJ   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ ZdS )Ú
ExistsTestTc                 óŠ   — t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        ¦  «         d S )NÚstuffr,   Tr-   r/   rg   r1   r2   s     r5   r6   zExistsTest.define_tablesð  sI   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&ñ		
ô 	
ð 	
ð 	
ð 	
r7   c           	      óŠ   — |                      | j        j                             ¦   «         dddœdddœdddœdddœg¦  «         d S )Nr9   ú	some datar;   r   r   rn   zsome other data)r>   r?   r×  r@   rA   s     r5   rC   zExistsTest.insert_dataù  sj   € à×ÒØŒJÔ×#Ò#Ñ%Ô%à +Ð.Ð.Ø +Ð.Ð.Ø +Ð.Ð.ØÐ"3Ð4Ð4ð	ñ	
ô 	
ð 	
ð 	
ð 	
r7   c           
      ó>  — | j         j        }t          |                     t	          t          d¦  «        ¦  «                             t          ¦   «                              |j        j	        dk    ¦  «        ¦  «        ¦  «         
                    ¦   «         dg¦  «         d S )Nr9   rÙ  ru   ©r?   r×  r	   r>   r   r   rH  r   rU   r/   rI   ©rK   rB   r×  s      r5   Útest_select_existszExistsTest.test_select_exists  sˆ   € Ø”Ô!ˆÝØ×ÒÝ•w˜q‘z”zÑ"Ô"×(Ò(Ý‘H”H—N’N 5¤7¤<°;Ò#>Ñ?Ô?ñô ñô ÷ Šh‰jŒjØˆFñ	
ô 	
ð 	
ð 	
ð 	
r7   c           
      ó<  — | j         j        }t          |                     t	          t          d¦  «        ¦  «                             t          ¦   «                              |j        j	        dk    ¦  «        ¦  «        ¦  «         
                    ¦   «         g ¦  «         d S )Nr9   zno datarÛ  rÜ  s      r5   Útest_select_exists_falsez#ExistsTest.test_select_exists_false  s†   € Ø”Ô!ˆÝØ×ÒÝ•w˜q‘z”zÑ"Ô"×(Ò(Ý‘H”H—N’N 5¤7¤<°9Ò#<Ñ=Ô=ñô ñô ÷ Šh‰jŒjØñ	
ô 	
ð 	
ð 	
ð 	
r7   N)	rZ   r[   r\   r]   r^   r6   rC   rÝ  rß  r`   r7   r5   rÕ  rÕ  í  sk   € € € € € Ø€Kàð
ð 
ñ „[ð
ð ð	
ð 	
ñ „[ð	
ð	
ð 	
ð 	
ð	
ð 	
ð 	
ð 	
ð 	
r7   rÕ  c                   óX   — e Zd ZdZ ej        ej        j        ¦  «        d„ ¦   «         ZdS )ÚDistinctOnTestTc                 ó*  — t          d¦  «                             t          d¦  «        ¦  «                             t	          d¦  «        ¦  «        }t          j        d¦  «        5  |                      |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¨  rf   r@  z:DISTINCT ON is currently supported only by the PostgreSQL zSELECT DISTINCT * FROM foo)r   rƒ  r   rY  r   r   Úexpect_deprecatedrž  )rK   Ústms     r5   Útest_distinct_onzDistinctOnTest.test_distinct_on  sÜ   € å�S‰kŒk×"Ò"¥6¨#¡;¤;Ñ/Ô/×;Ò;½EÀ%¹L¼LÑIÔIˆÝÔ&ØHñ
ô 
ð 	Cð 	Cð ×Ò Ð%AÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cs   Á$BÂBÂBN)	rZ   r[   r\   r]   r   Úfails_ifrR   Úsupports_distinct_onrå  r`   r7   r5   rá  rá    sK   € € € € € Ø€Kà€WÔ�gÔ&Ô;Ñ<Ô<ðCð Cñ =Ô<ðCð Cð Cr7   rá  c            	       ól   — e Zd ZdZdZed„ ¦   «         Z ej        dddddd	d
¬¦  «        d„ ¦   «         Z	dS )ÚIsOrIsNotDistinctFromTestT)Úsupports_is_distinct_fromc                 óª   — t          d|t          dt          d¬¦  «        t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «         d S )NÚis_distinct_testr,   Tr-   Úcol_ar:  Úcol_br¦   r2   s     r5   r6   z'IsOrIsNotDistinctFromTest.define_tables,  sZ   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�7�G¨dÐ3Ñ3Ô3Ý�7�G¨dÐ3Ñ3Ô3ñ	
ô 	
ð 	
ð 	
ð 	
r7   )Úboth_int_differentr   r9   r9   )Úboth_int_samer9   r9   r   )Úone_null_firstNr9   r9   )Úone_null_secondr   Nr9   )Ú	both_nullNNr   Úiaaaz3col_a_value, col_b_value, expected_row_count_for_is)Úid_rÔ   c                 óÌ  — | j         j        }|                     |                     ¦   «         d||dœg¦  «         |                     |                     ¦   «                              |j        j                             |j        j	        ¦  «        ¦  «        ¦  «         
                    ¦   «         }t          t          |¦  «        |¦  «         |dk    rdnd}|                     |                     ¦   «                              |j        j                             |j        j	        ¦  «        ¦  «        ¦  «         
                    ¦   «         }t          t          |¦  «        |¦  «         d S )Nr9   )r,   rí  rî  r   )r?   rì  r>   r@   r   rH  rU   rí  Úis_distinct_fromrî  rI   r	   r¬   Úis_not_distinct_from)rK   Úcol_a_valueÚcol_b_valueÚexpected_row_count_for_isrB   rÏ  rL   Úexpected_row_count_for_is_nots           r5   Útest_is_or_is_not_distinct_fromz9IsOrIsNotDistinctFromTest.test_is_or_is_not_distinct_from6  sG  € ð ŒkÔ*ˆà×ÒØ�JŠJ‰LŒLØ °kÐBÐBÐCñ	
ô 	
ð 	
ð
 ×#Ò#Ø�JŠJ‰LŒL×Ò˜sœuœ{×;Ò;¸C¼E¼KÑHÔHÑIÔIñ
ô 
ç
Š(‰*Œ*ð 	õ 	Ý�‰KŒKØ%ñ	
ô 	
ð 	
ð +¨aÒ/Ð/ˆAˆA°Qð 	&ð ×#Ò#Ø�JŠJ‰LŒL×Ò˜sœuœ{×?Ò?ÀÄÄÑLÔLÑMÔMñ
ô 
ç
Š(‰*Œ*ð 	õ 	Ý�‰KŒKØ)ñ	
ô 	
ð 	
ð 	
ð 	
r7   N)
rZ   r[   r\   r]   r¡   r^   r6   r   r,  rý  r`   r7   r5   ré  ré  (  s~   € € € € € Ø€KØ1€Làð
ð 
ñ „[ð
ð €WÔØ'Ø"Ø&Ø'Ø$ØØFðñ ô ð
ð 
ñô ð
ð 
ð 
r7   ré  )>Úcollections.abcr–  r  rc  r´  r   r   r   r   Ú
assertionsr   r	   r
   Ú	assertsqlr   r8  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)   rb   ÚTestBaser–   r£   r5  rN  rn  r�  r¼  rL  rž  r±  rÌ  rÕ  rá  ré  r`   r7   r5   ú<module>r     sê  ðð *Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø #Ð #Ð #Ð #Ð #Ð #ð#
ð #
ð #
ð #
ð #
�(Ô%ñ #
ô #
ð #
ðLJ<ð J<ð J<ð J<ð J<�xÔ*ñ J<ô J<ð J<ðZ
ð 
ð 
ð 
ð 
˜8Ô,ñ 
ô 
ð 
ð D8ð D8ð D8ð D8ð D8˜8Ô.ñ D8ô D8ð D8ðN`
ð `
ð `
ð `
ð `
˜xÔ2ñ `
ô `
ð `
ðFaPð aPð aPð aPð aPˆxÔ"ñ aPô aPð aPðHt
ð t
ð t
ð t
ð t
˜Ô,ñ t
ô t
ð t
ðnN
ð N
ð N
ð N
ð N
ØÐ/°Ô1DñN
ô N
ð N
ðbJ@ð J@ð J@ð J@ð J@˜8Ô.ñ J@ô J@ð J@ðZE5ð E5ð E5ð E5ð E5˜Ô+ñ E5ô E5ð E5ðP(/ð (/ð (/ð (/ð (/˜Ô,ñ (/ô (/ð (/ðVM=ð M=ð M=ð M=ð M=˜Ô,ñ M=ô M=ð M=ð`ð ð ð ð  Ô 3ñ ô ð ð2,
ð ,
ð ,
ð ,
ð ,
�Ô$ñ ,
ô ,
ð ,
ð^	Cð 	Cð 	Cð 	Cð 	CÐ'¨Ô)<ñ 	Cô 	Cð 	Cð2
ð 2
ð 2
ð 2
ð 2
 Ô 3ñ 2
ô 2
ð 2
ð 2
ð 2
r7   