§
    eŠtj.ó  ã                   óp  — 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= G dG„ dHej,        ¦  «        Z> G dI„ dJej,        ¦  «        Z?dS )Ké    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     úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_select.pyÚdefine_tableszCollateTest.define_tables4   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_data=   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_resultG   óŸ   € ÝŒ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_byK   s�   € åÔ$×;Ò;½G¼NÑKÔKˆ	à×ÒÝ�4”;Ô)Ñ*Ô*×3Ò3Ø”Ô&Ô(Ô-×5Ò5°iÑ@Ô@×DÒDÑFÔFñô ð "Ð#7Ð8ñ		
ô 	
ð 	
ð 	
ð 	
r7   N)Ú__name__Ú
__module__Ú__qualname__Ú__sparse_driver_backend__Úclassmethodr6   rC   rN   r   rR   Úorder_by_collationrY   © r7   r5   r)   r)   1   s   € € € € € Ø $Ðàð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð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_tablesb   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_datan   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_resulty   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_plain}   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   W   sâ   € € € € € ðð ð !%Ðàð	
ð 	
ñ „[ð	
ð ð
ð 
ñ „[ð
ð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à $Ðð
ð 
ð 
ð 
ð 
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                 ó   — | j         j        }t          |j        j        ¦  «                             |j        j        ¦  «                             d¦  «                             ¦   «         }t          t          |¦  «        t          |¦  «        ¦  «         	                    ¦   «                              ¦   «         }|  
                    ||dg¦  «         d S )Nr9   ru   )r?   r+   r   rU   r,   rT   r¼   Úscalar_subqueryr$   ÚsubqueryrN   )rK   rB   r   r‘   Úus        r5   Ú test_limit_render_multiple_timesz5FetchLimitOffsetTest.test_limit_render_multiple_timesë   s±   € Ø”Ô&ˆå�5”7”:ÑÔ×'Ò'¨¬¬
Ñ3Ô3×9Ò9¸!Ñ<Ô<×LÒLÑNÔNð 	õ •&˜‘,”,¥ 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_order;  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_zeroE  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_nobindsT  óœ   € ð ”Ô&ˆÝ�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_nobindsa  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_limitn  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_offset  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_number5  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_percentK  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_percentT  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_tiesa  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_tiesn  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\   Ú__backend__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,   r;  )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   r;  r,   Úfirst©rK   rB   r+   rA  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   rD  rU   r;  r,   ÚwhererE  rF  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   rC  )r?   r   r>  r   rD  rU   r;  r,   rJ  rÀ   r	   r>   rE  )rK   rB   r+   rA  Ú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   rG  rK  rN  r`   r7   r5   r7  r7  }  s‰   € € € € € ØÐà $Ðà€Làð
ð 
ñ „[ð
ð& ðOð Oñ „[ðOð
ð 
ð 
ð 
ð 
ð 
ð$
ð 
ð 
ð 
ð 
r7   r7  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,   rV  )r>   r?   rT  r@   rU  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 ©NrT  rU  )rC  )r9   r   r9   )r   rn   r   )r   r}   r   ©r?   r   Úselect_fromÚjoinrT   rU   r,   rN   ©rK   rT  rU  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 )NrT  rU  c                 ó(   — g | ]\  \  }\  }}|||f‘ŒS r`   r`   )Ú.0rT  rU  rU   s       r5   ú
<listcomp>z1JoinTest.test_inner_join_true.<locals>.<listcomp>  s8   € ð ð ð á ‘D�Q™&˜1˜að �A�q�	ðð ð r7   )ru   rv   rw   ©rn   r|   )rI  rÐ   )rn   r   )r}   r   )r?   r   r[  r\  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 )NrT  rU  )	r?   r   r[  r\  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 )NrT  rU  ))r9   NN)r   NN)r   NN)rn   NN)r}   NN)	r?   r   r[  Ú	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 rY  rZ  r]  s       r5   Útest_outer_join_fkzJoinTest.test_outer_join_fk<  r_  r7   Nr+  )rZ   r[   r\   r]   rN   r^   r6   rC   r^  rg  ri  rl  rn  r`   r7   r5   rP  rP  à  s»   € € € € € Ø $ÐðAð Að Að Að ð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð Pð Pð Pð
ð 
ð 
ð(	&ð 	&ð 	&ð
ð 
ð 
ð(Pð Pð Pð Pð Pr7   rP  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_tablesG  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_dataQ  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_result]  rR  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   rJ  rU   r,   r$   rN   rT   Úselected_columns©rK   r   Ús1Ús2Úu1s        r5   Útest_plain_unionz#CompoundSelectTest.test_plain_uniona  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 ru  )r?   r+   r   rJ  rU   r,   r$   ÚaliasrN   rT   rv  rw  s        r5   Útest_select_from_plain_unionz/CompoundSelectTest.test_select_from_plain_unionk  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   rJ  rU   r,   r¼   rT   r$   rN   rv  rw  s        r5   Ú&test_limit_offset_selectable_in_unionsz9CompoundSelectTest.test_limit_offset_selectable_in_unionsu  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 ru  )r?   r+   r   rJ  rU   r,   rT   r$   r¼   rN   rv  rw  s        r5   Ú"test_order_by_selectable_in_unionsz5CompoundSelectTest.test_order_by_selectable_in_unions�  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 ru  )r?   r+   r   rJ  rU   r,   Údistinctr$   r¼   rN   rT   rv  rw  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   rJ  rU   r,   r¼   rT   r$   r}  rN   rw  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   rJ  rU   r,   r¼   rT   r}  r$   rN   rv  rw  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   r{  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   rp  rp  D  s  € € € € € Ø $Ðàð
ð 
ñ „[ð
ð ð	
ð 	
ñ „[ð	
ðAð Að Að Að
ð 
ð 
ð
ð 
ð 
ð ÔÔ-ØÔÔEð
ð 
ñ FÔEñ .Ô-ð
ð ÔÔFð
ð 
ñ GÔFð
ð
ð 
ð 
ð ÔÔEð	
ð 	
ñ FÔEð	
ð
ð 
ð 
ð 
ð 
r7   rp  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,   rJ  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,   rJ  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,   rJ  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,   rJ  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,   rJ  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_execute3  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_tablesO  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_dataZ  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_resultf  rR  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,   rJ  rd   r
   r   re   rT   rN   r¡  s      r5   Ú"test_multiple_empty_sets_bindparamz7ExpandingBoundInTest.test_multiple_empty_sets_bindparamj  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,   rJ  rd   r
   re   rT   rN   r¡  s      r5   Útest_multiple_empty_sets_directz4ExpandingBoundInTest.test_multiple_empty_sets_directv  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,   rJ  r"   rd   r“  r
   r   rT   rN   r¡  s      r5   Ú)test_empty_heterogeneous_tuples_bindparamz>ExpandingBoundInTest.test_empty_heterogeneous_tuples_bindparam‚  ó‹   € à”Ô&ˆå�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,   rJ  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   rd  ©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,   rJ  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,   rJ  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,   rJ  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,   rJ  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,   rJ  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,   rJ  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,   rJ  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_bindparam4  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__D  ó   € Ø!�”
�
�
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__G  ó   € Ý˜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__J  ó   € Ø”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__M  ó   € Ý˜4œ:‘”Ð&r7   N©rZ   r[   r\   r
  r  r  r  r`   r7   r5   Ú
LikeATupler  C  ó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_tupleA  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__i  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__l  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__o  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__r  r  r7   Nr  r`   r7   r5   r  r$  h  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_tuplec  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   rd  rö   )r?   r+   r   rU   r,   rJ  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 ©Nr2  )
r?   r+   r   rU   r,   rJ  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,   rJ  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,   rJ  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 r1  )r?   r+   r   rU   r,   rJ  r“  rç  r   rT   rN   r¡  s      r5   Ú0test_empty_set_against_string_negation_bindparamzEExpandingBoundInTest.test_empty_set_against_string_negation_bindparam°  r4  r7   c                 ó  — | j         j        }t          |j        j        ¦  «                             |j        j                             g ¦  «        ¦  «                             |j        j        ¦  «        }|  	                    |g d¢¦  «         d S r6  )
r?   r+   r   rU   r,   rJ  r“  rç  rT   rN   r¡  s      r5   Ú-test_empty_set_against_string_negation_directzBExpandingBoundInTest.test_empty_set_against_string_negation_direct¹  r8  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 )NrD  r   rF  )r   r   r   r
   r!   r   r>   rG  rH  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.  r3  r7  r:  r<  r>  r@  rI  rK  r`   r7   r5   r¾  r¾  L  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
ej        j        d„ ¦   «         Zd	„ Zej        j        d
„ ¦   «         Zej        j        d„ ¦   «         Zd„ Zd„ Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        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         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`   )rb  rC  s     r5   ú	<setcomp>z*LikeFunctionsTest._test.<locals>.<setcomp>ÿ  s*   € ð ð ð á�Eð ðð ð r7   )r?   r+   r   rG   rH   r>   r   rU   r,   rJ  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   rT  rV  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   ra  rc  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]  rb  r   rc  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   ra  rc  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_  Trm  ©rh  ro  r   zab#cr   ra  rc  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   rT  rV  ©r?   r+   rU   r/   r]  Úendswithrc  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'rv  )r?   r+   rU   r/   r]  rx  r   rc  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 )Nru  Trg  rª   rw  rc  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##fgrm  rn  rV  rw  rc  s     r5   Útest_endswith_escapez&LikeFunctionsTest.test_endswith_escape0  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 )Nru  Trm  rr  rª   ze#fgrV  rw  rc  s     r5   Útest_endswith_autoescape_escapez1LikeFunctionsTest.test_endswith_autoescape_escape5  ó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%cderv  ©r?   r+   rU   r/   r]  Úcontainsrc  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„  Trg  r   r…  rc  s     r5   Útest_contains_autoescapez*LikeFunctionsTest.test_contains_autoescape?  s>   € àŒkÔ$Ô&Ô+ˆØ�
Š
�3—<’< °D�<Ñ9Ô9¸A¸3Ñ?Ô?Ð?Ð?Ð?r7   c                 óŠ   — | j         j        j        j        }|                      |                     dd¬¦  «        dh¦  «         d S )Nzb##cderm  rn  r   r…  rc  s     r5   Útest_contains_escapez&LikeFunctionsTest.test_contains_escapeD  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%cdTrm  rr  r   zb#cdr   r…  rc  s     r5   Útest_contains_autoescape_escapez1LikeFunctionsTest.test_contains_autoescape_escapeI  r‚  r7   c                 óŠ   — | j         j        j        j        }|                      |                     d¦  «         h d£¦  «         d S )Núa.cde>   r   r   rn   r   rT  rá   ©r?   r+   rU   r/   r]  Úregexp_matchrc  s     r5   Útest_not_regexp_matchz'LikeFunctionsTest.test_not_regexp_matchO  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ª   rV  )r?   r+   rU   r/   r]  Úregexp_replacer†  rc  s     r5   Útest_regexp_replacez%LikeFunctionsTest.test_regexp_replaceT  sY   € àŒkÔ$Ô&Ô+ˆØ�
Š
Ø×Ò˜w¨Ñ.Ô.×7Ò7¸Ñ>Ô>ÀÀÀñ	
ô 	
ð 	
ð 	
ð 	
r7   r�  r•  Úabc>   r9   r}   rª   rV  rá   z^abcÚ9cderT  z^ar9   rX  z(b|c)z^(b|c)c                 ó„   — | j         j        j        j        }|                      |                     |¦  «        |¦  «         d S rE   r�  )rK   r    rÛ   rd  s       r5   Útest_regexp_matchz#LikeFunctionsTest.test_regexp_match[  s<   € ð ŒkÔ$Ô&Ô+ˆØ�
Š
�3×#Ò# DÑ)Ô)¨8Ñ4Ô4Ð4Ð4Ð4r7   )#rZ   r[   r\   r]   Úrun_insertsÚrun_deletesr^   r6   rC   r]  re  r   rR   Úlike_escapesri  rk  rp  rs  ry  r{  r}  r  r�  r‡  r‰  r‹  r�  r‘  r’  r–  r—  r.  r­   Úranger›  r`   r7   r5   rN  rN  Ù  sú  € € € € € Ø $Ðà€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   rN  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_tablesn  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_datay  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    r[  r?   r¤  rT   rU   r,   rI   r	   ©rK   rM   Úress      r5   Útest_select_allz"ComputedColumnTest.test_select_all€  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§  r[  rT   r,   rI   r	   r®  s      r5   Útest_select_columnsz&ComputedColumnTest.test_select_columns‰  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¡  j  sq   € € € € € Ø $ÐØ(€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_columnsrO  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‡   rT  rU  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©  rT  )é+   rU  ))r½  rU  )r   rT  )r©  rU   )r>   r   r    r[  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éÈ   rT  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   rE  r	   rÆ  s      r5   Ú test_autoincrement_with_identityz:IdentityAutoincrementTest.test_autoincrement_with_identityø  sq   € Ø×Ò˜4œ;œ?×1Ò1Ñ3Ô3°f¸e°_ÑEÔEÐEØ× Ò  ¤¤×!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   rJ  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Ø  þ  sl   € € € € € Ø $Ðàð
ð 
ñ „[ð
ð ð	
ð 	
ñ „[ð	
ð	
ð 	
ð 	
ð	
ð 	
ð 	
ð 	
ð 	
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   rB  z:DISTINCT ON is currently supported only by the PostgreSQL zSELECT DISTINCT * FROM foo)r   r…  r   r[  r   r   Úexpect_deprecatedr   )rK   Ústms     r5   Útest_distinct_onzDistinctOnTest.test_distinct_on0  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ä  -  sL   € € € € € Ø $Ðà€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   rJ  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_fromG  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ì  9  s   € € € € € Ø $ÐØ1€Làð
ð 
ñ „[ð
ð €WÔØ'Ø"Ø&Ø'Ø$ØØFðñ ô ð
ð 
ñô ð
ð 
ð 
r7   rì  c                   óN   — e Zd ZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	dS )ÚWindowFunctionTest)Úwindow_functionsTc           
      ó¢   — t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        ¦  «         d S )Nr+   r,   Tr-   Úcol1Úcol2r¦   r2   s     r5   r6   z WindowFunctionTest.define_tabless  sP   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�7Ñ#Ô#Ý�6�7Ñ#Ô#ñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 óš   — |                      | j        j                             ¦   «         d„ t	          dd¦  «        D ¦   «         ¦  «         d S )Nc                 ó    — g | ]}|||d z  dœ‘ŒS )r}   )r,   r  r  r`   ©rb  Úis     r5   rc  z2WindowFunctionTest.insert_data.<locals>.<listcomp>�  s&   € ÐGÐGÐG°Q�A˜q¨!¨a©%Ð0Ð0ÐGÐGÐGr7   r9   rg   )r>   r?   r+   r@   rŸ  rA   s     r5   rC   zWindowFunctionTest.insert_data}  sQ   € à×ÒØŒJÔ!×(Ò(Ñ*Ô*ØGÐG½%ÀÀ2¹,¼,ÐGÑGÔGñ	
ô 	
ð 	
ð 	
ð 	
r7   c                 ó°  — | j         j        }|                     t          t	          j        |j        j        ¦  «                             |j        j	         
                    ¦   «         g¬¦  «        ¦  «                             |j        j	        dk     ¦  «        ¦  «                             ¦   «         }t          |d„ t          d¦  «        D ¦   «         ¦  «         d S )N)rT   r  c                 ó   — g | ]}d ‘ŒS ))é_   r`   r	  s     r5   rc  z2WindowFunctionTest.test_window.<locals>.<listcomp>Ž  s   € Ð,Ð,Ð,˜Q�5Ð,Ð,Ð,r7   é   )r?   r+   r>   r   r   ÚmaxrU   r  Úoverr  r‡   rJ  rž   r	   rŸ  ©rK   rB   r+   r\  s       r5   Útest_windowzWindowFunctionTest.test_window„  sÀ   € Ø”[Ô+ˆ
Ø×!Ò!ÝÝ”˜œÔ*Ñ+Ô+×0Ò0Ø(œlÔ/×4Ò4Ñ6Ô6Ð7ð 1ñ ô ñô ÷ Še�J”LÔ%¨Ò*Ñ+Ô+ñ
ô 
÷ Š#‰%Œ%ð 	õ 	ˆDÐ,Ð,¥%¨¡)¤)Ð,Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-r7   c           	      óP  — | j         j        }|                     t          t	          j        |j        j        ¦  «                             |j        j	        gd¬¦  «        ¦  «        ¦  «         
                    ¦   «         }t          |d„ t          ddd¦  «        D ¦   «         ¦  «         d S )N)r½  r   )rT   r\  c                 ó   — g | ]}|f‘ŒS r`   r`   r	  s     r5   rc  z?WindowFunctionTest.test_window_rows_between.<locals>.<listcomp>ž  s   € Ð2Ð2Ð2˜A�A�4Ð2Ð2Ð2r7   r}   éú   )r?   r+   r>   r   r   r  rU   r  r  r  rž   r	   rŸ  r  s       r5   Útest_window_rows_betweenz+WindowFunctionTest.test_window_rows_between�  s¦   € Ø”[Ô+ˆ
ð ×!Ò!ÝÝ”˜œÔ*Ñ+Ô+×0Ò0Ø(œlÔ/Ð0Ø ð 1ñ ô ñô ñ
ô 
÷ Š#‰%Œ%ð 	õ 	ˆDÐ2Ð2¥ q¨#¨qÑ!1Ô!1Ð2Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3r7   N)
rZ   r[   r\   r¡   r]   r^   r6   rC   r  r  r`   r7   r5   r  r  n  sq   € € € € € Ø(€Là $Ðàð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð
.ð 
.ð 
.ð4ð 4ð 4ð 4ð 4r7   r  c                   ó  — e Zd ZdZdxZZd„  ed¦  «        D ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
 ej        d„ d„  ed¦  «        D ¦   «         ej        j        fd	„  e ed¦  «        ¦  «        ej        j        fd
„  e edd¦  «        ¦  «        ej        j        fd„ dgej        j        fd„  e edd¦  «        ¦  «        ej        j        fd„  e edd¦  «        ¦  «        ej        j        fd¬¦  «        d„ ¦   «         ZdS )ÚBitwiseTestTrO  c                 ó   — g | ]
}||d z   dœ‘ŒS )r9   )rT  rU  r`   r	  s     r5   rc  zBitwiseTest.<listcomp>¥  s$   € Ð=Ð=Ð=¨a˜1 1 q¡5Ð)Ð)Ð=Ð=Ð=r7   rá   c           	      óv   — t          d|t          dt          ¦  «        t          dt          ¦  «        ¦  «         d S )NÚbitwiserT  rU  r¦   r2   s     r5   r6   zBitwiseTest.define_tables§  s0   € åˆi˜¥6¨#­wÑ#7Ô#7½ÀÅWÑ9MÔ9MÑNÔNÐNÐNÐNr7   c                 ót   — |                      | j        j                             ¦   «         | j        ¦  «         d S rE   )r>   r?   r  r@   Úinserted_datarA   s     r5   rC   zBitwiseTest.insert_data«  s2   € à×Ò˜3œ:Ô-×4Ò4Ñ6Ô6¸Ô8IÑJÔJÐJÐJÐJr7   c                 ó,   — |                       d¦  «        S )Nr}   )Úbitwise_xor©rT  s    r5   ú<lambda>zBitwiseTest.<lambda>±  ó   € �a—m’m AÑ&Ô&€ r7   c                 ó   — g | ]
}|d k    ¯|‘ŒS r|   r`   r	  s     r5   rc  zBitwiseTest.<listcomp>²  s   € Ð,Ð,Ð,�1 Q¨!¢V VˆQ V V Vr7   c                 ó,   — |                       d¦  «        S ©Nr9   )Ú
bitwise_orr   s    r5   r!  zBitwiseTest.<lambda>¶  s   € �a—l’l 1‘o”o€ r7   c                 ó,   — |                       d¦  «        S )Nrn   )Úbitwise_andr   s    r5   r!  zBitwiseTest.<lambda>»  r"  r7   rn   rT  c                 ó0   — | dz
                        ¦   «         S ©Nr   )Úbitwise_notr   s    r5   r!  zBitwiseTest.<lambda>À  s   € �q˜1‘u×)Ò)Ñ+Ô+€ r7   r   c                 ó,   — |                       d¦  «        S r%  )Úbitwise_lshiftr   s    r5   r!  zBitwiseTest.<lambda>Å  ó   € �a×&Ò& qÑ)Ô)€ r7   r9   c                 ó,   — |                       d¦  «        S r*  )Úbitwise_rshiftr   s    r5   r!  zBitwiseTest.<lambda>Ê  r.  r7   zcase, expectedrÔ   c                 ó€  ‡ — ‰ j         j        }|j        j        }t	          j        ||¬¦  «        }t          |¦  «                             |dk    ¦  «                             |¦  «        }| 	                    |¦  «         
                    ¦   «                              ¦   «         }t          |ˆ fd„|D ¦   «         ¦  «         d S )Nr   r   c                 ó*   •— g | ]}‰j         |         ‘ŒS r`   )r  )rb  r
  rK   s     €r5   rc  z,BitwiseTest.test_bitwise.<locals>.<listcomp>Ú  s!   ø€ Ð:Ð:Ð:¨A�$Ô$ QÔ'Ð:Ð:Ð:r7   )r?   r  rU   rT  r   Úresolve_lambdar   rJ  rT   r>   Úmappingsrž   r	   )	rK   r   rÛ   rB   rÒ  rT  Úopr‘   r¯  s	   `        r5   Útest_bitwisezBitwiseTest.test_bitwise¯  s¯   ø€ ðD ŒkÔ!ˆàŒEŒGˆåÔ# D¨AÐ.Ñ.Ô.ˆå�c‰{Œ{× Ò   a¢Ñ(Ô(×1Ò1°!Ñ4Ô4ˆà× Ò  Ñ&Ô&×/Ò/Ñ1Ô1×5Ò5Ñ7Ô7ˆÝˆCÐ:Ð:Ð:Ð:°Ð:Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r7   N)rZ   r[   r\   r,  rœ  r�  rŸ  r  r^   r6   rC   r   r.  rR   Úsupports_bitwise_xorÚlistÚsupports_bitwise_orÚsupports_bitwise_andÚsupports_bitwise_notÚsupports_bitwise_shiftr6  r`   r7   r5   r  r  ¡  sª  € € € € € Ø€KØ &Ð&€K�+à=Ð=°5°5¸±9´9Ð=Ñ=Ô=€MàðOð Oñ „[ðOð ðKð Kñ „[ðKð €WÔà&Ð&Ø,Ð,˜˜˜b™	œ	Ð,Ñ,Ô,ØÔÔ1ð	
ð &Ð%ØˆD���r‘”‰OŒOØÔÔ0ð	
ð 'Ð&ØˆD���q˜!‘”ÑÔØÔÔ1ð	
ð ,Ð+ØˆCØÔÔ1ð	
ð *Ð)ØˆD���q˜"‘”ÑÔØÔÔ3ð	
ð *Ð)ØˆD���q˜"‘”ÑÔØÔÔ3ð	
ð
 "ð? ñ  ô  ðB
<ð 
<ñC ô  ðB
<ð 
<ð 
<r7   r  )@Úcollections.abcr˜  r  re  r¶  r   r   r   r   Ú
assertionsr   r	   r
   Ú	assertsqlr   r:  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   Úexcr&   r'   Ú
TablesTestr)   rb   ÚTestBaser–   r£   r7  rP  rp  r�  r¾  rN  r¡  r´  rÏ  rØ  rä  rì  r  r  r`   r7   r5   ú<module>rC     sF  ðð *Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø #Ð #Ð #Ð #Ð #Ð #ð#
ð #
ð #
ð #
ð #
�(Ô%ñ #
ô #
ð #
ðLJ<ð J<ð J<ð J<ð J<�xÔ*ñ J<ô J<ð J<ðZ
ð 
ð 
ð 
ð 
˜8Ô,ñ 
ô 
ð 
ð F8ð F8ð F8ð F8ð F8˜8Ô.ñ F8ô F8ð F8ðR`
ð `
ð `
ð `
ð `
˜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N5ð N5ð N5ð N5ð N5˜Ô+ñ N5ô N5ð N5ðb(/ð (/ð (/ð (/ð (/˜Ô,ñ (/ô (/ð (/ð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
ðj04ð 04ð 04ð 04ð 04˜Ô,ñ 04ô 04ð 04ðf9<ð 9<ð 9<ð 9<ð 9<�(Ô%ñ 9<ô 9<ð 9<ð 9<ð 9<r7   