§
    eŠtjýÔ ã                   óø  — d dl Z d dlZd dl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/ dd'lm0Z0 dd(lm1Z1 dd)lm2Z2 dd*lm3Z3 dd+lm4Z4 d,\  Z5Z6 G d-„ d.ej7        ¦  «        Z8 G d/„ d0e8¦  «        Z9 G d1„ d2ej7        ¦  «        Z: G d3„ d4ej;        ¦  «        Z< G d5„ d6ej;        ¦  «        Z= G d7„ d8ej7        ¦  «        Z>d9„ Z? G d:„ d;e0e8¦  «        Z@ G d<„ d=ej;        ¦  «        ZA G d>„ d?e/ej;        ¦  «        ZB G d@„ dAej7        ¦  «        ZC G dB„ dCejD        ¦  «        ZE G dD„ dEej7        ¦  «        ZF G dF„ dGej7        ¦  «        ZGdHZHdS )Ié    Né   )Úconfig)Úengines)Úeq_)Úeq_regex)Úexpect_raises)Úexpect_raises_message)Úexpect_warnings)Úfixtures)Úis_)Úget_temp_table_name)Útemp_table_keyword_args©ÚColumn)ÚTableé   )ÚBoolean)ÚDateTime)Úevent)Ú
ForeignKey)Úfunc)ÚIdentity)Úinspect)ÚInteger)ÚMetaData)ÚString)Útesting)Útypes)Ú	Inspector)Ú
ObjectKind)ÚObjectScope)ÚNoSuchTableError)ÚUnreflectableTableError)ÚDDL)ÚIndex)Úquoted_name)ÚBLANK_SCHEMA)ÚComparesIndexes)ÚComparesTables)Úis_false)Úis_none)Úis_true)Úmock©NNc                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚOneConnectionTablesTestc                 ó¤   — t           j        j        j        r/ddlm} t          j        t          |j	        d¬¦  «        ¬¦  «        S t           j
        S )Nr   )ÚpoolÚclass)Ú	poolclassÚscope)Úoptions)r   ÚrequirementsÚindependent_connectionsÚenabledÚ
sqlalchemyr2   r   Útesting_engineÚdictÚ
StaticPoolÚdb)Úclsr2   s     úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_reflection.pyÚ
setup_bindz"OneConnectionTablesTest.setup_bind;   s]   € õ
 ÔÔ6Ô>ð 	Ø'Ð'Ð'Ð'Ð'Ð'åÔ)Ý t¤¸gÐFÑFÔFðñ ô ð õ ”9Ðó    N)Ú__name__Ú
__module__Ú__qualname__ÚclassmethodrA   © rB   r@   r0   r0   :   s-   € € € € € Øðð ñ „[ðð ð rB   r0   c                   óâ  — e Zd ZdZdZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Ze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        ej        j        ej        j        d„ ¦   «         ¦   «         ¦   «         Zej        j        ej        j        d„ ¦   «         ¦   «         ZdS )ÚHasTableTestTNc                 óø  — t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        ¦  «         t          j        j        j        rNt          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        t          j	        ¬¦  «         t          j        j
        r|                      |¦  «         t          j        j        j        r|                      |¦  «         d S d S )	NÚ
test_tableÚidT©Úprimary_keyÚdataé2   Útest_table_s©Úschema)r   r   r   r   r   ÚrequiresÚschemasr9   r   Útest_schemaÚview_reflectionÚdefine_viewsÚhas_temp_tableÚdefine_temp_tables©r?   Úmetadatas     r@   Údefine_tableszHasTableTest.define_tablesO   só   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&ñ		
ô 	
ð 	
õ ÔÔ#Ô+ð 	ÝØØÝ�t�W°$Ð7Ñ7Ô7Ý�v�v b™zœzÑ*Ô*ÝÔ)ðñ ô ð õ ÔÔ+ð 	'Ø×Ò˜XÑ&Ô&Ð&ÝÔÔ*Ô2ð 	-Ø×"Ò" 8Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-rB   c                 ó¦  — d}t          j        |dt          |¦  «        ¦  «         t          j        |dt          d¦  «        ¦  «         t          j        j        j        rrdt          j        ›dt          j        ›d�}t          j        |dt          |¦  «        ¦  «         t          j        |dt          dt          j        z  ¦  «        ¦  «         d S d S )	Nz1CREATE VIEW vv AS SELECT id, data FROM test_tableÚafter_createÚbefore_dropzDROP VIEW vvúCREATE VIEW z.vv AS SELECT id, data FROM z.test_table_szDROP VIEW %s.vv)	r   Úlistenr$   r   rT   rU   r9   r   rV   )r?   r\   Úquerys      r@   rX   zHasTableTest.define_viewse   sÕ   € àCˆåŒ�X˜~­s°5©z¬zÑ:Ô:Ð:ÝŒ�X˜}­c°.Ñ.AÔ.AÑBÔBÐBåÔÔ#Ô+ð 	ð 	õ Ô&Ð&Ð&ÝÔ&Ð&Ð&ðð õ ŒL˜ >µ3°u±:´:Ñ>Ô>Ð>ÝŒLØØÝÐ%­Ô);Ñ<Ñ=Ô=ñô ð ð ð ð	ð 	rB   c                 ó\   — t          t          t          j        dt          j        › �¦  «        S ©NÚ	user_tmp_©r   r   r>   Úident©r?   s    r@   Útemp_table_namezHasTableTest.temp_table_name{   ó(   € å"Ý•F”IÐ9­6¬<Ð9Ð9ñ
ô 
ð 	
rB   c                 ó  — t          t          t          j        ¦  «        }|                      ¦   «         }t	          ||t          dt          j        d¬¦  «        t          dt          j        d¦  «        ¦  «        fi |¤Ž}t          j
        j        j        rkt          j
        j        j        rWt          j        |dt!          dt          j        z  ¦  «        ¦  «         t          j        |dt!          d	¦  «        ¦  «         d S d S d S )
NrL   TrM   ÚnamerP   r_   ú=create temporary view user_tmp_v as select * from user_tmp_%sr`   údrop view user_tmp_v)r   r   r>   rj   r   r   ÚsaÚINTÚVARCHARr   rT   rW   r9   Útemporary_viewsr   rb   r$   rh   ©r?   r\   ÚkwÚ
table_nameÚuser_tmps        r@   rZ   zHasTableTest.define_temp_tables�   s  € å$¥V­V¬YÑ7Ô7ˆØ×(Ò(Ñ*Ô*ˆ
ÝØØÝ�4�œ¨TÐ2Ñ2Ô2Ý�6�2œ: b™>œ>Ñ*Ô*ð	
ð 
ð
 ð
ð 
ˆõ ÔÔ,Ô4ð	OåÔ Ô0Ô8ð	Oõ ŒLØØÝð0Ý28´,ñ?ñô ñô ð õ ŒL˜ =µ#Ð6LÑ2MÔ2MÑNÔNÐNÐNÐNð	Oð 	Oð 	Oð 	OrB   c                 ó   — t           j                             ¦   «         5 }t          t           j        j                             |d¦  «        ¦  «         t          t           j        j                             |d¦  «        ¦  «         t          t           j        j                             |d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrK   rQ   Únonexistent_table)r   r>   Úbeginr,   ÚdialectÚ	has_tabler*   ©ÚselfÚconns     r@   Útest_has_tablezHasTableTest.test_has_tableš   sò   € ÝŒY�_Š_ÑÔð 	M $Ý•F”IÔ%×/Ò/°°lÑCÔCÑDÔDÐDÝ•V”YÔ&×0Ò0°°~ÑFÔFÑGÔGÐGÝ•V”YÔ&×0Ò0°Ð7JÑKÔKÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms   ŸBCÃCÃ
Cc                 ó~  — t          t          j        ¦  «        }t          |                     d¦  «        ¦  «         t          d|t          dt          ¦  «        ¦  «        }t          |                     d¦  «        ¦  «         | 	                    t          j        ¦  «         	 t          |                     d¦  «        ¦  «         | 
                    ¦   «          t          |                     d¦  «        ¦  «         |                     t          j        ¦  «         d S # |                     t          j        ¦  «         w xY w)NrK   Ú	new_tableÚcol)r   r   r>   r,   r|   r   r   r   r*   ÚcreateÚclear_cacheÚdrop)r~   r\   ÚinspÚnts       r@   Útest_has_table_cachez!HasTableTest.test_has_table_cache    só   € Ý•v”yÑ!Ô!ˆÝ�—’˜|Ñ,Ô,Ñ-Ô-Ð-Ý�; ­&°½Ñ*@Ô*@ÑAÔAˆÝ�—’ Ñ,Ô,Ñ-Ô-Ð-Ø
�	Š	•&”)ÑÔÐð	Ý�T—^’^ KÑ0Ô0Ñ1Ô1Ð1Ø×ÒÑÔÐÝ�D—N’N ;Ñ/Ô/Ñ0Ô0Ð0à�GŠG•F”IÑÔÐÐÐøˆB�GŠG•F”IÑÔÐÐøøøs   Â"AD Ä!D<c                 óè  — t           j                             ¦   «         5 }t          t           j        j                             |dt           j        ¬¦  «        ¦  «         t          t           j        j                             |dt           j        ¬¦  «        ¦  «         t          t           j        j                             |dt           j        ¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrK   rR   rQ   ry   )r   r>   rz   r*   r{   r|   rV   r,   r}   s     r@   Útest_has_table_schemaz"HasTableTest.test_has_table_schema­   s%  € åŒY�_Š_ÑÔð 	 $ÝÝ”	Ô!×+Ò+Ø˜,­vÔ/Að ,ñ ô ñô ð õ
 Ý”	Ô!×+Ò+Ø˜.µÔ1Cð ,ñ ô ñô ð õ
 Ý”	Ô!×+Ò+ØÐ-µfÔ6Hð ,ñ ô ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ŸB;C'Ã'C+Ã.C+c                 óÜ   — t           j                             ¦   «         5 }t          t           j        j                             |dd¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrK   Únonexistent_schemarR   )r   r>   rz   r*   r{   r|   r}   s     r@   Ú!test_has_table_nonexistent_schemaz.HasTableTest.test_has_table_nonexistent_schemaÀ   s¬   € åŒY�_Š_ÑÔð 	 $ÝÝ”	Ô!×+Ò+Ø˜,Ð/Cð ,ñ ô ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Ÿ5A!Á!A%Á(A%c                 óh   — t          |¦  «        }t          |                     d¦  «        ¦  «         d S ©NÚvv©r   r,   r|   ©r~   Ú
connectionr‡   s      r@   Útest_has_table_viewz HasTableTest.test_has_table_viewÉ   s/   € å�zÑ"Ô"ˆÝ�—’˜tÑ$Ô$Ñ%Ô%Ð%Ð%Ð%rB   c                 ó�   — t          |¦  «        }|                      ¦   «         }t          |                     |¦  «        ¦  «         d S ©N)r   rj   r,   r|   )r~   r”   r‡   rj   s       r@   Útest_has_table_temp_tablez&HasTableTest.test_has_table_temp_tableÎ   s@   € å�zÑ"Ô"ˆØ×.Ò.Ñ0Ô0ˆÝ�—’˜Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0rB   c                 óh   — t          |¦  «        }t          |                     d¦  «        ¦  «         d S ©NÚ
user_tmp_vr’   r“   s      r@   Útest_has_table_temp_viewz%HasTableTest.test_has_table_temp_viewÔ   s1   € õ �zÑ"Ô"ˆÝ�—’˜|Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-rB   c                 ó~   — t          |¦  «        }t          |                     dt          j        ¦  «        ¦  «         d S r�   )r   r,   r|   r   rV   r“   s      r@   Útest_has_table_view_schemaz'HasTableTest.test_has_table_view_schemaÛ   s6   € õ �zÑ"Ô"ˆÝ�—’˜t¥VÔ%7Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9rB   )rC   rD   rE   Ú__sparse_driver_backend__Úrun_deletesrF   r]   rX   rj   rZ   r€   r‰   r   rT   rU   r‹   rŽ   Úviewsr•   rY   r˜   rW   rs   rœ   rž   rG   rB   r@   rI   rI   J   s¬  € € € € € Ø $Ðà€Kàð-ð -ñ „[ð-ð* ðð ñ „[ðð* ð
ð 
ñ „[ð
ð
 ðOð Oñ „[ðOð0Mð Mð Mðð ð ð ÔÔðð ñ Ôðð$ ÔÔðð ñ Ôðð ÔÔð&ð &ñ Ôð&ð ÔÔ$ð1ð 1ñ %Ô$ð1ð
 ÔÔ$ØÔÔ%ØÔÔ%ð.ð .ñ &Ô%ñ &Ô%ñ %Ô$ð.ð ÔÔØÔÔð:ð :ñ Ôñ Ôð:ð :ð :rB   rI   c                   ó¨   — e Zd ZdZdZed„ ¦   «         Z ej        ddd¬¦  «        Z	d„ Z
e	d	„ ¦   «         Zej        j        e	d
„ ¦   «         ¦   «         ZdS )ÚHasIndexTestT)Úindex_reflectionc                 óö  — t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        t          dt          d¦  «        ¦  «        ¦  «        }t	          d|j        j        ¦  «         t          j        j	        j
        rjt          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        t          j        ¬	¦  «        }t	          d
|j        j        ¦  «         d S d S )NrK   rL   TrM   rO   rP   Údata2Úmy_idxrR   Úmy_idx_s)r   r   r   r   r%   ÚcrO   r   rT   rU   r9   r   rV   )r?   r\   Útts      r@   r]   zHasIndexTest.define_tablesæ   sá   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&Ý�7�F 2™JœJÑ'Ô'ñ
ô 
ˆõ 	ˆh˜œœ	Ñ"Ô"Ð"åÔÔ#Ô+ð 	)ÝØØÝ�t�W°$Ð7Ñ7Ô7Ý�v�v b™zœzÑ*Ô*ÝÔ)ðñ ô ˆBõ �*˜bœdœiÑ(Ô(Ð(Ð(Ð(ð	)ð 	)rB   r{   Ú	inspectorÚkind©Úargnamesc                 óB   ‡— |dk    rˆfd„S t          ‰¦  «        j        S )Nr{   c                  óB   •— t          j        j        j        ‰g| ¢R i |¤ŽS r—   )r   r>   r{   Ú	has_index)ÚaÚkr   s     €r@   ú<lambda>z)HasIndexTest._has_index.<locals>.<lambda>ÿ   s'   ø€ ¥6¤9Ô#4Ô#>¸tÐ#MÀaÐ#MÐ#MÐ#MÈ1Ð#MÐ#M€ rB   )r   r±   )r~   r¬   r   s     `r@   Ú
_has_indexzHasIndexTest._has_indexý   s,   ø€ Ø�9ÒÐØMÐMÐMÐMÐMå˜4‘=”=Ô*Ð*rB   c           	      óH  — |                       ||¦  «        } |dd¦  «        sJ ‚ |dd¦  «        rJ ‚ |dd¦  «        rJ ‚ |dd¦  «        rJ ‚ |dd¦  «        rJ ‚ |dd¦  «        rJ ‚t          d| j        j        j        j        ¦  «        }t          d|t          d	t          ¦  «        t          dd	¦  «        ¦  «        }| 	                    |¦  «         | 	                    |¦  «         	 |d
k    r5 |dd¦  «        rJ ‚ |dd¦  «        rJ ‚|j
                             ¦   «           |dd¦  «        du sJ ‚ |dd¦  «        du sJ ‚	 |                     |¦  «         |                     |¦  «         d S # |                     |¦  «         |                     |¦  «         w xY w)NrK   r§   r¨   ry   Únonexistent_idxÚmy_idx_2Útest_table_2Úmy_idx_3Úfoor«   T)rµ   r%   ÚtablesrK   r©   r¦   r   r   r   r„   Ú__self__r…   r†   )r~   r¬   r”   r\   ÚmethÚidxÚtbls          r@   Útest_has_indexzHasIndexTest.test_has_index  sþ  € à�Š˜t ZÑ0Ô0ˆØˆt�L (Ñ+Ô+Ð+Ð+Ð+Ø�4˜ jÑ1Ô1Ð1Ð1Ð1Ø�4Ð+¨XÑ6Ô6Ð6Ð6Ð6Ø�4˜Ð&7Ñ8Ô8Ð8Ð8Ð8à�4˜ jÑ1Ô1Ð1Ð1Ð1Ø�4˜¨
Ñ3Ô3Ð3Ð3Ð3Ý�J ¤Ô 6Ô 8Ô >Ñ?Ô?ˆÝØØÝ�5�'Ñ"Ô"Ý�*˜eÑ$Ô$ñ	
ô 
ˆð 	�
Š
�:ÑÔÐØ�
Š
�:ÑÔÐð		!Ø�{Ò"Ð"Ø˜4 ¨jÑ9Ô9Ð9Ð9Ð9Ø˜4 °
Ñ;Ô;Ð;Ð;Ð;Ø”×)Ò)Ñ+Ô+Ð+Ø�4˜ jÑ1Ô1°TÐ9Ð9Ð9Ð9Ø�4˜¨
Ñ3Ô3°tÐ;Ð;Ð;Ð;Ð;à�HŠH�ZÑ Ô Ð Ø�HŠH�ZÑ Ô Ð Ð Ð øð �HŠH�ZÑ Ô Ð Ø�HŠH�ZÑ Ô Ð Ð øøøs   Ã-AE5 Å5,F!c                 ó  — |                       ||¦  «        } |ddt          j        ¬¦  «        sJ ‚ |ddt          j        ¬¦  «        rJ ‚ |ddt          j        ¬¦  «        rJ ‚ |ddt          j        ¬¦  «        rJ ‚d S )NrK   r¨   rR   r§   ry   Únonexistent_idx_s)rµ   r   rV   )r~   r¬   r”   r¾   s       r@   Útest_has_index_schemaz"HasIndexTest.test_has_index_schema!  s¾   € ð �Š˜t ZÑ0Ô0ˆØˆt�L *µVÔ5GÐHÑHÔHÐHÐHÐHØ�4˜ hµvÔ7IÐJÑJÔJÐJÐJÐJØ�4Ø µFÔ4Fð
ñ 
ô 
ð 	
ð 	
ð 
ð �4ØÐ-µfÔ6Hð
ñ 
ô 
ð 	
ð 	
ð 
ð 	
ð 	
rB   N)rC   rD   rE   rŸ   Ú__requires__rF   r]   r   Úcombinationsr¬   rµ   rÁ   rT   rU   rÄ   rG   rB   r@   r£   r£   â   s©   € € € € € Ø $ÐØ(€Làð)ð )ñ „[ð)ð(  ˆ7Ô 	¨;ÀÐHÑHÔH€Dð+ð +ð +ð 
ð!ð !ñ 
„Tð!ð: ÔÔØ	ð	
ð 	
ñ 
„Tñ Ôð	
ð 	
ð 	
rB   r£   c                   óŽ  — e Zd ZdZd„ Zd„ Z ej        dddg¦  «         e¦   «          e¦   «         ej        j	        d„ ¦   «         ¦   «         ¦   «         ¦   «         Z
 e¦   «          e¦   «         ej        j        d„ ¦   «         ¦   «         ¦   «         Z e¦   «          e¦   «         ej        j        d„ ¦   «         ¦   «         ¦   «         Zd	S )
ÚBizarroCharacterTestTc                  ó4   — t          j        ddddd¬¦  «        S )N)Ú	plainname)z(3))zcol%p)z[brack]Ú
columnnamer­   ©r   rÆ   rG   rB   r@   Úcolumn_namesz!BizarroCharacterTest.column_names3  s+   € ÝÔ#ØØØØØ!ð
ñ 
ô 
ð 	
rB   c                  ó4   — t          j        ddddd¬¦  «        S )N)Úplain)z(2))z
per % cent)z
[brackets]Ú	tablenamer­   rÌ   rG   rB   r@   Útable_namesz BizarroCharacterTest.table_names<  s+   € ÝÔ#ØØØØØ ð
ñ 
ô 
ð 	
rB   Úuse_compositeFc                 ó†  — t          ||t          |t          dd¬¦  «        d¬¦  «        }|r*|                     t          dt          d¬¦  «        ¦  «         |r}t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          d	t          ¦  «        t	          j        dd	g|j        j        |j        j        g¦  «        d¬¦  «         nNt          d|t          dt          d¬¦  «        t          dt          |j        j        ¦  «        ¦  «        d¬¦  «         | 
                    |¦  «         t          ¦   «         }t          d||¬
¦  «        }|j        |         }	|j        j                             |	j        d         ¦  «        sJ ‚|r,|j        j                             |	j        d         ¦  «        sJ ‚dS dS )ztests for #10275rL   T)ÚkeyrN   ©Útest_needs_fkÚid2rM   ÚotherÚrefÚref2©Úautoload_withr   é   N)r   r   r   Úappend_columnrp   ÚForeignKeyConstraintr©   rL   r×   r   Ú
create_allr   r¼   rÙ   Ú
referencesrÚ   )
r~   r”   r\   rÒ   rÐ   rË   rª   Úm2Úo2Út1s
             r@   Útest_fk_refz BizarroCharacterTest.test_fk_refE  sÉ  € õ ØØÝ�:�w¨D¸dÐCÑCÔCØð	
ñ 
ô 
ˆð ð 	GØ×Ò�V E­7ÀÐEÑEÔEÑFÔFÐFàð 	ÝØØÝ�t�W°$Ð7Ñ7Ô7Ý�u�gÑ&Ô&Ý�v�wÑ'Ô'ÝÔ'¨°¨¸"¼$¼'À2Ä4Ä8Ð9LÑMÔMØ"ðñ ô ð ð õ ØØÝ�t�W°$Ð7Ñ7Ô7Ý�u�j¨¬¬Ñ1Ô1Ñ2Ô2Ø"ðñ ô ð ð 	×Ò˜JÑ'Ô'Ð'å‰ZŒZˆå�7˜B¨jÐ9Ñ9Ô9ˆØŒY�yÔ!ˆàŒtŒx×"Ò" 2¤4¨¤7Ñ+Ô+Ð+Ð+Ð+Øð 	1Ø”4”9×'Ò'¨¬¨Q¬Ñ0Ô0Ð0Ð0Ð0ð	1ð 	1Ø0Ð0rB   c           
      ó  — t          ||t          |t          t          ¦   «         d¬¦  «        ¦  «         |                     |¦  «         t          |¦  «        }t          |                     |¦  «        d         d         d         d¦  «         d S )NTrM   r   ÚidentityÚstartrÝ   ©r   r   r   r   rà   r   r   Úget_columns©r~   rÐ   rË   r”   r\   r‡   s         r@   Útest_reflect_identityz*BizarroCharacterTest.test_reflect_identityt  sŠ   € õ 	ØØÝ�:�w­©
¬
ÀÐEÑEÔEñ	
ô 	
ð 	
ð
 	×Ò˜JÑ'Ô'Ð'Ý�zÑ"Ô"ˆåˆD×Ò˜YÑ'Ô'¨Ô*¨:Ô6°wÔ?ÀÑCÔCÐCÐCÐCrB   c           
      ó$  — t          ||t          dt          d¬¦  «        t          |t          d¬¦  «        ¦  «         |                     |¦  «         t	          |¦  «        }t          |                     |¦  «        d         d         d¦  «         d S )NrL   TrM   úsome comment©ÚcommentrÝ   rð   ©r   r   r   rà   r   r   rê   rë   s         r@   Útest_reflect_commentsz*BizarroCharacterTest.test_reflect_comments„  s‘   € õ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�:�w°Ð?Ñ?Ô?ñ		
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'Ý�zÑ"Ô"ˆåˆD×Ò˜YÑ'Ô'¨Ô*¨9Ô5°~ÑFÔFÐFÐFÐFrB   N)rC   rD   rE   rŸ   rÍ   rÑ   r   Ú	variationrT   Ú!foreign_key_constraint_reflectionrå   Úidentity_columnsrì   Úcomment_reflectionrò   rG   rB   r@   rÈ   rÈ   /  s%  € € € € € à $Ðð
ð 
ð 
ð
ð 
ð 
ð €WÔ�¨¨u¨Ñ6Ô6Ø€\�^„^Ø€[�]„]ØÔÔ7ð)1ð )1ñ 8Ô7ñ „]ñ „^ñ 7Ô6ð)1ðV €\�^„^Ø€[�]„]ØÔÔ&ðDð Dñ 'Ô&ñ „]ñ „^ðDð €\�^„^Ø€[�]„]ØÔÔ(ðGð Gñ )Ô(ñ „]ñ „^ðGð Gð GrB   rÈ   c                   óŠ   — e Zd ZdZdZej        d„ ¦   «         Zej        j	        d„ ¦   «         Z
ej        j        d„ ¦   «         ZdS )ÚTempTableElementsTestT)Útemp_table_reflectionc                 ó\   — t          t          t          j        dt          j        › �¦  «        S )NÚ
ident_tmp_rg   ©r~   s    r@   rÐ   zTempTableElementsTest.tablenameœ  s(   € å"Ý•F”IÐ:­F¬LÐ:Ð:ñ
ô 
ð 	
rB   c           
      ó  — t          ||t          dt          t          ¦   «         d¬¦  «        ¦  «         |                     |¦  «         t          |¦  «        }t          |                     |¦  «        d         d         d         d¦  «         d S )NrL   TrM   r   rç   rè   rÝ   ré   ©r~   rÐ   r”   r\   r‡   s        r@   rì   z+TempTableElementsTest.test_reflect_identity¢  sˆ   € åØØÝ�4�¥(¡*¤*¸$Ð?Ñ?Ô?ñ	
ô 	
ð 	
ð
 	×Ò˜JÑ'Ô'Ð'Ý�zÑ"Ô"ˆåˆD×Ò˜YÑ'Ô'¨Ô*¨:Ô6°wÔ?ÀÑCÔCÐCÐCÐCrB   c           
      ó$  — t          ||t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «         |                     |¦  «         t	          |¦  «        }t          |                     |¦  «        d         d         d¦  «         d S )	NrL   TrM   Úfoobarrî   rï   rÝ   rð   rñ   rþ   s        r@   rò   z+TempTableElementsTest.test_reflect_comments®  s�   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�8�W¨nÐ=Ñ=Ô=ñ		
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'Ý�zÑ"Ô"ˆåˆD×Ò˜YÑ'Ô'¨Ô*¨9Ô5°~ÑFÔFÐFÐFÐFrB   N)rC   rD   rE   rŸ   rÅ   r   ÚfixturerÐ   rT   rõ   rì   Útemp_table_comment_reflectionrò   rG   rB   r@   rø   rø   –  s†   € € € € € à $Ðà-€Là„_ð
ð 
ñ „_ð
ð
 ÔÔ&ð	Dð 	Dñ 'Ô&ð	Dð ÔÔ3ð
Gð 
Gñ 4Ô3ð
Gð 
Gð 
GrB   rø   c                   óÐ  — e Zd ZdZdZed„ ¦   «         Zd„ Zed„ ¦   «         Zee	j
        j        d„ ¦   «         ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zee	j
        j        d	„ ¦   «         ¦   «         Zee	j
        j        d
„ ¦   «         ¦   «         Zee	j
        j        d„ ¦   «         ¦   «         Zee	j
        j        d„ ¦   «         ¦   «         Zee	j
        j        d„ ¦   «         ¦   «         ZdS )ÚQuotedNameArgumentTestÚonceTc                 ó0  — t          d|t          dt          ¦  «        t          dt          d¦  «        ¦  «        t          dt          d¦  «        ¦  «        t          dt          ¦  «        t	          j        dd¬¦  «        t	          j        d	d¦  «        t	          j        dd
¬¦  «        t	          j        dgdgd¬¦  «        t	          j	        dd¬¦  «        dd¬¦  «         t          j        j        j        rÞt          d|t          dt          ¦  «        t          dt          d¦  «        ¦  «        t          dt          d¦  «        ¦  «        t          dt          ¦  «        t	          j        dd¬¦  «        t	          j        dd¦  «        t	          j        dd¬¦  «        t	          j        dgdgd¬¦  «        t	          j	        dd¬¦  «        dd¬¦  «         t          d|t          dt          d¬¦  «        t          dt          ¦  «        d¬¦  «         t          j        j        j        rït          j        j        j        rddg}ndg}|D ]Ð}dt          j        j        j                             d|z  ¦  «        ›dt          j        j        j                             |¦  «        ›�}t)          j        |dt-          |¦  «        ¦  «         t)          j        |d t-          d!t          j        j        j                             d|z  ¦  «        z  ¦  «        ¦  «         ŒÏd S d S )"Núquote ' onerL   rm   rP   rO   Ú
related_idzpk quote ' one©rm   zix quote ' onezuq quote' onez
related.idzfk quote ' onezname != 'foo'zck quote ' onezquote ' one commentT)rð   rÖ   úquote " twozpk quote " twozix quote " twozuq quote" twozfk quote " twozck quote " two zquote " two commentÚrelatedrM   rÕ   ra   úview %sú AS SELECT * FROM r_   r`   zDROP VIEW %s)r   r   r   r   rp   ÚPrimaryKeyConstraintr%   ÚUniqueConstraintrß   ÚCheckConstraintr   rT   Úsymbol_names_w_double_quoter9   Úview_column_reflectionr   r>   r{   Úidentifier_preparerÚquoter   rb   r$   )r?   r\   Únamesrm   rc   s        r@   r]   z$QuotedNameArgumentTest.define_tablesÀ  s7  € åØØÝ�4�Ñ!Ô!Ý�6�6 "™:œ:Ñ&Ô&Ý�6�6 "™:œ:Ñ&Ô&Ý�<¥Ñ)Ô)ÝÔ# DÐ/?Ð@Ñ@Ô@ÝŒHÐ% vÑ.Ô.ÝÔØØ$ðñ ô õ Ô#Ø�˜˜Ð-=ðñ ô õ Ô˜Ð5EÐFÑFÔFØ.Øð%	
ñ 	
ô 	
ð 	
õ* ÔÔ7Ô?ð 	ÝØØÝ�t�WÑ%Ô%Ý�v�v b™zœzÑ*Ô*Ý�v�v b™zœzÑ*Ô*Ý�|¥WÑ-Ô-ÝÔ'¨Ð3CÐDÑDÔDÝ”Ð)¨6Ñ2Ô2ÝÔ#ØØ(ðñ ô õ Ô'Ø�F˜\˜NÐ1Aðñ ô õ Ô" ?Ð9JÐKÑKÔKØ2Ø"ð%ñ ô ð õ* 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�9�gÑ&Ô&Øð	
ñ 	
ô 	
ð 	
õ ÔÔ2Ô:ð 	ÝÔÔ;ÔCð à!Ø!ð��ð "ð�ð ð ð ��å”IÔ%Ô9×?Ò?Ø! DÑ(ñô ð ð õ ”IÔ%Ô9×?Ò?ÀÑEÔEÐEð	�õ ”˜X ~µs¸5±z´zÑBÔBÐBÝ”ØØ!ÝØ&Ý œ)Ô+Ô?×EÒEØ%¨Ñ,ñô ññô ñ	ô 	ð 	ð 	ð'	ð 	ðð rB   c                 ó`   —  t          j        ddt           j        j        f¦  «        | ¦  «        S )N)r  r
  )r   rÆ   rT   r  )Úfns    r@   Úquote_fixturesz%QuotedNameArgumentTest.quote_fixtures  s;   € ð
�wÔ#ØØ�GÔ,ÔHÐIñ
ô 
ð ñô ð 	rB   c                 óZ  — t          t          j        ¦  «        }t          j        j        j        r9|                     |¦  «        }t          t          |t          ¦  «        ¦  «         d S t          t          ¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r—   )r   r   r>   r   rT   Úreflect_table_optionsr9   Úget_table_optionsr,   Ú
isinstancer<   r   ÚNotImplementedError)r~   rm   r‡   Úress       r@   Útest_get_table_optionsz-QuotedNameArgumentTest.test_get_table_options  sÚ   € å•v”yÑ!Ô!ˆåÔÔ1Ô9ð 	-Ø×(Ò(¨Ñ.Ô.ˆCÝ•J˜s¥DÑ)Ô)Ñ*Ô*Ð*Ð*Ð*åÕ2Ñ3Ô3ð -ð -Ø×&Ò& tÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s   Á=B Â B$Â'B$c                 ól   — t          t          j        ¦  «        }|                     d|z  ¦  «        sJ ‚d S )Nr  )r   r   r>   Úget_view_definition©r~   rm   r‡   s      r@   Útest_get_view_definitionz/QuotedNameArgumentTest.test_get_view_definition$  s8   € õ •v”yÑ!Ô!ˆØ×'Ò'¨	°DÑ(8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   rê   r"  s      r@   Útest_get_columnsz'QuotedNameArgumentTest.test_get_columns*  s1   € å•v”yÑ!Ô!ˆØ×Ò Ñ%Ô%Ð%Ð%Ð%Ð%Ð%rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   Úget_pk_constraintr"  s      r@   Útest_get_pk_constraintz-QuotedNameArgumentTest.test_get_pk_constraint/  s1   € å•v”yÑ!Ô!ˆØ×%Ò% dÑ+Ô+Ð+Ð+Ð+Ð+Ð+rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   Úget_foreign_keysr"  s      r@   Útest_get_foreign_keysz,QuotedNameArgumentTest.test_get_foreign_keys4  s3   € õ •v”yÑ!Ô!ˆØ×$Ò$ TÑ*Ô*Ð*Ð*Ð*Ð*Ð*rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   Úget_indexesr"  s      r@   Útest_get_indexesz'QuotedNameArgumentTest.test_get_indexes:  s3   € õ •v”yÑ!Ô!ˆØ×Ò Ñ%Ô%Ð%Ð%Ð%Ð%Ð%rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   Úget_unique_constraintsr"  s      r@   Útest_get_unique_constraintsz2QuotedNameArgumentTest.test_get_unique_constraints@  s3   € õ •v”yÑ!Ô!ˆØ×*Ò*¨4Ñ0Ô0Ð0Ð0Ð0Ð0Ð0rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   Úget_table_commentr"  s      r@   Útest_get_table_commentz-QuotedNameArgumentTest.test_get_table_commentF  s3   € õ •v”yÑ!Ô!ˆØ×%Ò% dÑ+Ô+Ð+Ð+Ð+Ð+Ð+rB   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r—   )r   r   r>   Úget_check_constraintsr"  s      r@   Útest_get_check_constraintsz1QuotedNameArgumentTest.test_get_check_constraintsL  s3   € õ •v”yÑ!Ô!ˆØ×)Ò)¨$Ñ/Ô/Ð/Ð/Ð/Ð/Ð/rB   N)rC   rD   rE   Úrun_create_tablesrŸ   rF   r]   r  r  r   rT   r  r#  r%  r(  rô   r+  r¤   r.  Úunique_constraint_reflectionr1  rö   r4  Úcheck_constraint_reflectionr7  rG   rB   r@   r  r  ¼  s¥  € € € € € ØÐØ $ÐàðPð Pñ „[ðPðdð ð ð ð-ð -ñ „^ð-ð ØÔÔ,ð:ð :ñ -Ô,ñ „^ð:ð ð&ð &ñ „^ð&ð ð,ð ,ñ „^ð,ð ØÔÔ7ð+ð +ñ 8Ô7ñ „^ð+ð ØÔÔ&ð&ð &ñ 'Ô&ñ „^ð&ð ØÔÔ2ð1ð 1ñ 3Ô2ñ „^ð1ð ØÔÔ(ð,ð ,ñ )Ô(ñ „^ð,ð ØÔÔ1ð0ð 0ñ 2Ô1ñ „^ð0ð 0ð 0rB   r  c           
      ó2  — t          j        d d„ t           j        j        fd¬¦  «        }t          j        t          j        t          j        t          j        d¬¦  «        }t          j        t          j	        t          j
        t          j        t          j        t          j        t          j	        t          j
        z  t          j	        t          j        z  d¬¦  «        }t          j        ddd¬¦  «        } | | | || ¦  «        ¦  «        ¦  «        ¦  «        S )	Nc                  ó   — t           j        S r—   )r   rV   rG   rB   r@   r´   z$_multi_combination.<locals>.<lambda>W  s	   € •FÔ&€ rB   rS   r­   r5   r¬   TFÚ
use_filter)r   rÆ   rT   rU   r!   ÚDEFAULTÚ	TEMPORARYÚANYr    ÚTABLEÚVIEWÚMATERIALIZED_VIEWÚANY_VIEW)r  rS   r5   r¬   Úfilter_namess        r@   Ú_multi_combinationrF  S  sü   € ÝÔ!Øà&Ð&ÝÔÔ$ð	
ð ðñ ô €Fõ Ô ÝÔÝÔÝŒØð	ñ ô €Eõ ÔÝÔÝŒÝÔ$ÝŒÝÔÝÔ�:œ?Ñ*ÝÔ�:Ô7Ñ7Øð	ñ 	ô 	€Dõ Ô'¨¨e¸lÐKÑKÔK€Làˆ6�%�%˜˜˜\˜\¨"Ñ-Ô-Ñ.Ô.Ñ/Ô/Ñ0Ô0Ð0rB   c                   ó  — e Zd ZdxZZdZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zd„ Zd	„ Zd
„ Zdej        ej        dfd„Zdej        ej        dfd„Zdej        ej        dfd„Zed„ ¦   «         Zdej        ej        dfd„Zed„ ¦   «         Zdej        ej        dfd„Zed„ ¦   «         Zdej        ej        dfd„Zed„ ¦   «         Zdej        ej        ddfd„Zed„ ¦   «         Zdej        ej        dfd„Ze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,        dd!e!j"        j-        fd"¬#¦  «         e!j,        de!j"        j.        fdd$¬#¦  «        d%„ ¦   «         ¦   «         Z/ e!j,        de!j"        j.        fdd$¬#¦  «        d&„ ¦   «         Z0e!j"        j1        d'„ ¦   «         Z2e!j"        j3        e!j"        j4        d(„ ¦   «         ¦   «         Z5e!j"        j6        d)„ ¦   «         Z7e!j"        j6        e!j"        j.        d*„ ¦   «         ¦   «         Z8dxd+„Z9 e!j,        d,dde!j"        j.        fdde!j"        j3        fdde!j"        j.        e!j"        j3        z   fd-¬#¦  «        d.„ ¦   «         Z:e!j"        j;        d/„ ¦   «         Z<e!j"        j;        d0„ ¦   «         Z=e!j"        j;        e!j"        j>        e!j"        j4        d1„ ¦   «         ¦   «         ¦   «         Z? e!j,        d2de!j"        j.        fd$¬#¦  «        e!j"        j@        d3„ ¦   «         ¦   «         ZA e!j,        d4d5d6d7d8¬#¦  «        e!j"        j@        e!j"        jB        d9„ ¦   «         ¦   «         ¦   «         ZC e!j,        d2de!j"        j.        fd$¬#¦  «        e!j"        j-        d:„ ¦   «         ¦   «         ZD e!j,        d;d<d=d>d?¬#¦  «        e!j"        j-        d@„ ¦   «         ¦   «         ZEe!j"        jF        e!j"        j.        dA„ ¦   «         ¦   «         ZG e!j,        d2de!j"        j.        fd$¬#¦  «        e!j"        jH        dB„ ¦   «         ¦   «         ZI e!j,        dCdDdE¬#¦  «        e!j"        jH        e!j"        jJ        e!j"        jK        dF„ ¦   «         ¦   «         ¦   «         ¦   «         ZL e!j,        dGdHdIdJdK¬#¦  «        e!j"        jH        dL„ ¦   «         ¦   «         ZMe!j"        j;        e!j"        jN        dM„ ¦   «         ¦   «         ZOe!j"        jP        dN„ ¦   «         ZQ e!j,        de!j"        j.        fd2d$¬#¦  «        e!j"        jN        dO„ ¦   «         ¦   «         ZR e!j,        dPdQdRdSdT¬#¦  «        e!j"        jN        dU„ ¦   «         ¦   «         ZSe!j"        j3         e!j,        d2de!j"        j.        fd$¬#¦  «        dV„ ¦   «         ¦   «         ZTe!j"        j3        dW„ ¦   «         ZUe!j"        jV        dX„ ¦   «         ZW e!j,        de!j"        j.        fd2d$¬#¦  «        dY„ ¦   «         ZX e!j,        de!j"        j.        fd¦  «        dZ„ ¦   «         ZYe!jZ        d[„ ¦   «         Z[e!j"        j\        e]d\„ ¦   «         ¦   «         Z^e!j"        j6        e]d]„ ¦   «         ¦   «         Z_d^„ Z`dyd_„Zadzd`„Zbe]da„ ¦   «         Zce!j"        j@        e]db„ ¦   «         ¦   «         Zddc„ Zee!j"        j-        e]dd„ ¦   «         ¦   «         Zfe!j"        jH        e]de„ ¦   «         ¦   «         Zge!j"        jN        e]df„ ¦   «         ¦   «         Zhe!j"        ji        e]dg„ ¦   «         ¦   «         Zj e!j,        dhe!j"        j\        fdidje!j"        j@        fdke!j"        j-        fdle!j"        jH        fdme!j"        jN        fdne!j"        ji        fdoe!j"        j6        fdp¬#¦	  «	        dq„ ¦   «         Zkdr„ Zl e!j,        ddd$¬#¦  «         e!j,        de!j"        jm        fdds¬#¦  «        dt„ ¦   «         ¦   «         Zne!j"        j6        du„ ¦   «         Zoe!j"        jp        dv„ ¦   «         Zqe!j"        jr        e!j"        js        dw„ ¦   «         ¦   «         ZtdS ){ÚComponentReflectionTestNTc                 ó¬   — |                       |d ¦  «         t          j        j        j        r'|                       |t          j        j        ¦  «         d S d S r—   )Údefine_reflected_tablesr   rT   rU   r9   r   rV   r[   s     r@   r]   z%ComponentReflectionTest.define_tablesv  sW   € à×#Ò# H¨dÑ3Ô3Ð3ÝÔÔ#Ô+ð 	NØ×'Ò'¨µ'´.Ô2LÑMÔMÐMÐMÐMð	Nð 	NrB   c                 óæ  — |r|dz   }nd}t           j        j        j        rt	          d|z  d¬¦  «        f}nd}t          d|t          dt          j        d	¬
¦  «        t          dt          j	        d¦  «        d¬¦  «        t          dt          j
        ¦   «         d¬¦  «        t          dt          j        g|¢R Ž t          j        ddd¬¦  «        t          j        d¦  «        |d	¬¦
  «
        }t          d|t          dt          j        d	¬
¦  «        t          dt          j        t	          d|z  dd¬¦  «        ¦  «        t          dt          j        t	          d|z  ¦  «        ¦  «        t          dt          j        d¦  «        d	¬ ¦  «        t          j        d!d"¬¦  «        t          j        ddd#d$¬¦  «        |d	¬¦
  «
         t          d%|t          dt          j        ¦  «        t          d&t          j        t	          |j        j        ¦  «        ¦  «        t          d't          j        d(¦  «        d	¬)¦  «        t          j        dd*d+¬¦  «        |d	¬¦  «         t          d,|t          d-t          j        d	d.¬/¦  «        t          dt          j        d(¦  «        d0¬1¦  «        t          d2t          j        d(¦  «        d3¬1¦  «        t          d4t          j        d5¦  «        d6¬1¦  «        |d7¬8¦  «         t          d9|t          dt          j        d(¦  «        ¦  «        |d:¬8¦  «         t           j        j        j        �re|€’t          d;|t          d-t          j        d	¬
¦  «        t          dt          j        d(¦  «        ¦  «        t          d<t	          d=t           j        j        z  ¦  «        ¦  «        d	t&          j        j        j        ¬>¦  «         nÑt          d?|t          d-t          j        d	¬
¦  «        t          d@t	          dAt&          j        j        j        z  ¦  «        ¦  «        t          dt          j        d(¦  «        ¦  «        |d	¬¦  «         t          dB|t          d-t          j        d	¬
¦  «        t          dt          j        d(¦  «        ¦  «        |d	¬¦  «         t           j        j        j        �r_t3          dC|j        j        |j        j        d	¬ ¦  «         t3          dD|j        j        |j        j        |j        j        ¦  «         |�st          dE|t          dFt          j        d¦  «        ¦  «        d	¬G¦  «        }t          dH|t          d-t          j        d	¬
¦  «        t          dFt          j        d¦  «        ¦  «        d	¬G¦  «        }t           j        j        j        rnt           j        j        j        rXt3          dI|j        j                             ¦   «         ¦  «         t3          dJ|j        j                             ¦   «         ¦  «         t           j        j         j        r|  !                    ||¦  «         |s-t           j        j"        j        r|  #                    |¦  «         d S d S d S )KNú.Ú z%susers.user_idÚ
user_id_fkr	  rG   ÚusersÚuser_idTrM   Útest1é   F©ÚnullableÚtest2Úparent_user_idú	test2 > 0Úzz_test2_gt_zeroúusers check constraint©rm   rð   útest2 <= 1000©rS   rÖ   Ú
dingalingsÚdingaling_idÚ
address_idz%semail_addresses.address_idÚzz_email_add_id_fgúdi fk commentÚid_userrO   é   )Úuniquez$address_id > 0 AND address_id < 1000Úaddress_id_gt_zeroÚzz_dingalings_multipleúdi unique commentÚemail_addressesÚremote_user_idÚemail_addressé   )ÚindexÚemail_ad_pkúea pk commentÚcomment_testrL   ú
id comment)rN   rð   údata % commentrï   Úd2ú)Comment types type speedily ' " \ '' Fun!Úd3é*   úComment
withescapesúthe test % ' " \ table comment)rS   rð   Úno_constraintsú"no
constraintshasescapedcommentÚlocal_tableÚ	remote_idz%s.remote_table_2.id)rÖ   rS   Úremote_tableÚlocal_idz%s.local_table.idÚremote_table_2Úusers_t_idxÚusers_all_idxÚnoncol_idx_test_nopkÚqrÕ   Únoncol_idx_test_pkÚnoncol_idx_nopkÚnoncol_idx_pk)$r   rT   Úself_referential_foreign_keysr9   r   r   r   rp   rq   ÚCHARÚFloatr   r  r   r  r©   rP  r  Úcross_schema_fk_reflectionr   rV   r>   r{   Údefault_schema_namer¤   r%   rQ  rU  Úindexes_with_ascdescÚreflect_indexes_with_ascdescr‚  Údescr  rX   rù   rZ   )r?   r\   rS   Úschema_prefixÚparent_id_argsrO  r�  rƒ  s           r@   rJ  z/ComponentReflectionTest.define_reflected_tables|  sy  € àð 	Ø" S™LˆMˆMàˆMåÔÔ9ÔAð 	 åØ%¨Ñ5¸Lðñ ô ðˆNˆNð  ˆNÝØØÝ�9�bœf°$Ð7Ñ7Ô7Ý�7�BœG A™JœJ°Ð7Ñ7Ô7Ý�7�BœH™JœJ°Ð7Ñ7Ô7ÝÐ#¥R¤ZÐA°.ÐAÐAÐAÝÔØØ'Ø0ðñ ô õ
 Ô˜Ñ/Ô/ØØð
ñ 
ô 
ˆõ" 	ØØÝ�>¥2¤:¸4Ð@Ñ@Ô@ÝØÝ”
ÝØ2°]ÑBØ-Ø+ðñ ô ñô õ ØÝ”
ÝÐ,¨}Ñ<Ñ=Ô=ñô õ
 �6�2œ9 R™=œ=°Ð6Ñ6Ô6ÝÔØ6Ø)ðñ ô õ ÔØØØ-Ø+ð	ñ ô ð Øð=	
ñ 	
ô 	
ð 	
õ@ 	ØØÝ�<¥¤Ñ,Ô,ÝÐ#¥R¤Zµ¸E¼G¼OÑ1LÔ1LÑMÔMÝ�?¥B¤I¨b¡M¤M¸Ð>Ñ>Ô>ÝÔ#Ø =¸/ðñ ô ð Øð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�œ°¸|ÐLÑLÔLÝ�6�2œ9 R™=œ=Ð2BÐCÑCÔCÝØÝ”	˜"‘”ØHðñ ô õ
 �4�œ 2™œÐ0HÐIÑIÔIØØ9ð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�6�2œ9 R™=œ=Ñ)Ô)ØØ<ð	
ñ 	
ô 	
ð 	
õ ÔÔ6Ô>ñ '	Øˆ~ÝØ!ØÝ˜4¥¤¸Ð>Ñ>Ô>Ý˜6¥2¤9¨R¡=¤=Ñ1Ô1ÝØ#Ý"Ø2µW´^Ô5OÑOñô ñô ð #'Ý!œ9Ô,Ô@ðñ ô ð ð õ Ø"ØÝ˜4¥¤¸Ð>Ñ>Ô>ÝØ"Ý"Ø/Ý$œiÔ/ÔCñDñô ñô õ ˜6¥2¤9¨R¡=¤=Ñ1Ô1Ø!Ø"&ðñ ô ð õ Ø$ØÝ˜4¥¤¸Ð>Ñ>Ô>Ý˜6¥2¤9¨R¡=¤=Ñ1Ô1Ø!Ø"&ðñ ô ð õ ÔÔ,Ô4ñ 	JÝ�- ¤¤°´´ÀdÐKÑKÔKÐKÝØ ¤¤°%´'´-ÀÄÄñô ð ð ñ Jå',Ø*ØÝ˜3¥¤	¨!¡¤Ñ-Ô-Ø"&ð	(ñ (ô (Ð$õ &+Ø(ØÝ˜4¥¤¸Ð>Ñ>Ô>Ý˜3¥¤	¨!¡¤Ñ-Ô-Ø"&ð&ñ &ô &Ð"õ Ô$Ô9ÔAðJåÔ(ÔEÔMðJõ Ð+Ð-AÔ-CÔ-E×-JÒ-JÑ-LÔ-LÑMÔMÐMÝ˜/Ð+=Ô+?Ô+A×+FÒ+FÑ+HÔ+HÑIÔIÐIåÔÔ2Ô:ð 	/Ø×Ò˜X vÑ.Ô.Ð.Øð 	-�'Ô*Ô@ÔHð 	-Ø×"Ò" 8Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ð 	-ð 	-rB   c                 ó\   — t          t          t          j        dt          j        › �¦  «        S re   rg   ri   s    r@   rj   z'ComponentReflectionTest.temp_table_name*  rk   rB   c                 ó¤  — t          t          t          j        ¦  «        }|                      ¦   «         }t	          ||t          dt          j        d¬¦  «        t          dt          j        d¦  «        ¦  «        t          dt          j        ¦  «        t          j	        ddt          j
        › �¬¦  «        t          j        d	d¦  «        fi |¤Ž}t          j        j        j        rkt          j        j        j        rWt#          j        |d
t'          dt          j
        z  ¦  «        ¦  «         t#          j        |dt'          d¦  «        ¦  «         d S d S d S )NrL   TrM   rm   rP   r»   Úuser_tmp_uq_r	  Úuser_tmp_ixr_   rn   r`   ro   )r   r   r>   rj   r   r   rp   rq   rr   r  rh   r%   r   rT   rW   r9   rs   r   rb   r$   rt   s        r@   rZ   z*ComponentReflectionTest.define_temp_tables0  sJ  € å$¥V­V¬YÑ7Ô7ˆØ×(Ò(Ñ*Ô*ˆ
ÝØØÝ�4�œ¨TÐ2Ñ2Ô2Ý�6�2œ: b™>œ>Ñ*Ô*Ý�5�"œ&Ñ!Ô!õ Ô Ð-J½F¼LÐ-JÐ-JÐKÑKÔKÝŒH�] EÑ*Ô*ð
ð 
ð ð
ð 
ˆõ" ÔÔ,Ô4ð	OåÔ Ô0Ô8ð	Oõ ŒLØØÝð0Ý28´,ñ?ñô ñô ð õ ŒL˜ =µ#Ð6LÑ2MÔ2MÑNÔNÐNÐNÐNð	Oð 	Oð 	Oð 	OrB   c                 óÜ  — t           j        j        j        rdh}nt	          ¦   «         }dD ]À}|}|r|› d|› �}|dz   }||v rdnd}d|› d|› d	|› �}t          j        |d
t          |¦  «        ¦  «         ||v rKd}	|rt          j        d¦  «        r|› d|	› �}	d|	› d|› d�}
t          j        |d
t          |
¦  «        ¦  «         t          j        |dt          d|› d|› �¦  «        ¦  «         ŒÁd S )Nr]  ©rO  rh  r]  rL  Ú_vzMATERIALIZED rM  zCREATE zVIEW r  r_   Ú	mat_indexÚoraclezCREATE INDEX z ON z(data)r`   zDROP )	r   rT   Úmaterialized_viewsr9   Úsetr   rb   r$   Úagainst)r?   r\   rS   Úmaterializedrv   ÚfullnameÚ	view_nameÚprefixrc   Ú
index_namer¿   s              r@   rX   z$ComponentReflectionTest.define_viewsR  s]  € åÔÔ.Ô6ð 	!Ø(˜>ˆLˆLå™5œ5ˆLØDð 	ð 	ˆJØ!ˆHØð 4Ø$Ð3Ð3 zÐ3Ð3�Ø  4™ˆIØ(2°lÐ(BÐ(B�_�_ÈˆFàN˜&ÐNÐN yÐNÐNÀHÐNÐNð õ ŒL˜ >µ3°u±:´:Ñ>Ô>Ð>Ø˜\Ð)Ð)Ø(�
Øð :�gœo¨hÑ7Ô7ð :Ø$*Ð!9Ð!9¨ZÐ!9Ð!9�JØG jÐGÐG°iÐGÐGÐG�Ý”˜X ~µs¸3±x´xÑ@Ô@Ð@ÝŒLØ˜-­Ð-M°VÐ-MÐ-MÀ)Ð-MÐ-MÑ)NÔ)Nñô ð ð ð#	ð 	rB   c                 óÜ   — i }t           j        |v r|                     |¦  «         t           j        |v r|                     |¦  «         t           j        |v r|                     |¦  «         |S r—   )r    rA  ÚupdaterB  rC  )r~   r¬   r¼   r¡   rœ  r  s         r@   Ú_resolve_kindz%ComponentReflectionTest._resolve_kindm  sk   € ØˆÝÔ˜tÐ#Ð#Ø�JŠJ�vÑÔÐÝŒ?˜dÐ"Ð"Ø�JŠJ�uÑÔÐÝÔ'¨4Ð/Ð/Ø�JŠJ�|Ñ$Ô$Ð$Øˆ
rB   c                 ó  — t           j        j        j        s*|                     ¦   «          |                     ¦   «          d S t           j        j        j        s+|                     |¦  «         |                     ¦   «          d S d S r—   )r   rT   r  r9   Úclearr™  r¢  )r~   r¡   rœ  s      r@   Ú_resolve_viewsz&ComponentReflectionTest._resolve_viewsw  s{   € ÝÔÔ6Ô>ð 	!Ø×ÒÑ Ô Ð Ø�KŠK‰MŒMˆMˆMˆMÝÔ!Ô4Ô<ð 	!Ø�LŠL˜Ñ&Ô&Ð&Ø×ÒÑ Ô Ð Ð Ð ð	!ð 	!rB   c           	      ó4  ‡‡‡‡— d„ Š|t           j        u rd„ Š|t           j        u rd„ Šd ddht          j        j        dddd	|                      ¦   «         hiŠt          j        j        j	        sG‰d           
                    d¦  «         ‰t          j        j                                      ddg¦  «         t          j        j        j	        s‰d                               ddg¦  «         t          j        j        j	        rt          j        j        j	        s/‰d                               d	|                      ¦   «         g¦  «         t          j        j        j	        s‰d                               d	g¦  «         ˆˆˆˆfd
„|                     ¦   «         D ¦   «         }|S )Nc                 ó   — dS )NTrG   )Ú_s    r@   r´   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>€  s   €  € rB   c                 ó   — d| d         vS ©NÚtmprÝ   rG   ©r³   s    r@   r´   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>‚  s   €  U°!°A´$Ð%6€ rB   c                 ó   — d| d         v S r«  rG   r­  s    r@   r´   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>„  s   €  U¨a°¬d ]€ rB   r|  r~  rz  r�  rƒ  r›   c                 ój   •— i | ]/\  }} ‰|¦  «        r|d          ‰‰         vr‰r
|d          ‰v ¯,||“Œ0S )rÝ   rG   )Ú.0r³   ÚvrE  ÚremovedrS   Úscope_filters      €€€€r@   ú
<dictcomp>z:ComponentReflectionTest._resolve_names.<locals>.<dictcomp>¡  sg   ø€ ð 
ð 
ð 
á��1Øˆ|˜A‰Œð
ð �!”˜G FœOÐ+Ð+Ø!ð ,Ø%& q¤T¨\Ð%9Ð%9ð	 ˆqð &:Ð%9Ð%9rB   )r!   r>  r?  r   r   rV   rj   rT   r‰  r9   Úaddr¢  r¤   rù   Útemp_table_namesrs   Úitems)r~   rS   r5   rE  Úvaluesr  r²  r³  s    ` `  @@r@   Ú_resolve_namesz&ComponentReflectionTest._resolve_names  sÅ  øøøø€ Ø%�~ˆØ•KÔ'Ð'Ð'Ø6Ð6ˆLØ•KÔ)Ð)Ð)Ø2Ð2ˆLð �>Ð#3Ð4ÝŒNÔ&ØØ&Ø$ØØ×$Ò$Ñ&Ô&ð)ð	
ˆõ ÔÔ:ÔBð 	Ø�DŒM×Ò˜mÑ,Ô,Ð,Ø•G”NÔ.Ô/×6Ò6ØÐ!1Ð2ñô ð õ ÔÔ0Ô8ð 	Ø�DŒM× Ò Ø'Ð)=Ð>ñô ð õ Ô Ô6Ô>ð	IåÔ#Ô4Ô<ð	Ið �DŒM× Ò  ,°×0DÒ0DÑ0FÔ0FÐ!GÑHÔHÐHÝÔÔ/Ô7ð 	1Ø�DŒM× Ò  , Ñ0Ô0Ð0ð
ð 
ð 
ð 
ð 
ð 
ð 
àŸš™œð
ñ 
ô 
ˆð ˆ
rB   c                 óf  — |dft           j        i}|dft           j        |dft           j        |dft           j        i}|                      ||¦  «         |dft           j        |dft           j        |dft           j        |dft           j        |d	ft           j        |d
ft           j        |dft           j        |dft           j        |dft           j        |dft           j        ||                      ¦   «         ft           j        i}|                      ||||¦  «        }|                      ||||¦  «        }|S )NÚdingalings_vÚemail_addresses_vÚusers_vr›   rO  r]  rh  ro  rx  rz  r|  r~  r�  rƒ  ©r-   r@  r¦  rj   r£  r¹  )	r~   rS   r5   r¬   rE  rœ  r¡   r¼   r  s	            r@   Úexp_optionsz#ComponentReflectionTest.exp_optionsª  s.  € ð   Ð0µ$´(Ð;ˆàÐ(Ð)­4¬8Ø�YÐ¥¤Ø�\Ð"¥D¤Hð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0à�WÐ�tœxØ�\Ð"¥D¤HØÐ&Ð'­¬Ø�^Ð$¥d¤hØÐ%Ð&­¬Ø�]Ð#¥T¤XØ�^Ð$¥d¤hØÐ%Ð&­¬ØÐ+Ð,­d¬hØÐ)Ð*­D¬HØ�T×)Ò)Ñ+Ô+Ð,­d¬hð
ˆð × Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 óJ  — dd i}|df|i}|df||df||df|i}|                       ||¦  «         |df||df||df||d	fdd
i|dfddi|df||df||df||df||df|||                      ¦   «         f|i}|                      ||||¦  «        }	|                      ||||	¦  «        }	|	S )NÚtextr»  r¼  r½  r›   rO  r]  rh  ro  rw  rx  ry  rz  r|  r~  r�  rƒ  )r¦  rj   r£  r¹  )
r~   rS   r5   r¬   rE  Úemptyrœ  r¡   r¼   r  s
             r@   Úexp_commentsz$ComponentReflectionTest.exp_commentsÉ  s/  € ð ˜�ˆØ Ð0°%Ð8ˆàÐ(Ð)¨5Ø�YÐ Ø�\Ð" Eð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0à�WÐ˜uØ�\Ð" EØÐ&Ð'¨Ø�^Ð$ØÐ=ð'ð Ð%Ð&ØÐ@ð)ð �]Ð# UØ�^Ð$ eØÐ%Ð&¨ØÐ+Ð,¨eØÐ)Ð*¨EØ�T×)Ò)Ñ+Ô+Ð,¨eð
ˆð" × Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 óŠ  ‡
— dt           j        d dfd„Š
ˆ
fd„}|df ‰
ddt           j        ¬¦  «         ‰
d	¦  «         ‰
d
¦  «         ‰
d¦  «        gi}|df ‰
d	dt           j        ¬¦  «         ‰
d¦  «         ‰
d¦  «        g|df ‰
ddt           j        ¬¦  «         ‰
dt           j        ¬¦  «         ‰
dt           j        ¬¦  «         ‰
d¦  «        g|df ‰
ddt           j        ¬¦  «         ‰
d¦  «         ‰
d¦  «        gi}|                      ||¦  «         |df |d¦  «         ‰
dd¬¦  «         ‰
dd¬¦  «         ‰
d¦  «        g|df |d¦  «         ‰
d	¦  «         ‰
d
¦  «         ‰
d¦  «        g|df |d	¦  «         ‰
d¦  «         ‰
d¦  «        g|df |dd¬¦  «         ‰
dd¬¦  «         ‰
d d!¬¦  «         ‰
d"d#¬¦  «        g|d$f ‰
d¦  «        g|d%f |d¦  «         ‰
d¦  «         ‰
d&¦  «        g|d'f |d¦  «         ‰
d(¦  «         ‰
d¦  «        g|d)f |d¦  «         ‰
d¦  «        g|d*f ‰
d+¦  «        g|d,f |d¦  «         ‰
d+¦  «        g||                      ¦   «         f |d¦  «         ‰
d¦  «         ‰
d¦  «        gi}|                      ||||¦  «        }	|                      ||||	¦  «        }	|	S )-NFTc                 ób   — | |t           j        |||dœ}|dk    r|                     d¦  «         |S )N)rm   ÚautoincrementÚtypeÚdefaultrð   rT  ÚomitrÆ  )r-   r@  Úpop)rm   ÚautorÈ  rð   rT  r  s         r@   rƒ   z0ComponentReflectionTest.exp_columns.<locals>.colô  sF   € ð Ø!%ÝœØ"Ø"Ø$ðð ˆCð �vŠ~ˆ~Ø—’˜Ñ(Ô(Ð(ØˆJrB   c                 ó:   •— dt           j        ddœ|¥} ‰| fi |¤ŽS )NTF)rË  rÈ  rT  ©r-   r@  )rm   ru   rƒ   s     €r@   Úpkz/ComponentReflectionTest.exp_columns.<locals>.pk  s-   ø€ Ø­4¬8ÀÐMÐMÈ"ÐMˆBØ�3�t�?�?˜r�?�?Ð"rB   r»  r^  rÉ  )rË  rT  r_  rb  rO   r¼  ri  rj  r½  rP  rQ  rS  rU  rV  r›   rL   rm   r»   rO  r]  rh  ro  rp  rï   rq  rr  rs  rt  rv  rx  rz  r{  r|  r}  r~  r�  r‚  rƒ  r¾  )r~   rS   r5   r¬   rE  rÎ  rœ  r¡   r¼   r  rƒ   s             @r@   Úexp_columnsz#ComponentReflectionTest.exp_columnsí  sâ  ø€ ð ¥d¤h¸Àtð	ð 	ð 	ð 	ð	#ð 	#ð 	#ð 	#ð 	#ð
 �^Ð$Ø��N¨½$¼(ÐCÑCÔCØ��LÑ!Ô!Ø��I‘”Ø��F‘”ð	'ð
ˆð Ð(Ð)Ø��L v½¼ÐAÑAÔAØ�Ð$Ñ%Ô%Ø��OÑ$Ô$ð,ð
 �YÐØ��I FµT´XÐ>Ñ>Ô>Ø��G¥d¤hÐ/Ñ/Ô/Ø��G¥d¤hÐ/Ñ/Ô/Ø�Ð$Ñ%Ô%ð	"ð �\Ð"Ø��D˜vµ´Ð9Ñ9Ô9Ø��F‘”Ø��E‘
”
ð%ð
ˆð$ 	×Ò˜E <Ñ0Ô0Ð0à�WÐØ��9‘”Ø��G eÐ,Ñ,Ô,Ø��G eÐ,Ñ,Ô,Ø�Ð$Ñ%Ô%ð	 ð �\Ð"Ø��>Ñ"Ô"Ø��LÑ!Ô!Ø��I‘”Ø��F‘”ð	%ð Ð&Ð'Ø��<Ñ Ô Ø�Ð$Ñ%Ô%Ø��OÑ$Ô$ð*ð
 �^Ð$Ø��4 Ð.Ñ.Ô.Ø��FÐ$4Ð5Ñ5Ô5Ø�ØØLðñ ô ð ��DÐ":Ð;Ñ;Ô;ð'ð Ð%Ð&¨¨¨V©¬¨Ø�]Ð# b b¨¡h¤h°°°F±´¸S¸SÀÑ=MÔ=MÐ%NØ�^Ð$ r r¨$¡x¤x°°°Z±´À#À#ÀfÁ+Ä+Ð&NØÐ%Ð&¨¨¨D©¬°3°3°v±;´;Ð(?ØÐ+Ð,¨s¨s°3©x¬x¨jØÐ)Ð*¨R¨R°©X¬X°s°s¸3±x´xÐ,@Ø�T×)Ò)Ñ+Ô+Ð,Ø��4‘”Ø��F‘”Ø��E‘
”
ð/ðC&
ˆðN × Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 ó
   — h d£S )N>   rm   rÇ  rÈ  rT  rG   rü   s    r@   Ú_required_column_keysz-ComponentReflectionTest._required_column_keysM  s   € à6Ð6Ð6Ð6rB   c                 óð  — t           j        d dœd„} |d ¬¦  «        }t          j        j        j        r|df |d¦  «        i}n|df|i}|df||df||df|i}|                      ||¦  «         |d	f |d
¦  «        |df |d¦  «        |df |ddd¬¦  «        |df |d¦  «        |df||df |d¦  «        |df |d¦  «        |df |d¦  «        |df||df |d¦  «        ||                      ¦   «         f |d¦  «        i}	t          j        j        j        s.|	 	                    ¦   «         D ]}
|
d         �t           j        |
d<   Œ|  
                    ||	||¦  «        }|                      ||||¦  «        }|S )NrZ  c                 ó(   — t          |¦  «        | |dœS )N)Úconstrained_columnsrm   rð   )Úlist)rm   rð   Úcolss      r@   rÎ  z+ComponentReflectionTest.exp_pks.<locals>.pkX  s    € å'+¨D¡z¤zØØ"ðð ð rB   r	  r»  r^  r¼  r½  r›   rO  rP  r]  rh  r_  rm  rn  ro  rL   rx  rz  r|  r~  r�  rƒ  rm   )r-   r@  r   rT   Úmaterialized_views_reflect_pkr9   r¦  rj   Úreflects_pk_namesr¸  r£  r¹  )r~   rS   r5   r¬   rE  rÎ  rÂ  rœ  r¡   r¼   Úvalr  s               r@   Úexp_pkszComponentReflectionTest.exp_pksQ  s  € õ  œ8¨Tð 	ð 	ð 	ð 	ð 	ð �˜�‘”ˆÝÔÔ9ÔAð 	=Ø# ^Ð4°b°b¸Ñ6HÔ6HÐIˆLˆLà# ^Ð4°eÐ<ˆLàÐ(Ð)¨5Ø�YÐ Ø�\Ð" Eð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0à�WÐ˜r˜r )™}œ}Ø�\Ð" B B ~Ñ$6Ô$6ØÐ&Ð'¨¨Ø =¸/ð*ñ *ô *ð �^Ð$ b b¨¡h¤hØÐ%Ð&¨Ø�]Ð# R R¨¡X¤XØ�^Ð$ b b¨¡h¤hØÐ%Ð&¨¨¨4©¬ØÐ+Ð,¨eØÐ)Ð*¨B¨B¨t©H¬HØ�T×)Ò)Ñ+Ô+Ð,¨b¨b°©h¬hð
ˆõ ÔÔ1Ô9ð 	+Ø—}’}‘”ð +ð +�Ø�v”;Ð*Ý"&¤(�C˜‘KøØ× Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 ó
   — ddhS )Nrm   rÔ  rG   rü   s    r@   Ú_required_pk_keysz)ComponentReflectionTest._required_pk_keys�  s   € àÐ-Ð.Ð.rB   c                 óX  ‡—  G d„ d¦  «        Š|t           j        d fˆfd„	}|dfg i}|dfg |dfg |dfg i}|                      ||¦  «         |df |d	gd
gdd¬¦  «        g|df |dgd
gd¦  «         |dgdgddd¬¦  «        g|df |dgd
gd¦  «        g|dfg |dfg |df |dgdgdt          j        ¬¦  «        g|df |dgdgdd ¬¦  «        g|dfg |dfg |dfg ||                      ¦   «         fg i}t          j        j        j	        s||df          
                    ¦   «          t          j        j        j	        s?|                     ¦   «         D ]*}	|	D ]%}
|
d          t           j        urt           j        |
d <   Œ&Œ+|                      ||||¦  «        }|                      ||||¦  «        }|S )!Nc                   ó   — e Zd Zd„ ZdS )ú+ComponentReflectionTest.exp_fks.<locals>.ttc                 ó>   — |d u pt           j        j        j        |k    S r—   )r   r>   r{   rŠ  )r~   rØ   s     r@   Ú__eq__z2ComponentReflectionTest.exp_fks.<locals>.tt.__eq__�  s$   € à˜T�Mð FÝ”yÔ(Ô<ÀÒEðrB   N©rC   rD   rE   rá  rG   rB   r@   rª   rß  Œ  s#   € € € € € ðð ð ð ð rB   rª   c                 óD   •— | ||t           j        |�|n	 ‰¦   «         ||dœS )N)rÔ  Úreferred_columnsrm   r6   Úreferred_schemaÚreferred_tablerð   rÍ  )rÖ  Úref_colÚ	ref_tableÚ
ref_schemarm   rð   rª   s         €r@   Úfkz+ComponentReflectionTest.exp_fks.<locals>.fk“  s:   ø€ ð (,Ø$+ØÝœ8à",Ð"8�J�J¸b¸b¹d¼dà"+Ø"ð
ð 
ð 
rB   r»  r¼  r½  r›   rO  rV  rP  rN  r	  r]  rb  r_  rh  r`  ra  rZ  ri  ro  rx  rz  r{  rL   r~  )ré  r|  r}  r�  rƒ  rm   )r-   r@  r¦  r   rV   rj   r   rT   r†  r9   r¥  Únamed_constraintsr¸  r£  r¹  )r~   rS   r5   r¬   rE  rê  rœ  r¡   r¼   ÚvalsrÙ  r  rª   s               @r@   Úexp_fkszComponentReflectionTest.exp_fks…  s·  ø€ ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð Ý”Øð	ð 	ð 	ð 	ð 	ð 	ð(   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0à�WÐØ�Ð$Ð%¨	 {°GÀ,ÐOÑOÔOð ð �\Ð"Ø��I�;  ¨WÑ5Ô5Ø�Ø!�NØ!�NØ%Ø-Ø+ðñ ô ð	%ð Ð&Ð'Ø�Ð$Ð%¨	 {°GÑ<Ô<ð*ð �^Ð$ bØÐ%Ð&¨Ø�]Ð#Ø�Ø �MØ�FØ$Ý%Ô1ð	ñ ô ð&ð �^Ð$Ø��J�< $ ¨À4ÐHÑHÔHð'ð Ð%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ�T×)Ò)Ñ+Ô+Ð,¨bðC"
ˆõF ÔÔ=ÔEð 	.Ø�F˜GÐ$Ô%×+Ò+Ñ-Ô-Ð-ÝÔÔ1Ô9ð 	/ØŸš™œð /ð /�Øð /ð /�CØ˜6”{­$¬(Ð2Ð2Ý&*¤h˜˜F™øð/ð × Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 ó
   — h d£S )N>   rm   ræ  rå  rä  rÔ  rG   rü   s    r@   Ú_required_fk_keysz)ComponentReflectionTest._required_fk_keysÝ  s   € ð
ð 
ð 
ð 	
rB   c                 ó’  — dd dddœd„}|dfg i}|dfg |dfg |dfg i}|                       ||¦  «         |r(||df                               |dd	¬
¦  «        ¦  «         |dfg  |ddd¬¦  «        ¢ |dddd¬
¦  «        ¢ |dddd¬¦  «        ¢|dfg  |dt          j        dd¬¦  «        ¢ |dt          j        d¬¦  «        ¢ |ddddd¬¦  «        ¢|dfg  |dt          j        ¬
¦  «        ¢ |dt          j        d¬¦  «        ¢|dfg |d fg |d!fg  |d"t          j        d¬¦  «        ¢|d#fg  |d$t          j        d¬¦  «        ¢|d%fg |d&fg  |d'd(d'd)i¬*¦  «        ¢|d+fg  |d'd,d'd)i¬*¦  «        ¢||                      ¦   «         fg  |d-d.¬
¦  «        ¢ |d/d0t
          j        › �dd¬1¦  «        ¢i}t          j        j	        j
        rt          j        j        j
        s8||d&f                              ¦   «          ||d+f                              ¦   «          |                      ||||¦  «        }	|                      ||||	¦  «        }	|	S )2NF)rd  Úcolumn_sortingÚ
duplicatesrê  c                 ó<  ‡— t           j        j        }t           j        j        }t           j        j        }|r|j        r	|r	|j        sdS |t          |¦  «        | t          j        g dœ}	‰r*‰|	d<   |j        r|	d         x|	d<   }
ˆfd„|
D ¦   «         |	d<   |r| |	d<   |	gS )NrG   )rd  rÍ   rm   Údialect_optionsÚinclude_columnsrñ  rÍ   Úexpressionsc                 ó    •— g | ]
}|‰v rd n|‘ŒS r—   rG   )r°  r©   rñ  s     €r@   ú
<listcomp>zDComponentReflectionTest.exp_indexes.<locals>.idx.<locals>.<listcomp>  s4   ø€ ð +ð +ð +Ø?@  ^Ð 3Ð 3˜˜¸ð+ð +ð +rB   Úduplicates_constraint)	r   rT   Úforeign_keys_reflect_as_indexÚ#unique_constraints_reflect_as_indexÚ*reflect_indexes_with_ascdesc_as_expressionr9   rÕ  r-   r@  )rm   rd  rñ  rò  rê  rÖ  Úfk_reqÚdup_reqÚsorting_expressionr  Úorigs     `        r@   r¿   z0ComponentReflectionTest.exp_indexes.<locals>.idxî  sõ   ø€ õ Ô%ÔCˆFÝÔ&ÔJˆGåÔ ÔKð ð ð ˜6œ>ð ØðØ#*¤?ðð �rà Ý $ T¡
¤
ØÝ#'¤8Ø#%ðð ˆCð ð Ø(6�Ð$Ñ%Ø%Ô-ð Ø03°NÔ0CÐC�C˜Ñ&¨ð+ð +ð +ð +ØDHð+ñ +ô +�C˜Ñ'ð ð 4Ø/3�Ð+Ñ,Ø�5ˆLrB   r»  r¼  r½  r›   rO   r—  r	  rO  rV  rN  T)rm   rê  rP  rU  rQ  r€  r  )rm   rd  r]  )rm   rd  rò  rb  r_  r^  rf  rh  rj  ri  ro  rx  rz  r{  r|  r}  r~  r�  r‚  r„  )r�  )rm   rñ  rƒ  r…  r»   r“  rm   r’  )rm   rò  rd  )r¦  Úextendr-   r@  rj   r   rh   r   rT   r‹  r9   rŒ  r¥  r£  r¹  )
r~   rS   r5   r¬   rE  r¿   rœ  r¡   r¼   r  s
             r@   Úexp_indexesz#ComponentReflectionTest.exp_indexesç  s­  € ð ØØØð#	ð #	ð #	ð #	ð #	ðJ   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0Øð 	Ø˜& .Ð1Ô2×9Ò9Ø��F Ð-Ñ-Ô-ñô ð ð �WÐð  Ø�Ð%¨L¸TÐBÑBÔBð à��Y ¨°ÐGÑGÔGð ð ��W˜g¨MÀ$ÐGÑGÔGð ð
 �\Ð"ð 
%Ø��V¥$¤(°4ÀDÐIÑIÔIð
%à��Y¥T¤X°$Ð7Ñ7Ô7ð
%ð �Ø Ø"Ø1ØØ#ðñ ô ð
%ð Ð&Ð'ð *Ø��_­4¬8Ð4Ñ4Ô4ð*à�Ð%­D¬H¸Ð>Ñ>Ô>ð*ð �^Ð$ bØÐ%Ð&¨Ø�]Ð#ð &Ø��[¥t¤x°DÐ9Ñ9Ô9ð&ð �^Ð$ð 'Ø��Z¥d¤h°4Ð8Ñ8Ô8ð'ð Ð%Ð&¨ØÐ+Ð,ð /Ø�ØØ*Ø$'¨Ð#3ðñ ô ð/ð Ð)Ð*ð -Ø�Ø˜o¸sÀIÐ>Nðñ ô ð-ð
 �T×)Ò)Ñ+Ô+Ð,ð /Ø��U Ð/Ñ/Ô/ð/à�ØØ6­¬Ð6Ð6Ø#Øð	ñ ô ð/ðU3
ˆõj Ô Ô5Ô=ð	;åÔ#Ô@ÔHð	;ð �FÐ2Ð3Ô4×:Ò:Ñ<Ô<Ð<Ø�FÐ0Ð1Ô2×8Ò8Ñ:Ô:Ð:Ø× Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 ó
   — h d£S )N>   rm   rd  rÍ   rG   rü   s    r@   Ú_required_index_keysz,ComponentReflectionTest._required_index_keys\  s   € à1Ð1Ð1Ð1rB   Fc                 ó  — d dd dœd„}|dfg i}|dfg |dfg |dfg i}|                       ||¦  «         |dfg  |d	d
ddd¬¦  «        ¢|dfg  |dt          j        t          j        ¬¦  «        ¢ |ddddd¬¦  «        ¢|dfg |dfg |dfg |dfg |dfg |dfg |dfg |dfg ||                      ¦   «         fg  |ddt          j        › �¬ ¦  «        ¢i}	|ri |¥|¥|	¥S |                      ||	||¦  «        }
|                      ||||
¦  «        }
|
S )!NF)Úduplicates_indexÚis_indexrð   c                 ót   — t           j        j        }|r	|j        sdS t	          |¦  «        | |dœ}|r||d<   |gS )NrG   )rÍ   rm   rð   r  )r   rT   Ú*unique_index_reflect_as_unique_constraintsr9   rÕ  )rm   r  r  rð   rÖ  Úreqr  s          r@   Úucz+ComponentReflectionTest.exp_ucs.<locals>.uch  s\   € õ Ô"ÔMˆCØð  ¤ð Ø�rå $ T¡
¤
ØØ"ðð ˆCð
  ð ;Ø*:�Ð&Ñ'Ø�5ˆLrB   r»  r¼  r½  r›   rO  rQ  rU  r  T)rm   r  r  r]  rO   )rm   r  r_  r^  rf  rg  )rm   r  rð   rh  ro  rx  rz  r|  r~  r�  rƒ  rm   r’  r	  )r¦  r-   r@  rj   r   rh   r£  r¹  )r~   rS   r5   r¬   rE  Úall_r  rœ  r¡   r¼   r  s              r@   Úexp_ucszComponentReflectionTest.exp_ucs`  sì  € ð +/¸Èð	ð 	ð 	ð 	ð 	ð   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0à�WÐð  Ø�ØØØ&Ø%2Ø!ðñ ô ð ð �\Ð"ð 	%Ø��F¥¤½D¼HÐEÑEÔEð	%à�Ø Ø"Ø1Ø%=Ø/ðñ ô ð	%ð Ð&Ð'¨Ø�^Ð$ bØÐ%Ð&¨Ø�]Ð# RØ�^Ð$ bØÐ%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ�T×)Ò)Ñ+Ô+Ð,ð /Ø��FÐ!>µ´Ð!>Ð!>Ð?Ñ?Ô?ð/ð9
ˆð@ ð 	Ø6�lÐ6 eÐ6¨vÐ6Ð6à×$Ò$ T¨6°5¸,ÑGÔGˆCØ×%Ò% f¨e°\À3ÑGÔGˆCØˆJrB   c                 ó
   — ddhS )Nrm   rÍ   rG   rü   s    r@   Ú_required_unique_cst_keysz1ComponentReflectionTest._required_unique_cst_keys¥  s   € à˜Ð'Ð'rB   c                 óÊ  ‡
—  G d„ dt           ¦  «        Š
dˆ
fd„	}|dfg i}|dfg |dfg |dfg i}|                      ||¦  «         |df |d	t          j        ¦  «         |d
dd¬¦  «        g|df |dd¬¦  «        g|dfg |dfg |dfg |dfg |dfg |dfg |dfg |dfg ||                      ¦   «         fg i}|                      ||||¦  «        }	|                      ||||	¦  «        }	|	S )Nc                   ó   — e Zd Zd„ ZdS )ú+ComponentReflectionTest.exp_ccs.<locals>.ttc                 óª   — |                      ¦   «                              dd¦  «                             dd¦  «                             dd¦  «        }| |v S )Nú(rM  ú)ú`)ÚlowerÚreplace)r~   rØ   r  s      r@   rá  z2ComponentReflectionTest.exp_ccs.<locals>.tt.__eq__±  sK   € à—K’K‘M”Mß’W˜S "Ñ%Ô%ß’W˜S "Ñ%Ô%ß’W˜S "Ñ%Ô%ð	 ð ˜s�{Ð"rB   Nrâ  rG   rB   r@   rª   r  °  s#   € € € € € ð#ð #ð #ð #ð #rB   rª   c                 ó"   •—  ‰| ¦  «        ||dœS )N)Úsqltextrm   rð   rG   )rÁ  rm   rð   rª   s      €r@   Úccz+ComponentReflectionTest.exp_ccs.<locals>.ccº  s   ø€ Ø!˜r $™xœx°À'ÐJÐJÐJrB   r»  r¼  r½  r›   rO  r[  rW  rX  rY  rï   r]  z$address_id > 0 and address_id < 1000re  r	  rh  ro  rx  rz  r|  r~  r�  rƒ  r—   )Ústrr¦  r-   r@  rj   r£  r¹  )r~   rS   r5   r¬   rE  r  rœ  r¡   r¼   r  rª   s             @r@   Úexp_ccszComponentReflectionTest.exp_ccs©  s±  ø€ ð	#ð 	#ð 	#ð 	#ð 	#•ñ 	#ô 	#ð 	#ð	Kð 	Kð 	Kð 	Kð 	Kð 	Kð
   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ò˜E <Ñ0Ô0Ð0à�WÐØ��?¥D¤HÑ-Ô-Ø�ØØ&Ø4ðñ ô ð ð �\Ð"Ø�Ø:Ø-ðñ ô ð%ð Ð&Ð'¨Ø�^Ð$ bØÐ%Ð&¨Ø�]Ð# RØ�^Ð$ bØÐ%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ�T×)Ò)Ñ+Ô+Ð,¨bð/
ˆð2 × Ò   v¨u°lÑCÔCˆØ×!Ò! &¨%°¸sÑCÔCˆØˆ
rB   c                 ó
   — ddhS )Nrm   r  rG   rü   s    r@   Ú_required_cc_keysz)ComponentReflectionTest._required_cc_keysã  s   € à˜	Ð"Ð"rB   c                 óˆ   — t          |¦  «        }t          t          j        j        |                     ¦   «         v ¦  «         d S r—   )r   r,   r   r   rV   Úget_schema_namesr“   s      r@   Útest_get_schema_namesz-ComponentReflectionTest.test_get_schema_namesç  s9   € å�zÑ"Ô"ˆå•”Ô*¨d×.CÒ.CÑ.EÔ.EÐEÑFÔFÐFÐFÐFrB   c                 óÊ   — t          |¦  «        }t          |                     t          j        j        ¦  «        ¦  «         t          |                     d¦  «        ¦  «         d S )NÚsa_fake_schema_foo)r   r,   Ú
has_schemar   r   rV   r*   r“   s      r@   Útest_has_schemaz'ComponentReflectionTest.test_has_schemaí  sO   € å�zÑ"Ô"ˆå�—’¥¤Ô :Ñ;Ô;Ñ<Ô<Ð<Ý�—’Ð!5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7rB   c                 óä   — |                      ddt          t          j        j        i¬¦  «        }t          |¦  «        }t          t          j        j        |                     ¦   «         v ¦  «         dS )z
test #7300r»   Úbar©Úschema_translate_mapN)Úexecution_optionsr'   r   r   rV   r   r,   r!  r“   s      r@   Ú%test_get_schema_names_w_translate_mapz=ComponentReflectionTest.test_get_schema_names_w_translate_mapô  sk   € ð  ×1Ò1à�uÝ�gœnÔ8ð"ð 2ñ 
ô 
ˆ
õ �zÑ"Ô"ˆå•”Ô*¨d×.CÒ.CÑ.EÔ.EÐEÑFÔFÐFÐFÐFrB   c                 ó&  — |                      ddt          t          j        j        i¬¦  «        }t          |¦  «        }t          |                     t          j        j        ¦  «        ¦  «         t          |                     d¦  «        ¦  «         d S )Nr»   r(  r)  r$  )	r+  r'   r   r   rV   r   r,   r%  r*   r“   s      r@   Útest_has_schema_w_translate_mapz7ComponentReflectionTest.test_has_schema_w_translate_map  s   € à×1Ò1à�uÝ�gœnÔ8ð"ð 2ñ 
ô 
ˆ
õ �zÑ"Ô"ˆå�—’¥¤Ô :Ñ;Ô;Ñ<Ô<Ð<Ý�—’Ð!5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7rB   c                 óÂ  — t          |¦  «        }t          d|                     ¦   «         v ¦  «         t          |                     d¦  «        ¦  «         |                     t          d¦  «        ¦  «         	 t          d|                     ¦   «         v ¦  «         t          |                     d¦  «        ¦  «         |                     ¦   «          t          d|                     ¦   «         v ¦  «         t          |                     d¦  «        ¦  «         |                     t          d¦  «        ¦  «         d S # |                     t          d¦  «        ¦  «         w xY w)NÚfoo_barzCREATE SCHEMA foo_barzDROP SCHEMA foo_bar)r   r*   r!  r%  Úexecuter$   r…   r,   r“   s      r@   Útest_schema_cachez)ComponentReflectionTest.test_schema_cache  s6  € õ �zÑ"Ô"ˆå�˜d×3Ò3Ñ5Ô5Ð5Ñ6Ô6Ð6Ý�—’ Ñ+Ô+Ñ,Ô,Ð,Ø×Ò�3Ð6Ñ7Ô7Ñ8Ô8Ð8ð	;Ý�Y $×"7Ò"7Ñ"9Ô"9Ð9Ñ:Ô:Ð:Ý�T—_’_ YÑ/Ô/Ñ0Ô0Ð0Ø×ÒÑÔÐÝ�I ×!6Ò!6Ñ!8Ô!8Ð8Ñ9Ô9Ð9Ý�D—O’O IÑ.Ô.Ñ/Ô/Ð/à×Ò�sÐ#8Ñ9Ô9Ñ:Ô:Ð:Ð:Ð:øˆJ×Ò�sÐ#8Ñ9Ô9Ñ:Ô:Ð:Ð:øøøs   Á8BD: Ä:$Ec                 óx   — t          j        ¦   «         }t          |¦  «         t          |j        d¦  «        sJ ‚d S )NrŠ  )r   r;   r   Úhasattrr{   )r~   Úengines     r@   Útest_dialect_initializez/ComponentReflectionTest.test_dialect_initialize   s:   € åÔ'Ñ)Ô)ˆÝ�‰ŒˆÝ�v”~Ð'<Ñ=Ô=Ð=Ð=Ð=Ð=Ð=rB   c                 ób   — t          |¦  «        }t          |j        |j        j        ¦  «         d S r—   )r   r   rŠ  r{   r“   s      r@   Útest_get_default_schema_namez4ComponentReflectionTest.test_get_default_schema_name&  s.   € å�zÑ"Ô"ˆÝˆDÔ$ jÔ&8Ô&LÑMÔMÐMÐMÐMrB   Úforeign_keyÚorder_byr­   Ú
use_schemac                 óT  ‡	— |rt           j        }nd }h d£Š	t          |¦  «        }|r d„ |                     |¦  «        D ¦   «         }n|                     |¦  «        }ˆ	fd„|D ¦   «         }|dk    rg d¢}t          ||¦  «         d S g d¢}t          t          |¦  «        |¦  «         d S )N>   rz  ro  r|  rx  r~  rƒ  r�  c                 ó.   — g | ]}|d          ¯
|d          ‘ŒS )r   rG   )r°  Úrecs     r@   rø  z@ComponentReflectionTest.test_get_table_names.<locals>.<listcomp>F  s6   € ð ð ð àØ�q”6ðØ�A”ðð ð rB   c                 ó   •— g | ]}|‰v¯|‘Œ	S rG   rG   )r°  ÚtÚ_ignore_tabless     €r@   rø  z@ComponentReflectionTest.test_get_table_names.<locals>.<listcomp>M  s#   ø€ ÐDÐDÐD˜Q¨A°^Ð,CÐ,C�qÐ,CÐ,CÐ,CrB   r9  r•  )r]  rh  rO  )r   rV   r   Úget_sorted_table_and_fkc_namesÚget_table_namesr   Úsorted)
r~   r”   r:  r;  rS   r‡   r¼   rÑ   ÚanswerrA  s
            @r@   Útest_get_table_namesz,ComponentReflectionTest.test_get_table_names+  sõ   ø€ ð ð 	ÝÔ'ˆFˆFàˆFð
ð 
ð 
ˆõ �zÑ"Ô"ˆàð 	2ðð à×>Ò>¸vÑFÔFðñ ô ˆFˆFð ×)Ò)¨&Ñ1Ô1ˆFØDÐDÐDÐD &ÐDÑDÔDˆà�}Ò$Ð$Ø?Ð?Ð?ˆFÝ�˜VÑ$Ô$Ð$Ð$Ð$à?Ð?Ð?ˆFÝ•�{Ñ#Ô# VÑ,Ô,Ð,Ð,Ð,rB   c                 óh  — t          |¦  «        }|rt          j        }nd }|                     |¦  «        }t          j        j        j        rEt          t          |¦  «        ddg¦  «         t          | 
                    |¦  «        dg¦  «         d S g d¢}t          t          |¦  «        |¦  «         d S )Nr¼  r½  r»  )r»  r¼  r½  )r   r   rV   Úget_view_namesr   rT   r™  r9   r   rD  Úget_materialized_view_names)r~   r”   r;  r‡   rS   rÑ   rE  s          r@   Útest_get_view_namesz+ComponentReflectionTest.test_get_view_namesV  sº   € õ �zÑ"Ô"ˆØð 	ÝÔ'ˆFˆFàˆFØ×)Ò)¨&Ñ1Ô1ˆÝÔÔ.Ô6ð 	-Ý•�{Ñ#Ô#Ð&9¸9Ð%EÑFÔFÐFÝ�×0Ò0°Ñ8Ô8¸>Ð:JÑKÔKÐKÐKÐKàEÐEÐEˆFÝ•�{Ñ#Ô# VÑ,Ô,Ð,Ð,Ð,rB   c                 ó¢   — t          |¦  «        }|                     ¦   «         }t          t          |¦  «        dt          j        › �g¦  «         d S re   )r   Úget_temp_table_namesr   rD  r   rh   ©r~   r”   r‡   r¶  s       r@   Útest_get_temp_table_namesz1ComponentReflectionTest.test_get_temp_table_namesg  sN   € å�zÑ"Ô"ˆØ×4Ò4Ñ6Ô6ÐÝ�FÐ#Ñ$Ô$Ð'Aµ6´<Ð'AÐ'AÐ&BÑCÔCÐCÐCÐCrB   c                 óˆ   — t          |¦  «        }|                     ¦   «         }t          t          |¦  «        dg¦  «         d S rš   )r   Úget_temp_view_namesr   rD  rM  s       r@   Útest_get_temp_view_namesz0ComponentReflectionTest.test_get_temp_view_namesm  sD   € õ �zÑ"Ô"ˆØ×3Ò3Ñ5Ô5ÐÝ�FÐ#Ñ$Ô$ | nÑ5Ô5Ð5Ð5Ð5rB   c                 ó0   — |                       |¦  «         d S r—   )Ú_test_get_comments©r~   r”   s     r@   Útest_get_commentsz)ComponentReflectionTest.test_get_commentst  s   € à×Ò 
Ñ+Ô+Ð+Ð+Ð+rB   c                 óP   — |                       |t          j        j        ¦  «         d S r—   )rS  r   r   rV   rT  s     r@   Útest_get_comments_with_schemaz5ComponentReflectionTest.test_get_comments_with_schemax  s%   € ð 	×Ò 
­G¬NÔ,FÑGÔGÐGÐGÐGrB   c                 óÚ  — t          |¦  «        }|                      |¬¦  «        }t          |                     d|¬¦  «        ||df         ¦  «         t          |                     d|¬¦  «        ||df         ¦  «         t          |                     d|¬¦  «        ||df         ¦  «         | j        j        j        }t          |                     ||¬¦  «        |||f         ¦  «         d S )NrR   ro  rO  )r   rÃ  r   r3  r¼   rx  rm   )r~   r”   rS   r‡   ÚexpÚno_csts         r@   rS  z*ComponentReflectionTest._test_get_comments}  s  € Ý�zÑ"Ô"ˆØ×Ò vÐÑ.Ô.ˆÝØ×"Ò" >¸&Ð"ÑAÔAØ�˜Ð(Ô)ñ	
ô 	
ð 	
õ
 	Ø×"Ò" 7°6Ð"Ñ:Ô:Ø�˜Ð!Ô"ñ	
ô 	
ð 	
õ
 	Ø×"Ò" >¸&Ð"ÑAÔAØ�˜Ð(Ô)ñ	
ô 	
ð 	
ð
 ”Ô+Ô0ˆÝØ×"Ò" 6°&Ð"Ñ9Ô9Ø�˜Ð Ô!ñ	
ô 	
ð 	
ð 	
ð 	
rB   )FFzuse_views,use_schemac                 ó„  — |rt           j        }nd }| j        j        | j        j        }}|rg d¢}nddg}t          |¦  «        }t          |||f¦  «        D �]è\  }	}
|}|                     |	|¬¦  «        }t          t          |¦  «        dk    t          |¦  «        ¦  «         t          |
j        ¦  «        D �]…\  }}t          |j        ||         d         ¦  «         ||         d         j        }|j        }t!          |t"          j        j        ¦  «        r|j        }t)          j        d¦  «        r&|t,          j        t,          j        fv rt,          j        }t          t          t3          |j        ¦  «                             |j        ¦  «                             t,          j        t,          j        t,          j        t,          j        t,          j        t,          j        t,          j         g¦  «        ¦  «        dk    |j        ›d	|j        ›d
||         d         ›d	|›d�¦  «         |j!        s||         d         �J ‚�Œ‡�Œêd S )N©r½  r¼  r»  rO  rh  rR   r   rm   rÇ  r˜  r  z), r  rÈ  )"r   rV   r¼   rO  rh  r   Úziprê   r,   ÚlenÚ	enumerateÚcolumnsr   rm   Ú	__class__rÇ  r  rp   r   Ú
TypeEnginer   r›  Ú	sql_typesÚDater   rš  Ú__mro__Úintersectionr   ÚNumericÚTimer   Ú_BinaryrN   )r~   r”   Ú	use_viewsr;  rS   rO  Ú	addressesrÑ   r‡   rv   ÚtableÚschema_namerÖ  Úirƒ   ÚctypeÚ	ctype_defs                    r@   r%  z(ComponentReflectionTest.test_get_columns•  sF  € ð ð 	ÝÔ'ˆFˆFàˆFà œKÔ-¨t¬{Ô/JˆyˆØð 	7ØJÐJÐJˆKˆKà"Ð$5Ð6ˆKå�zÑ"Ô"ˆÝ!$ [°5¸)Ð2DÑ!EÔ!Eð /	6ñ /	6ÑˆJ˜Ø ˆKØ×#Ò# J°{Ð#ÑCÔCˆDÝ•C˜‘I”I ’M¥3 t¡9¤9Ñ-Ô-Ð-õ $ E¤MÑ2Ô2ð (6ñ (6‘��3Ý�C”H˜d 1œg fœoÑ.Ô.Ð.Ø˜Qœ œÔ1�ØœH�	Ý˜i­¬Ô)<Ñ=Ô=ð 4Ø )Ô 3�Iõ ”? 8Ñ,Ô,ð /°Ý”NÝÔ&ð?ð 2ð 2õ !*¤�Iõ
 ÝÝ˜EœMÑ*Ô*ß%š iÔ&7Ñ8Ô8ß%šå )Ô 1Ý )Ô 1Ý )Ô 2Ý )¤Ý )¤Ý )Ô 0Ý )Ô 1ðñ
ô 
ñô ð òð" ”x�x�x ¤  ¨4°¬7°6¬?¨?¨?¸E¸E¸EðCñ#ô ð ð* ”ð 6Ø œ7 9Ô-Ð5Ð5Ð5ùñQ(6ð/	6ð /	6rB   c                 ó´   — |                       ¦   «         }| j        |         }t          |t          ¦   «         |¬¦  «        }|                      ||d¬¦  «         d S )NrÛ   F)Ústrict_constraints)rj   r¼   r   r   Úassert_tables_equal)r~   r”   rv   rw   Úreflected_user_tmps        r@   Útest_reflect_table_temp_tablez5ComponentReflectionTest.test_reflect_table_temp_tableá  sp   € à×)Ò)Ñ+Ô+ˆ
Ø”;˜zÔ*ˆå"Ø�™
œ
°*ð
ñ 
ô 
Ðð 	× Ò ØÐ(¸Uð 	!ñ 	
ô 	
ð 	
ð 	
ð 	
rB   c                 ób  — |                       ¦   «         }| j        |         }t          |¦  «        }|                     |¦  «        }t	          t          |¦  «        dk    t          |¦  «        ¦  «         t          |j        ¦  «        D ]&\  }}t          |j	        ||         d         ¦  «         Œ'd S )Nr   rm   )
rj   r¼   r   rê   r,   r^  r_  r`  r   rm   )r~   r”   rv   rw   r‡   rÖ  rn  rƒ   s           r@   Útest_get_temp_table_columnsz3ComponentReflectionTest.test_get_temp_table_columnsí  s¤   € à×)Ò)Ñ+Ô+ˆ
Ø”;˜zÔ*ˆÝ�zÑ"Ô"ˆØ×Ò 
Ñ+Ô+ˆÝ•�D‘	”	˜A’�s 4™yœyÑ)Ô)Ð)å Ô 0Ñ1Ô1ð 	+ð 	+‰FˆAˆsÝ�”˜$˜qœ' &œ/Ñ*Ô*Ð*Ð*ð	+ð 	+rB   c                 ó†   — t          |¦  «        }|                     d¦  «        }t          d„ |D ¦   «         g d¢¦  «         d S )Nr›   c                 ó   — g | ]
}|d          ‘ŒS r	  rG   ©r°  rƒ   s     r@   rø  zFComponentReflectionTest.test_get_temp_view_columns.<locals>.<listcomp>þ  s   € Ð)Ð)Ð)˜SˆS�Œ[Ð)Ð)Ð)rB   )rL   rm   r»   )r   rê   r   )r~   r”   r‡   rÖ  s       r@   Útest_get_temp_view_columnsz2ComponentReflectionTest.test_get_temp_view_columnsø  sP   € õ �zÑ"Ô"ˆØ×Ò Ñ-Ô-ˆÝÐ)Ð) DÐ)Ñ)Ô)Ð+@Ð+@Ð+@ÑAÔAÐAÐAÐArB   )Fc                 ó  — |rt           j        j        }nd }| j        j        | j        j        }}t          |¦  «        }|                      |¬¦  «        }|                     |j	        |¬¦  «        }|  
                    |g|||j	        f         g| j        ¦  «         |                     |j	        |¬¦  «        }	|||j	        f         d         }
t          |	d         |
¦  «         t           j        j                             ¦   «         5  t          |	d         d¦  «         d d d ¦  «         n# 1 swxY w Y   | j        j        j	        }|  
                    |                     ||¬¦  «        g|||f         g| j        ¦  «         d S )NrR   rÔ  rm   rm  )r   r   rV   r¼   rO  rh  r   rÚ  r'  rm   Ú_check_listrÜ  r   rT   rØ  Úfail_ifrx  )r~   r”   r;  rS   rO  rk  r‡   rY  Ú
users_consÚ	addr_consÚexp_colsrZ  s               r@   r(  z.ComponentReflectionTest.test_get_pk_constraint   sÈ  € ð
 ð 	Ý”^Ô/ˆFˆFàˆFàœ;Ô,¨d¬kÔ.IˆyˆÝ�zÑ"Ô"ˆØ�lŠl &ˆlÑ)Ô)ˆà×+Ò+¨E¬J¸vÐ+ÑFÔFˆ
Ø×ÒØˆL˜3 ¨¬
Ð3Ô4Ð5°tÔ7Mñ	
ô 	
ð 	
ð ×*Ò*¨9¬>À&Ð*ÑIÔIˆ	Ø˜ 	¤Ð/Ô0Ð1FÔGˆÝˆIÐ+Ô,¨hÑ7Ô7Ð7åÔÔ/×7Ò7Ñ9Ô9ð 	2ð 	2Ý�	˜&Ô! =Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð ”Ô+Ô0ˆØ×ÒØ×#Ò# F°6Ð#Ñ:Ô:Ð;Ø�&˜&Ð!Ô"Ð#ØÔ"ñ	
ô 	
ð 	
ð 	
ð 	
s   ÄD(Ä(D,Ä/D,ÚPK_test_tableÚpk_test_tableÚmixedCasePKzpk.with.dotsÚpk_namec                 ó|  — t          d|t          dt          ¦  «        t          dt          d¦  «        ¦  «        t	          j        d|¬¦  «        ¦  «         |                     |¦  «         t          |¦  «        }|                     d¦  «        }t          |d         |¦  «         t          |d         dg¦  «         dS )	zZTest that primary key constraint names with various casing are
        properly reflected.rK   rL   rO   rP   r	  rm   rÔ  N)
r   r   r   r   rp   r  rà   r   r'  r   )r~   r”   r\   r…  r‡   Úpk_conss         r@   Ú"test_get_pk_constraint_quoted_namez:ComponentReflectionTest.test_get_pk_constraint_quoted_name!  s·   € õ 	ØØÝ�4�Ñ!Ô!Ý�6�6 "™:œ:Ñ&Ô&ÝÔ# D¨wÐ7Ñ7Ô7ñ	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆØ×(Ò(¨Ñ6Ô6ˆåˆG�FŒO˜WÑ%Ô%Ð%ÝˆGÐ)Ô*¨T¨FÑ3Ô3Ð3Ð3Ð3rB   c                 ód  — |rt           j        }nd }| j        j        | j        j        }}t          |¦  «        }|}t          j        j        j	        rÔ| 
                    |j        |¬¦  «        }|d         }	t          j        j                             ¦   «         5  t          |	d         d¦  «         d d d ¦  «         n# 1 swxY w Y   t          |	d         |¦  «         t          |	d         |j        ¦  «         t          |	d         dg¦  «         t          |	d	         d
g¦  «         | 
                    |j        |¬¦  «        }
|
d         }	t          j        j                             ¦   «         5  t!          |	d         d u¦  «         d d d ¦  «         n# 1 swxY w Y   t          |	d         |¦  «         t          |	d         |j        ¦  «         t          |	d         dg¦  «         t          |	d	         dg¦  «         | j        j        j        }t          | 
                    ||¬¦  «        g ¦  «         d S )NrR   r   rm   rN  rå  ræ  rä  rP  rÔ  rV  ri  )r   rV   r¼   rO  rh  r   r   rT   r†  r9   r*  rm   rë  r~  r   Úimplicitly_named_constraintsr,   rx  )r~   r”   r;  rS   rO  rk  r‡   Úexpected_schemaÚusers_fkeysÚfkey1Ú
addr_fkeysrZ  s               r@   r+  z-ComponentReflectionTest.test_get_foreign_keys@  s›  € ð
 ð 	ÝÔ'ˆFˆFàˆFà œKÔ-¨t¬{Ô/JˆyˆÝ�zÑ"Ô"ˆØ ˆõ ÔÔ9ÔAð 
	BØ×/Ò/°´
À6Ð/ÑJÔJˆKØ ”NˆEåÔ!Ô3×;Ò;Ñ=Ô=ð 1ð 1Ý�E˜&”M <Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ �Ð'Ô(¨/Ñ:Ô:Ð:Ý�Ð&Ô'¨¬Ñ4Ô4Ð4Ý�Ð(Ô)¨I¨;Ñ7Ô7Ð7Ý�Ð+Ô,Ð/?Ð.@ÑAÔAÐAð ×*Ò*¨9¬>À&Ð*ÑIÔIˆ
Ø˜1”ˆåÔÔ:×BÒBÑDÔDð 	/ð 	/Ý�E˜&”M¨Ð-Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ 	ˆEÐ#Ô$ oÑ6Ô6Ð6ÝˆEÐ"Ô# U¤ZÑ0Ô0Ð0ÝˆEÐ$Ô%¨	 {Ñ3Ô3Ð3ÝˆEÐ'Ô(Ð+;Ð*<Ñ=Ô=Ð=à”Ô+Ô0ˆÝˆD×!Ò! &°Ð!Ñ8Ô8¸"Ñ=Ô=Ð=Ð=Ð=s$   ÂB;Â;B?ÃB?Å,FÆFÆFÚFK_users_idÚfk_users_idÚmixedCaseNamezfk.with.dotsÚfk_namec                 óä  — t          d|t          dt          d¬¦  «        d¬¦  «         t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          j        dgdg|¬	¦  «        d¬¦  «         |                     |¦  «         t          |¦  «        }|                     d¦  «        }t          t          |¦  «        d
¦  «         |d         }t          j        j                             ¦   «         5  t          |d         |¦  «         ddd¦  «         n# 1 swxY w Y   t          |d         d¦  «         t          |d         dg¦  «         t          |d         dg¦  «         dS )zZTest that foreign key constraint names with various casing are
        properly reflected.Ú	users_refrP  TrM   rÕ   Úuser_ordersÚorder_idzusers_ref.user_idr	  rÝ   r   rm   Nræ  rä  rÔ  )r   r   r   rp   rß   rà   r   r*  r   r^  r   rT   rë  r~  )r~   r”   r\   r’  r‡   ÚfkeysÚfkeys          r@   Ú!test_get_foreign_keys_quoted_namez9ComponentReflectionTest.test_get_foreign_keys_quoted_namej  sÀ  € õ 	ØØÝ�9�g°4Ð8Ñ8Ô8Øð		
ñ 	
ô 	
ð 	
õ 	ØØÝ�:�w°DÐ9Ñ9Ô9Ý�9�gÑ&Ô&ÝÔ#Ø�Ø$Ð%Øðñ ô ð
 ð	
ñ 	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆØ×%Ò% mÑ4Ô4ˆå�C�‰JŒJ˜ÑÔÐØ�QŒxˆåÔÔ/×7Ò7Ñ9Ô9ð 	'ð 	'Ý��V”˜gÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ 	ˆDÐ!Ô" KÑ0Ô0Ð0ÝˆDÐ#Ô$ y kÑ2Ô2Ð2ÝˆDÐ&Ô'¨)¨Ñ5Ô5Ð5Ð5Ð5s   Ã>D!Ä!D%Ä(D%c                 óŽ  — |                       d|j        j        z  dt          j        j        z  dt          j        j        z  ¦  «        \  }}}t          |¦  «        }|                     |j        ¦  «        }t          t          |¦  «        d¦  «         |d         }t          |d         t          j        j        ¦  «         t          |d         |j        ¦  «         t          |d         d	g¦  «         t          |d
         dg¦  «         |                     |j        t          j        j        ¬¦  «        }t          t          |¦  «        d¦  «         |d         }	t          |	d         d |j        j        fv ¦  «         t          |	d         |j        ¦  «         t          |	d         d	g¦  «         t          |	d
         dg¦  «         d S )Nz%s.local_tablez%s.remote_tablez%s.remote_table_2rÝ   r   rå  ræ  rä  rL   rÔ  r{  rR   r}  )r¼   r{   rŠ  r   r   rV   r   r*  rm   r   r^  r,   )
r~   r”   rz  r|  r~  r‡   Úlocal_fkeysr�  Úremote_fkeysÚfkey2s
             r@   Ú"test_get_inter_schema_foreign_keysz:ComponentReflectionTest.test_get_inter_schema_foreign_keys™  s¼  € ð 59·K²KØ˜zÔ1ÔEÑEØ¥¤Ô :Ñ:Ø¥'¤.Ô"<Ñ<ñ5
ô 5
Ñ1ˆ�\ >õ �zÑ"Ô"ˆà×+Ò+¨KÔ,<Ñ=Ô=ˆÝ�C�ÑÔ˜aÑ Ô Ð à˜A”ˆÝˆEÐ#Ô$¥g¤nÔ&@ÑAÔAÐAÝˆEÐ"Ô# ^Ô%8Ñ9Ô9Ð9ÝˆEÐ$Ô%¨ vÑ.Ô.Ð.ÝˆEÐ'Ô(¨;¨-Ñ8Ô8Ð8à×,Ò,ØÔ¥g¤nÔ&@ð -ñ 
ô 
ˆõ 	�C�ÑÔ˜qÑ!Ô!Ð!à˜Q”ˆåØÐ#Ô$àØÔ"Ô6ððñ	
ô 	
ð 	
õ 	ˆEÐ"Ô# [Ô%5Ñ6Ô6Ð6ÝˆEÐ$Ô%¨ vÑ.Ô.Ð.ÝˆEÐ'Ô(¨:¨,Ñ7Ô7Ð7Ð7Ð7rB   c                 ó|  — |rt           j        }nd }t          |¦  «        }|                     d|¬¦  «        }|                      |¬¦  «        }|                      |||df         | j        ¦  «         | j        j        j	        }|                      |                     ||¬¦  «        |||f         | j        ¦  «         d S )NrO  rR   )
r   rV   r   r-  r  r}  r  r¼   rx  rm   )r~   r”   r;  rS   r‡   ÚindexesrY  rZ  s           r@   r.  z(ComponentReflectionTest.test_get_indexes¿  sÞ   € ð
 ð 	ÝÔ'ˆFˆFàˆFõ �zÑ"Ô"ˆØ×"Ò" 7°6Ð"Ñ:Ô:ˆØ×Ò fÐÑ-Ô-ˆØ×ÒØ�S˜& 'Ð*Ô+¨TÔ-Fñ	
ô 	
ð 	
ð ”Ô+Ô0ˆØ×ÒØ×Ò˜V¨FÐÑ3Ô3Ø�˜Ð Ô!ØÔ%ñ	
ô 	
ð 	
ð 	
ð 	
rB   )r�  r„  )rƒ  r…  ztname,ixnamec                 óò  — t          |¦  «        }|                     |¦  «        }|                      ¦   «         d |f         }|                      ||| j        ¦  «         t          |t          ¦   «         |¬¦  «        }t          t          |j	        ¦  «        d¦  «         t          t          |j	        ¦  «        d         j        |¦  «         t          t          |j	        ¦  «        d         j        |¦  «         d S )NrÛ   rÝ   r   )r   r-  r  r}  r  r   r   r   r^  r   r   rÕ  rl  rm   )r~   r”   ÚtnameÚixnamer‡   r   Úexpected_indexesr@  s           r@   Útest_get_noncol_indexz-ComponentReflectionTest.test_get_noncol_indexÙ  sÓ   € õ �zÑ"Ô"ˆØ×"Ò" 5Ñ)Ô)ˆð  ×+Ò+Ñ-Ô-¨t°U¨mÔ<ÐØ×Ò˜Ð"2°DÔ4MÑNÔNÐNå�%�™œ°:Ð>Ñ>Ô>ˆÝ�C�”	‰NŒN˜AÑÔÐÝ�D�”‰OŒO˜AÔÔ$ aÑ(Ô(Ð(Ý�D�”‰OŒO˜AÔÔ# VÑ,Ô,Ð,Ð,Ð,rB   ÚIX_test_dataÚix_test_dataÚmixedCaseIndexzix.with.dotsÚidx_namec                 ó  ‡— t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        ¦  «        }t	          ‰|j        j        ¦  «         |                     |¦  «         t          |¦  «        }| 	                    d¦  «        }d„ |D ¦   «         }‰|v sJ d‰› d	|› �¦   «         ‚ˆfd
„|D ¦   «         }t          t          |¦  «        d¦  «         t          |d         d         dg¦  «         dS )zATest that index names with various casing are properly reflected.rK   rL   TrM   rO   rP   c                 ó   — g | ]
}|d          ‘ŒS r	  rG   ©r°  r¿   s     r@   rø  zHComponentReflectionTest.test_get_indexes_quoted_name.<locals>.<listcomp>  s   € Ð6Ð6Ð6 s�s˜6”{Ð6Ð6Ð6rB   z	Expected z in c                 ó,   •— g | ]}|d          ‰k    ¯|‘ŒS r	  rG   )r°  r¿   r©  s     €r@   rø  zHComponentReflectionTest.test_get_indexes_quoted_name.<locals>.<listcomp>  s'   ø€ ÐJÐJÐJ °#°f´+ÀÒ2IÐ2I˜Ð2IÐ2IÐ2IrB   rÝ   r   rÍ   N)r   r   r   r   r%   r©   rO   rà   r   r-  r   r^  )	r~   r”   r\   r©  r@  r‡   r   Úindex_namesÚmatching_idxs	      `     r@   Útest_get_indexes_quoted_namez4ComponentReflectionTest.test_get_indexes_quoted_nameï  s  ø€ õ ØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&ñ	
ô 
ˆõ 	ˆh˜œœÑ!Ô!Ð!à×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆØ×"Ò" <Ñ0Ô0ˆà6Ð6¨gÐ6Ñ6Ô6ˆØ˜;Ð&Ð&Ð&Ð(O°HÐ(OÐ(OÀ+Ð(OÐ(OÑ&Ô&Ð&ð KÐJÐJÐJ wÐJÑJÔJˆÝ�C�ÑÔ˜qÑ!Ô!Ð!ÝˆL˜ŒO˜NÔ+¨f¨XÑ6Ô6Ð6Ð6Ð6rB   c                 óê   — t          |¦  «        }|                      ¦   «         }|                     |¦  «        }|                      d¬¦  «        d |f         }|                      ||| j        ¦  «         d S )NT)r  )r   rj   r0  r  r}  r  )r~   r”   r‡   rm   Ú	reflectedrY  s         r@   Ú&test_get_temp_table_unique_constraintsz>ComponentReflectionTest.test_get_temp_table_unique_constraints  sr   € õ �zÑ"Ô"ˆØ×#Ò#Ñ%Ô%ˆØ×/Ò/°Ñ5Ô5ˆ	Ø�lŠl ˆlÑ%Ô% t¨T lÔ3ˆØ×Ò˜ C¨Ô)BÑCÔCÐCÐCÐCrB   c                 ó2  — t          |¦  «        }|                      ¦   «         }|                     |¦  «        }|D ]}|                     dd ¦  «         Œddgddœg}t          j        j        j        rg |d         d<   t          d„ |D ¦   «         |¦  «         d S )	Nrô  Fr»   r“  )rd  rÍ   rm   r   rõ  c                 ó*   — g | ]}|d          dk    ¯|‘ŒS )rm   r“  rG   r¬  s     r@   rø  zGComponentReflectionTest.test_get_temp_table_indexes.<locals>.<listcomp>%  s&   € ÐDÐDÐD�S s¨6¤{°mÒ'CÐ'CˆSÐ'CÐ'CÐ'CrB   )	r   rj   r-  rÊ  r   rT   Úindex_reflects_included_columnsr9   r   )r~   r”   r‡   rv   r   ÚindÚexpecteds          r@   Útest_get_temp_table_indexesz3ComponentReflectionTest.test_get_temp_table_indexes  sÂ   € å�zÑ"Ô"ˆØ×)Ò)Ñ+Ô+ˆ
Ø×"Ò" :Ñ.Ô.ˆØð 	-ð 	-ˆCØ�GŠGÐ% tÑ,Ô,Ð,Ð,à¨u¨g¸}ÐMÐMð
ˆõ ÔÔ;ÔCð 	0Ø-/ˆH�QŒKÐ)Ñ*ÝØDÐD˜GÐDÑDÔDØñ	
ô 	
ð 	
ð 	
ð 	
rB   c                 ó^  — |rt           j        }nd }t          ddgdœdg d¢dœdg d¢dœdd	d
gdœddgdœddgdœgt          j        d¦  «        ¬¦  «        }t          d|t          dt          j        d¦  «        ¦  «        t          dt          j        d¦  «        ¦  «        t          dt          j	        ¦  «        t          d	t          j        d¦  «        ¦  «        t          d
t          j        d¦  «        ¦  «        |¬¦  «        }|D ]2}| 
                    t          j        |d         d|d         iŽ¦  «         Œ3|                     |¦  «         t          |¦  «        }t          |                     d|¬¦  «        t          j        d¦  «        ¬¦  «        }	t          ¦   «         }
t!          t#          |¦  «        t#          |	¦  «        ¦  «         t%          ||	¦  «        D ]|\  }}|                     dd ¦  «        }|r|
                     |¦  «         t!          |                     dd ¦  «        d ¦  «         |                     dd ¦  «         t!          ||¦  «         Œ}t+          ¦   «         }t          d|||¬¦  «        }	d„ |	j        D ¦   «         }d„ |	j        D ¦   «                              dg¦  «        }|                     |¦  «        rJ ‚|
r,t!          |
|¦  «         t!          |t          ¦   «         ¦  «         | j        j        j        }t!          |                     ||¬¦  «        g ¦  «         d S )NÚunique_ar²   )rm   rÍ   Úunique_a_b_c)r²   Úbr©   Úunique_c_a_b)r©   r²   r½  Úunique_asc_keyÚascrÔ   zi.have.dotsr½  zi have spacesr©   rm   ©rÔ   Útesttblrk  rc  rR   rÍ   r  rð   rô  )rÜ   rS   c                 ó   — h | ]	}|j         ’Œ
S rG   r	  r¬  s     r@   ú	<setcomp>zFComponentReflectionTest.test_get_unique_constraints.<locals>.<setcomp>v  s   € Ð;Ð;Ð; #�S”XÐ;Ð;Ð;rB   c                 óP   — h | ]#}t          |t          j        ¦  «        ¯|j        ’Œ$S rG   )r  rp   r  rm   )r°  Úuqs     r@   rÄ  zFComponentReflectionTest.test_get_unique_constraints.<locals>.<setcomp>w  s=   € ð 
ð 
ð 
àÝ˜"�bÔ1Ñ2Ô2ð
ØŒGð
ð 
ð 
rB   )r   rV   rD  ÚoperatorÚ
itemgetterr   r   rp   r   r   Úappend_constraintr  r„   r   r0  rš  r   r^  r]  rÊ  rµ  r   r   ÚconstraintsÚ
differencerf  r¼   rx  rm   )r~   r\   r”   r;  rS   Úuniquesrl  r  r‡   r²  Únames_that_duplicate_indexr   ÚreflÚdupeÚreflected_metadataÚ	idx_namesÚuq_namesrZ  s                     r@   r1  z3ComponentReflectionTest.test_get_unique_constraints)  sm  € ð ð 	ÝÔ'ˆFˆFàˆFÝà#°c°UÐ;Ð;Ø'¸¸¸ÐIÐIØ'¸¸¸ÐIÐIØ)¸EÀ5¸>ÐJÐJØ&¸¸Ð>Ð>Ø(¸3¸%Ð@Ð@ðõ Ô# FÑ+Ô+ð

ñ 

ô 

ˆõ ØØÝ�3�œ	 "™œÑ&Ô&Ý�3�œ	 "™œÑ&Ô&Ý�3�œ
Ñ#Ô#å�5�"œ) B™-œ-Ñ(Ô(Ý�5�"œ) B™-œ-Ñ(Ô(Øð

ñ 

ô 

ˆð ð 	ð 	ˆBØ×#Ò#ÝÔ# R¨Ô%7ÐI¸bÀ¼jÐIÐIñô ð ð ð 	�Š�ZÑ Ô Ð å�zÑ"Ô"ˆÝØ×'Ò'¨	¸&Ð'ÑAÔAÝÔ# FÑ+Ô+ð
ñ 
ô 
ˆ	õ
 &)¡U¤UÐ"å�C�‰LŒL�#˜i™.œ.Ñ)Ô)Ð)å˜g yÑ1Ô1ð 		ð 		‰JˆD�$ð —8’8Ð.°Ñ5Ô5ˆDØð 5Ø*×.Ò.¨tÑ4Ô4Ð4Ý�—’˜ DÑ)Ô)¨4Ñ0Ô0Ð0à�HŠHÐ&¨Ñ-Ô-Ð-Ý��d‰OŒOˆOˆOå%™ZœZÐÝØØØ$Øð	
ñ 
ô 
ˆ	ð <Ð;¨Ô):Ð;Ñ;Ô;ˆ	ð
ð 
àÔ+ð
ñ 
ô 
÷ Š*�nÐ%Ñ
&Ô
&ð	 	ð ×)Ò)¨(Ñ3Ô3Ð3Ð3Ð3Ø%ð 	!ÝÐ*¨IÑ6Ô6Ð6Ý��#™%œ%Ñ Ô Ð à”Ô+Ô0ˆÝˆD×'Ò'¨°vÐ'Ñ>Ô>ÀÑCÔCÐCÐCÐCrB   ÚUQ_emailÚuq_emailÚmixedCaseUQzuq.with.dotsÚuq_namec                 óÒ  — t          d|t          dt          d¬¦  «        t          dt          d¦  «        ¦  «        t	          j        d|¬¦  «        ¦  «         |                     |¦  «         t          |¦  «        }|                     d¦  «        }t          t          |¦  «        d¦  «         t          |d	         d
         |¦  «         t          |d	         d         dg¦  «         dS )zUTest that unique constraint names with various casing are
        properly reflected.rK   rL   TrM   ÚemailrP   r	  rÝ   r   rm   rÍ   N)r   r   r   r   rp   r  rà   r   r0  r   r^  )r~   r”   r\   rÖ  r‡   Úuq_conss         r@   Ú'test_get_unique_constraints_quoted_namez?ComponentReflectionTest.test_get_unique_constraints_quoted_name…  sÚ   € õ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�7�F 2™JœJÑ'Ô'ÝÔ ¨gÐ6Ñ6Ô6ñ	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆØ×-Ò-¨lÑ;Ô;ˆå�C�‰LŒL˜!ÑÔÐÝˆG�AŒJ�vÔ Ñ(Ô(Ð(ÝˆG�AŒJ�~Ô&¨¨	Ñ2Ô2Ð2Ð2Ð2rB   c                 ó¶   — |rt           j        }nd }t          |¦  «        }dD ]5}|                     ||¬¦  «        }t	          t          |¦  «        ¦  «         Œ6d S )Nr\  rR   )r   rV   r   r!  r,   Úbool)r~   r”   r;  rS   r‡   Úviewr±  s          r@   r#  z0ComponentReflectionTest.test_get_view_definition¤  sp   € ð
 ð 	ÝÔ'ˆFˆFàˆFÝ�zÑ"Ô"ˆØDð 	ð 	ˆDØ×(Ò(¨°fÐ(Ñ=Ô=ˆAÝ•D˜‘G”GÑÔÐÐð	ð 	rB   c                 ó*  — t          |¦  «        }t          t          ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚview_does_not_existrO  )r   r   r"   r!  r“   s      r@   Ú'test_get_view_definition_does_not_existz?ComponentReflectionTest.test_get_view_definition_does_not_exist²  s  € å�zÑ"Ô"ˆÝÕ+Ñ,Ô,ð 	<ð 	<Ø×$Ò$Ð%:Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åÕ+Ñ,Ô,ð 	.ð 	.Ø×$Ò$ WÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s#   ¤AÁA
ÁA
Á%BÂBÂBc                 ó²   — t          |¦  «        }dD ]D\  }}|                     |¦  «        }d„ |D ¦   «         |         }|                     dd¦  «        sJ ‚ŒEdS )aˆ  test that 'autoincrement' is reflected according to sqla's policy.

        Don't mark this test as unsupported for any backend !

        (technically it fails with MySQL InnoDB since "id" comes before "id2")

        A backend is better off not returning "autoincrement" at all,
        instead of potentially returning "False" for an auto-incrementing
        primary key column.

        ))rO  rP  )rh  r_  )r]  r^  c                 ó    — i | ]}|d          |“ŒS r	  rG   ©r°  r©   s     r@   r´  zBComponentReflectionTest.test_autoincrement_col.<locals>.<dictcomp>Ð  s   € Ð.Ð.Ð. A�1�V”9˜aÐ.Ð.Ð.rB   rÆ  TN)r   rê   Úget)r~   r”   r‡   r¢  ÚcnamerÖ  Úid_s          r@   Útest_autoincrement_colz.ComponentReflectionTest.test_autoincrement_colº  sz   € õ �zÑ"Ô"ˆð
ð 	2ð 	2‰LˆE�5ð
 ×#Ò# EÑ*Ô*ˆDØ.Ð.¨Ð.Ñ.Ô.¨uÔ5ˆCØ—7’7˜?¨DÑ1Ô1Ð1Ð1Ð1Ð1ð	2ð 	2rB   c                 óô  — t          t          j        ¦  «        }|rt          j        nd }t          j        j        j        rt|                     d|¬¦  «        }t          t          |t          ¦  «        ¦  «         |                     d|¬¦  «        }t          t          |t          ¦  «        ¦  «         d S t          t          ¦  «        5  |                     d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrO  rR   rx  )r   r   r>   rV   r   rT   r  r9   r  r,   r  r<   r   r  )r~   r;  r‡   rS   r  s        r@   r  z.ComponentReflectionTest.test_get_table_optionsÓ  s)  € õ •v”yÑ!Ô!ˆØ'1Ð;•Ô#Ð#°tˆåÔÔ1Ô9ð 	?Ø×(Ò(¨¸Ð(Ñ@Ô@ˆCÝ•J˜s¥DÑ)Ô)Ñ*Ô*Ð*à×(Ò(Ð)9À&Ð(ÑIÔIˆCÝ•J˜s¥DÑ)Ô)Ñ*Ô*Ð*Ð*Ð*åÕ2Ñ3Ô3ð ?ð ?Ø×&Ò& w°vÐ&Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s   ÃC-Ã-C1Ã4C1c                 ó   ‡‡— t          t          j        ¦  «        Št          j        j        j        r[|rt          j        nd Š‰                     ‰¬¦  «        }ˆˆfd„‰ 	                    ‰¬¦  «        D ¦   «         }t          ||¦  «         d S t          t          ¦  «        5  ‰                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NrR   c                 óD   •— i | ]}‰|f‰                      |‰¬ ¦  «        “ŒS )rR   )r  )r°  rl  r‡   rS   s     €€r@   r´  zHComponentReflectionTest.test_multi_get_table_options.<locals>.<dictcomp>ë  sB   ø€ ð ð ð àð ˜� ×!7Ò!7¸ÀfÐ!7Ñ!MÔ!Mðð ð rB   )r   r   r>   r   rT   r  r9   rV   Úget_multi_table_optionsrC  r   r   r  )r~   r;  r  rY  r‡   rS   s       @@r@   Útest_multi_get_table_optionsz4ComponentReflectionTest.test_multi_get_table_optionsä  s"  øø€ å•v”yÑ!Ô!ˆÝÔÔ1Ô9ð 	/Ø+5Ð?•VÔ'Ð'¸4ˆFØ×.Ò.°fÐ.Ñ=Ô=ˆCðð ð ð ð à!×1Ò1¸Ð1Ñ@Ô@ðñ ô ˆCõ ��S‰MŒMˆMˆMˆMåÕ2Ñ3Ô3ð /ð /Ø×,Ò,Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Â!CÃCÃ
Cc                 ó   ‡— ˆfd„}|S )Nc                 ó   •— t          ‰¦  «        } ||d¦  «         ||dœ}| r
 | ¦   «         } g }t          j        |v r|                     g d¢¦  «         t          j        |v r|                     ddg¦  «         t          j        |v r|                     ddg¦  «         | r| |d<   |r||d<    || |||                     d¦  «        ¬	¦  «        }	|g}
|t          j        k    r>| 	                    ¦   «         }| 
                    d
¦  «         |
                     |¦  «         |t          j        k    r>| 	                    ¦   «         }| 
                    d¦  «         |
                     |¦  «         t          ‰¦  «        |
|	fS )Nrh  )r5   r¬   )ro  rO  údoes-not-existr¼  rï  r»  rS   rE  )rS   r5   r¬   rE  r5   r¬   )r   r    rA  r  rB  rC  rä  r!   r>  ÚcopyrÊ  Úappend)rS   r5   r¬   r=  Úsingle_reflect_fnÚ
exp_methodr‡   ru   rE  rY  ÚkwsÚnkwr”   s               €r@   Úprovide_fixturez>ComponentReflectionTest.get_multi_exp.<locals>.provide_fixtureö  s²  ø€ õ ˜:Ñ&Ô&ˆDð Ð˜dÐ$5Ñ6Ô6Ð6Ø ¨$Ð/Ð/ˆBØð "Ø˜™œ�àˆLåÔ 4Ð'Ð'Ø×#Ò#Ø?Ð?Ð?ñô ð õ Œ $Ð&Ð&Ø×#Ò#Ð%8Ð:JÐ$KÑLÔLÐLÝÔ+¨tÐ3Ð3Ø×#Ò# ^Ð5EÐ$FÑGÔGÐGàð &Ø%��8‘Øð 2Ø%1��>Ñ"à�*ØØØØŸVšV NÑ3Ô3ð	ñ ô ˆCð �$ˆCØ�Ô+Ò+Ð+Ø—g’g‘i”i�Ø—’˜Ñ Ô Ð Ø—
’
˜3‘”�Ø•zÔ'Ò'Ð'Ø—g’g‘i”i�Ø—’˜‘”�Ø—
’
˜3‘”�å˜:Ñ&Ô&¨¨SÐ0Ð0rB   rG   )r~   r”   rö  s    ` r@   Úget_multi_expz%ComponentReflectionTest.get_multi_expô  s%   ø€ ð,	1ð ,	1ð ,	1ð ,	1ð ,	1ð\ ÐrB   c                 ó¸   —  |||||t           j        | j        ¦  «        \  }}}|D ]3}	|                     ¦   «           |j        di |	¤Ž}
t          |
|¦  «         Œ4d S ©NrG   )r   r  r¿  r…   rë  r   ©r~   r÷  rS   r5   r¬   r=  r‡   rô  rY  ru   Úresults              r@   Ú#test_multi_get_table_options_tablesz;ComponentReflectionTest.test_multi_get_table_options_tables&	  s‹   € ð
 '˜ØØØØÝÔ'ØÔñ
ô 
‰ˆˆc�3ð ð 	ð 	ˆBØ×ÒÑÔÐØ1�TÔ1Ð7Ð7°BÐ7Ð7ˆFÝ�˜ÑÔÐÐð	ð 	rB   c                 ó´   —  |||||t           j        | j        ¦  «        \  }}}|D ]1}	|                     ¦   «          t	           |j        di |	¤Ž|¦  «         Œ2d S rù  )r   r3  rÃ  r…   r   Úget_multi_table_comment)
r~   r÷  rS   r5   r¬   r=  r‡   rô  rY  ru   s
             r@   Útest_get_multi_table_commentz4ComponentReflectionTest.test_get_multi_table_comment8	  s‡   € ð
 '˜ØØØØÝÔ'ØÔñ
ô 
‰ˆˆc�3ð ð 	9ð 	9ˆBØ×ÒÑÔÐÝÐ,�Ô,Ð2Ð2¨rÐ2Ð2°CÑ8Ô8Ð8Ð8ð	9ð 	9rB   c                 óä   ‡— dt           fd„Št          |t          ¦  «        r1t          ˆfd„|                     ¦   «         D ¦   «         ||¦  «         d S t          ˆfd„|D ¦   «         ||¦  «         d S )NrÁ  c                 óR   — t          j        dd| ¦  «                             ¦   «         S )Nz['\" ]rM  )ÚreÚsubr  )rÁ  s    r@   Ú_cleanz:ComponentReflectionTest._check_expressions.<locals>._cleanJ	  s"   € Ý”6˜) R¨Ñ.Ô.×4Ò4Ñ6Ô6Ð6rB   c                 ó.   •— i | ]\  }} ‰|¦  «        |“ŒS rG   rG   )r°  Úer±  r  s      €r@   r´  z>ComponentReflectionTest._check_expressions.<locals>.<dictcomp>N	  s'   ø€ Ð9Ð9Ð9¡$ ! Q��˜‘”˜AÐ9Ð9Ð9rB   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rG   rG   )r°  r  r  s     €r@   rø  z>ComponentReflectionTest._check_expressions.<locals>.<listcomp>P	  s!   ø€ Ð+Ð+Ð+˜q��˜‘”Ð+Ð+Ð+rB   )r  r  r<   r   r·  )r~   rû  rY  Úerr_msgr  s       @r@   Ú_check_expressionsz*ComponentReflectionTest._check_expressionsI	  s”   ø€ ð	7�ð 	7ð 	7ð 	7ð 	7õ �c�4Ñ Ô ð 	;ÝÐ9Ð9Ð9Ð9¨&¯,ª,©.¬.Ð9Ñ9Ô9¸3ÀÑHÔHÐHÐHÐHåÐ+Ð+Ð+Ð+ FÐ+Ñ+Ô+¨S°'Ñ:Ô:Ð:Ð:Ð:rB   c                 ó¬  — |€t          |||¦  «         d S t          t          |¦  «        t          |¦  «        |¦  «         t          ||¦  «        D ]‚\  }}t          |¦  «        t          |¦  «        z  D ]]}||v s||v rS||v rO|› d|› d|› �}|dv r$|                      ||         ||         |¦  «         Œ@t          ||         ||         |¦  «         Œ^Œƒd S )Nz - )rö  rñ  )r   r^  r]  rš  r	  )	r~   rû  rY  Úreq_keysÚmsgÚrr  r³   r  s	            r@   r}  z#ComponentReflectionTest._check_listR	  s  € ØÐÝ�˜˜SÑ!Ô!Ð!Ð!Ð!å•�F‘”�S ™XœX sÑ+Ô+Ð+Ý˜F CÑ(Ô(ð 5ð 5‘��1Ý˜Q™œ¥# a¡&¤&™ð 5ð 5�AØ˜H�}�}¨¨a¨¨°A¸°F°FØ%(Ð"6Ð"6¨QÐ"6Ð"6°1Ð"6Ð"6˜ØÐ AÐAÐAØ ×3Ò3°A°a´D¸!¸A¼$ÀÑHÔHÐHÐHå  !¤ a¨¤d¨GÑ4Ô4Ð4øð5ð5ð 5rB   c                 ó  — t          t          |                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        ¦  «         |D ]2}||         ||         }}|r|g|g}}|                      ||||¦  «         Œ3d S r—   )r   rš  Úkeysr}  )r~   rû  rY  r  Ú
make_listsr³   r  r  s           r@   Ú_check_table_dictz)ComponentReflectionTest._check_table_dict`	  sŒ   € Ý�C�—’‘”ÑÔ¥ C§H¢H¡J¤J¡¤Ñ0Ô0Ð0Øð 	0ð 	0ˆAØ˜!”9˜c !œfˆqˆAØð  Ø�s˜Q˜C�1�Ø×Ò˜Q  8¨QÑ/Ô/Ð/Ð/ð		0ð 	0rB   c                 óÐ   —  |||||t           j        | j        ¦  «        \  }}}|D ]?}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|| j        ¦  «         Œ@d S rù  )r   rê   rÏ  r…   Úget_multi_columnsr  rÑ  rú  s              r@   Útest_get_multi_columnsz.ComponentReflectionTest.test_get_multi_columnsh	  sš   € ð '˜ØØØØÝÔ!ØÔñ
ô 
‰ˆˆc�3ð ð 	Lð 	LˆBØ×ÒÑÔÐØ+�TÔ+Ð1Ð1¨bÐ1Ð1ˆFØ×"Ò" 6¨3°Ô0JÑKÔKÐKÐKð	Lð 	LrB   c                 óÔ   —  |||||t           j        | j        ¦  «        \  }}}|D ]A}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|| j        d¬¦  «         ŒBd S )NT)r  rG   )r   r'  rÚ  r…   Úget_multi_pk_constraintr  rÜ  rú  s              r@   Útest_get_multi_pk_constraintz4ComponentReflectionTest.test_get_multi_pk_constraintz	  s¥   € ð
 '˜ØØØØÝÔ'ØŒLñ
ô 
‰ˆˆc�3ð ð 	ð 	ˆBØ×ÒÑÔÐØ1�TÔ1Ð7Ð7°BÐ7Ð7ˆFØ×"Ò"Ø˜˜TÔ3Àð #ñ ô ð ð ð	ð 	rB   c                 óö   — t           j        j        j        s`||fD ]]}|                     ¦   «         D ]D}t          |¦  «        dk    r/t          d„ |D ¦   «         ¦  «        r|                     |¬¦  «         ŒEŒ\d S d S )NrÝ   c              3   ó\   K  — | ]'}|                      d ¦  «        dt          j        fv V — Œ(dS )rm   N)rä  r-   r@  )r°  r±  s     r@   ú	<genexpr>z7ComponentReflectionTest._adjust_sort.<locals>.<genexpr>’	  sI   è è € ð ,ð ,Ø>?˜Ÿš˜f™œ¨$µ´Ð)9Ð9ð,ð ,ð ,ð ,ð ,ð ,rB   rÁ  )r   rT   rŠ  r9   r¸  r^  ÚanyÚsort)r~   rû  r¸  rÔ   ÚobjrÙ  s         r@   Ú_adjust_sortz$ComponentReflectionTest._adjust_sortŽ	  s§   € ÝÔÔ<ÔDð 	*Ø Ð)ð *ð *�ØŸ:š:™<œ<ð *ð *�CÝ˜3‘x”x !’|�|­ð ,ð ,ØCFð,ñ ,ô ,ñ )ô )�|ð Ÿš S˜Ñ)Ô)Ð)øð	*ð	*ð 	*ð*ð *rB   c                 ó   —  |||||t           j        | j        ¦  «        \  }}}|D ]W}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|d„ ¦  «         |                      |
|| j        ¦  «         ŒXd S )Nc                 ó,   — t          | d         ¦  «        S )NrÔ  ©Útuple©Úds    r@   r´   zEComponentReflectionTest.test_get_multi_foreign_keys.<locals>.<lambda>¨	  s   € ¥u¨QÐ/DÔ-EÑ'FÔ'F€ rB   rG   )r   r*  rí  r…   Úget_multi_foreign_keysr  r  rï  rú  s              r@   Útest_get_multi_foreign_keysz3ComponentReflectionTest.test_get_multi_foreign_keys—	  s¾   € ð
 '˜ØØØØÝÔ&ØŒLñ
ô 
‰ˆˆc�3ð ð 	Hð 	HˆBØ×ÒÑÔÐØ0�TÔ0Ð6Ð6°2Ð6Ð6ˆFØ×ÒØ˜ÐFÐFñô ð ð ×"Ò" 6¨3°Ô0FÑGÔGÐGÐGð	Hð 	HrB   c                 óÐ   —  |||||t           j        | j        ¦  «        \  }}}|D ]?}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|| j        ¦  «         Œ@d S rù  )r   r-  r  r…   Úget_multi_indexesr  r  rú  s              r@   Útest_get_multi_indexesz.ComponentReflectionTest.test_get_multi_indexes¬	  sš   € ð
 '˜ØØØØÝÔ!ØÔñ
ô 
‰ˆˆc�3ð ð 	Kð 	KˆBØ×ÒÑÔÐØ+�TÔ+Ð1Ð1¨bÐ1Ð1ˆFØ×"Ò" 6¨3°Ô0IÑJÔJÐJÐJð	Kð 	KrB   c                 ó   —  |||||t           j        | j        ¦  «        \  }}}|D ]W}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|d„ ¦  «         |                      |
|| j        ¦  «         ŒXd S )Nc                 ó,   — t          | d         ¦  «        S )NrÍ   r!  r#  s    r@   r´   zKComponentReflectionTest.test_get_multi_unique_constraints.<locals>.<lambda>Î	  s   € µU¸1¸^Ô;LÑ5MÔ5M€ rB   rG   )r   r0  r  r…   Úget_multi_unique_constraintsr  r  r  rú  s              r@   Ú!test_get_multi_unique_constraintsz9ComponentReflectionTest.test_get_multi_unique_constraints¾	  sµ   € ð
 '˜ØØØØÝÔ,ØŒLñ
ô 
‰ˆˆc�3ð ð 	Pð 	PˆBØ×ÒÑÔÐØ6�TÔ6Ð<Ð<¸Ð<Ð<ˆFØ×Ò˜f cÐ+MÐ+MÑNÔNÐNØ×"Ò" 6¨3°Ô0NÑOÔOÐOÐOð		Pð 	PrB   c                 ó   —  |||||t           j        | j        ¦  «        \  }}}|D ]W}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|d„ ¦  «         |                      |
|| j        ¦  «         ŒXd S )Nc                 ó,   — t          | d         ¦  «        S ©Nr  r!  r#  s    r@   r´   zJComponentReflectionTest.test_get_multi_check_constraints.<locals>.<lambda>á	  s   € µU¸1¸Y¼<Ñ5HÔ5H€ rB   rG   )r   r6  r  r…   Úget_multi_check_constraintsr  r  r  rú  s              r@   Ú test_get_multi_check_constraintsz8ComponentReflectionTest.test_get_multi_check_constraintsÑ	  sµ   € ð
 '˜ØØØØÝÔ+ØŒLñ
ô 
‰ˆˆc�3ð ð 	Hð 	HˆBØ×ÒÑÔÐØ5�TÔ5Ð;Ð;¸Ð;Ð;ˆFØ×Ò˜f cÐ+HÐ+HÑIÔIÐIØ×"Ò" 6¨3°Ô0FÑGÔGÐGÐGð		Hð 	HrB   r  rê   r'  r*  r-  r0  r6  r3  Úmethodc                 ó´   — t          |¦  «        }t          ||¦  «        }t          t          ¦  «        5   |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚtable_does_not_exists)r   Úgetattrr   r"   )r~   r3  r”   r‡   r¾   s        r@   Útest_not_existing_tablez/ComponentReflectionTest.test_not_existing_tableä	  s¤   € õ0 �zÑ"Ô"ˆÝ�t˜VÑ$Ô$ˆÝÕ+Ñ,Ô,ð 	*ð 	*ØˆDÐ(Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ´AÁAÁAc           	      ó|  ‡— t           j        Šˆfd„}t          j                             t           d|¦  «        5  t          t          d¦  «        5  t          |¦  «                             t          dt          ¦   «         ¦  «        d ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  ód   •— |                      di ¦  «        }t          d¦  «        |d<    ‰| i |¤ŽS )NÚunreflectableÚerr)NÚ
some_table)Ú
setdefaultr#   )r²   r³   ÚurÚmcs      €r@   Úpatchedz;ComponentReflectionTest.test_unreflectable.<locals>.patched
  s;   ø€ Ø—’˜o¨rÑ2Ô2ˆBÝ'>¸uÑ'EÔ'EˆBÐ#Ñ$Ø�2�q�;˜A�;�;ÐrB   r  r;  r<  )r   r  r-   ÚpatchÚobjectr	   r#   r   Úreflect_tabler   r   )r~   r”   r@  r?  s      @r@   Útest_unreflectablez*ComponentReflectionTest.test_unreflectable
  s>  ø€ ÝÔ(ˆð	ð 	ð 	ð 	ð 	õ
 ŒZ×Ò�yÐ*=¸wÑGÔGð 	ð 	Ý&Õ'>ÀÑFÔFð ð Ý˜
Ñ#Ô#×1Ò1Ý˜,­©
¬
Ñ3Ô3°Tñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s5   ¹B1Á>BÂB1ÂB	ÂB1Â B	Â!B1Â1B5Â8B5r¡   c                 óÄ  ‡— t          ¦   «         }|rt          j        nd Š|                     |‰|d¬¦  «         t	          |¦  «        }|                     ‰¦  «        }|rB||                     ‰¦  «        z  }	 ||                     ‰¦  «        z  }n# t          $ r Y nw xY w‰rˆfd„|D ¦   «         }t          t          |j        ¦  «        t          |¦  «        ¦  «         d S )NF)rS   r¡   Úresolve_fksc                 ó   •— g | ]	}‰› d |› �‘Œ
S )rL  rG   )r°  r@  rS   s     €r@   rø  z9ComponentReflectionTest.test_metadata.<locals>.<listcomp>!
  s#   ø€ Ð6Ð6Ð6¨!˜�o�o !�o�oÐ6Ð6Ð6rB   )r   r   rV   Úreflectr   rC  rH  rI  r  r   rD  r¼   )r~   r”   r;  r¡   Úmr‡   r¼   rS   s          @r@   Útest_metadataz%ComponentReflectionTest.test_metadata
  s   ø€ õ
 ‰JŒJˆØ'1Ð;•Ô#Ð#°tˆØ	�	Š	�* V°5Àeˆ	ÑLÔLÐLå�zÑ"Ô"ˆØ×%Ò% fÑ-Ô-ˆØð 	Ø�d×)Ò)¨&Ñ1Ô1Ñ1ˆFðØ˜$×:Ò:¸6ÑBÔBÑB��øÝ&ð ð ð Ø�ðøøøàð 	7Ø6Ð6Ð6Ð6¨vÐ6Ñ6Ô6ˆFÝ�F�1”8ÑÔ�f V™nœnÑ-Ô-Ð-Ð-Ð-s   Á8B Â
BÂBc           
      ó„  — t          d|t          dt          d¬¦  «        t          dt          d¬¦  «        d¬¦  «         |                     |¦  «         t	          |¦  «        }|                     d¦  «        }t          |ddi¦  «         |                     d¦  «        }d	„ |D ¦   «         }ddd
œ}t          ||¦  «         d S )NÚunicode_commentsÚunicodeu   Ã©è©¦è›‡áºŸÎ©rï   Úemojiu	   â˜�ï¸�âœ¨u   è©¦è›‡áºŸÎ©âœ¨rÁ  c                 ó,   — i | ]}|d          |d         “ŒS rZ  rG   rã  s     r@   r´  zAComponentReflectionTest.test_comments_unicode.<locals>.<dictcomp>5
  s"   € Ð7Ð7Ð7¨Q��6”˜A˜iœLÐ7Ð7Ð7rB   )rM  rN  ©r   r   r   rà   r   r3  r   rê   )r~   r”   r\   r‡   ÚtcrÖ  ÚvaluerY  s           r@   Útest_comments_unicodez-ComponentReflectionTest.test_comments_unicode$
  sØ   € åØØÝ�9�g¨Ð?Ñ?Ô?Ý�7�G¨[Ð9Ñ9Ô9Ø$ð	
ñ 	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆØ×#Ò#Ð$6Ñ7Ô7ˆÝˆB�Ð)Ð*Ñ+Ô+Ð+à×ÒÐ 2Ñ3Ô3ˆØ7Ð7°$Ð7Ñ7Ô7ˆØ)°KÐ@Ð@ˆÝˆE�3‰ŒˆˆˆrB   c           	      ób  — t          d|t          dt          d¬¦  «        d¬¦  «         |                     |¦  «         t	          |¦  «        }|                     d¦  «        }t          |ddi¦  «         |                     d¦  «        d         }t          |d         |d	         iddi¦  «         d S )
NrL  rN  u&   ðŸ��ðŸ§™ðŸ��ðŸ§™â€�â™‚ï¸�ðŸ§™â€�â™€ï¸�rï   u&   ðŸŽ©ðŸ�°ðŸ�‘ðŸ¤·â€�â™€ï¸�ðŸ¤·â€�â™‚ï¸�rÁ  r   rm   rð   rP  )r~   r”   r\   r‡   rQ  r©   s         r@   Útest_comments_unicode_fullz2ComponentReflectionTest.test_comments_unicode_full9
  sÄ   € åØØÝ�7�GÐ-UÐVÑVÔVØ<ð		
ñ 	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆØ×#Ò#Ð$6Ñ7Ô7ˆÝˆB�ÐAÐBÑCÔCÐCØ×ÒÐ/Ñ0Ô0°Ô3ˆÝˆQˆvŒY˜˜)œÐ%¨Ð1YÐ'ZÑ[Ô[Ð[Ð[Ð[rB   c           
      ó¢  — t           j                             t          ¦  «        }t	          d|t          dt          j        |¬¦  «        ¦  «        t          dt          j        ¦   «         ¦  «        ¦  «         |                     |¦  «         t          ¦   «         }t	          d||¬¦  «        }t          |j        j        j        j        |¦  «         t          |j        j        j        j        ¦  «         t#          |¦  «        }|                     d¦  «        \  }}t          |d         j        |¦  «         t          |d         j        ¦  «         d S )Nr@  Úcollated)Ú	collationÚnot_collatedrÛ   rÇ  )r   rT   Úget_order_by_collationr   r   r   rp   r   rà   r   r   r©   rW  rÇ  rX  r+   rY  r   rê   )	r~   r”   r\   rX  râ   Út2r‡   rW  rY  s	            r@   Ú test_column_collation_reflectionz8ComponentReflectionTest.test_column_collation_reflectionJ
  s  € õ Ô$×;Ò;½FÑCÔCˆ	ÝØØÝ�:�rœy°9Ð=Ñ=Ô=Ñ>Ô>Ý�>¥2¤9¡;¤;Ñ/Ô/ñ		
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å‰ZŒZˆÝ�3˜¨*Ð5Ñ5Ô5ˆåˆBŒDŒMÔÔ(¨)Ñ4Ô4Ð4Ý�”Ô!Ô&Ô0Ñ1Ô1Ð1å�zÑ"Ô"ˆØ!%×!1Ò!1°#Ñ!6Ô!6Ñˆ�,ÝˆH�VÔÔ&¨	Ñ2Ô2Ð2Ý�˜VÔ$Ô.Ñ/Ô/Ð/Ð/Ð/rB   r—   r.   )NF)urC   rD   rE   Úrun_insertsr    rŸ   rF   r]   rJ  rj   rZ   rX   r£  r¦  r¹  r!   r@  r    r¿  rÃ  rÏ  ÚpropertyrÑ  rÚ  rÜ  rí  rï  r  r  r  r  r  r  r   rT   Úschema_reflectionr"  r&  r,  r.  Úschema_create_deleter2  r6  r8  rÆ   rô   rU   rF  rJ  r¶  rN  rW   rs   rQ  rö   rU  rW  rS  r%  rù   ru  rw  r  r{  Ú!primary_key_constraint_reflectionr(  rØ  rˆ  r+  r™  r‰  rž  r¤   r.  r‹  rŒ  r¥  r°  r9  r³  Útemp_table_reflect_indexesr¹  r1  rÚ  r#  rà  Útable_reflectionrç  r  rì  r  r÷  r  rF  rü  rÿ  r	  r}  r  r  r  r  r&  r)  r-  r:  r2  r7  rD  r¡   rJ  rS  Úcomment_reflection_full_unicoderU  Úcolumn_collation_reflectionÚorder_by_collationr\  rG   rB   r@   rH  rH  q  sš  € € € € € Ø $Ð$€K�+à $ÐàðNð Nñ „[ðNð
 ðk-ð k-ñ „[ðk-ðZ ð
ð 
ñ „[ð
ð
 ðOð Oñ „[ðOðB ðð ñ „[ðð4ð ð ð!ð !ð !ð)ð )ð )ðZ ØŒoØŒ^Øðð ð ð ðB ØŒoØŒ^Øð"ð "ð "ð "ðL ØŒoØŒ^Øð^ð ^ð ^ð ^ð@ ð7ð 7ñ „Xð7ð
 ØŒoØŒ^Øð.ð .ð .ð .ð` ð/ð /ñ „Xð/ð
 ØŒoØŒ^ØðVð Vð Vð Vðp ð
ð 
ñ „Xð
ð ØŒoØŒ^Øðsð sð sð sðj ð2ð 2ñ „Xð2ð
 ØŒoØŒ^ØØðCð Cð Cð CðJ ð(ð (ñ „Xð(ð
 ØŒoØŒ^Øð8ð 8ð 8ð 8ðt ð#ð #ñ „Xð#ð ÔÔ'ðGð Gñ (Ô'ðGð
 ÔÔ'ð8ð 8ñ (Ô'ð8ð ÔÔ'ðGð Gñ (Ô'ðGð ÔÔ'ð
8ð 
8ñ (Ô'ð
8ð ÔÔ'ØÔÔ*ð;ð ;ñ +Ô*ñ (Ô'ð;ð ÔÔ'ð>ð >ñ (Ô'ð>ð
 ÔÔ'ðNð Nñ (Ô'ðNð €WÔØØ	˜Ô(ÔJÐKØðñ ô ð
 €WÔØ	ˆwÔÔ'Ð(¨%¸,ðñ ô ð!-ð !-ñô ñô ð!-ðF €WÔØ	ˆwÔÔ'Ð(¨%¸,ðñ ô ð-ð -ñô ð-ð ÔÔ&ðDð Dñ 'Ô&ðDð
 ÔÔ%ØÔÔ%ð6ð 6ñ &Ô%ñ &Ô%ð6ð
 ÔÔ(ð,ð ,ñ )Ô(ð,ð ÔÔ(ØÔÔðHð Hñ Ôñ )Ô(ðHð
ð 
ð 
ð 
ð0 €WÔØØ	��gÔ&Ô.Ð/Ø	ˆu�gÔ&Ô6Ð7àØØÔÔ$ wÔ'7Ô'GÑGð	
ð
 (ð
ñ 
ô 
ð<6ð <6ñ
ô 
ð<6ðB ÔÔ+ð	
ð 	
ñ ,Ô+ð	
ð ÔÔ+ð+ð +ñ ,Ô+ð+ð ÔÔ+ØÔÔ,ØÔÔ%ðBð Bñ &Ô%ñ -Ô,ñ ,Ô+ðBð
 €WÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ð ÔÔ7ð
ð 
ñ 8Ô7ñô ð
ð: €WÔØØØØØðñ ô ð ÔÔ7ØÔÔ'ð4ð 4ñ (Ô'ñ 8Ô7ñô ð4ð, €WÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ð ÔÔ7ð$>ð $>ñ 8Ô7ñô ð$>ðL €WÔØØØØØðñ ô ð ÔÔ7ð%6ð %6ñ 8Ô7ñô ð%6ðN ÔÔ0ØÔÔð"8ð "8ñ Ôñ 1Ô0ð"8ðH €WÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ð ÔÔ&ð
ð 
ñ 'Ô&ñô ð
ð, €WÔØ3Ø/Øðñ ô ð
 ÔÔ&ØÔÔ*ØÔÔ2ð-ð -ñ 3Ô2ñ +Ô*ñ 'Ô&ñô ð-ð €WÔØØØØØðñ ô ð ÔÔ&ð7ð 7ñ 'Ô&ñô ð7ð0 ÔÔ+ØÔÔ2ðDð Dñ 3Ô2ñ ,Ô+ðDð ÔÔ0ð
ð 
ñ 1Ô0ð
ð  €WÔØ	ˆwÔÔ'Ð(¨(¸\ðñ ô ð ÔÔ2ðVDð VDñ 3Ô2ñô ðVDðp €WÔØØØØØðñ ô ð ÔÔ2ð3ð 3ñ 3Ô2ñô ð3ð. ÔÔ%Ø€WÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ðð ñô ñ &Ô%ðð ÔÔ%ð.ð .ñ &Ô%ð.ð ÔÔ&ð2ð 2ñ 'Ô&ð2ð0 €WÔØ	ˆwÔÔ'Ð(¨(¸\ðñ ô ð?ð ?ñô ð?ð €WÔ˜4 Ô!1Ô!9Ð:¸EÑBÔBð/ð /ñ CÔBð/ð „_ð/ð /ñ „_ð/ðb ÔÔ+Øðð ñ Ôñ ,Ô+ðð  ÔÔ(Øð9ð 9ñ Ôñ )Ô(ð9ð;ð ;ð ;ð5ð 5ð 5ð 5ð0ð 0ð 0ð 0ð ðLð Lñ ÔðLð" ÔÔ7Øðð ñ Ôñ 8Ô7ðð$*ð *ð *ð ÔÔ7ØðHð Hñ Ôñ 8Ô7ðHð& ÔÔ&ØðKð Kñ Ôñ 'Ô&ðKð  ÔÔ2ØðPð Pñ Ôñ 3Ô2ðPð" ÔÔ1ØðHð Hñ Ôñ 2Ô1ðHð" €WÔØ	˜gÔ.ÔDÐEØàØÔÔ>ð	
ð
 ØÔÔ>ð	
ð 
˜Ô(Ô9Ð:à$ØÔÔ9ð	
ð
 $ØÔÔ8ð	
ð 
˜gÔ.ÔAÐBØð+ñ ô ð.*ð *ñ/ô ð.*ðð ð ð €WÔ˜$ °Ð=Ñ=Ô=Ø€WÔØ	ˆwÔÔ%Ð&¨¸ðñ ô ð.ð .ñô ñ >Ô=ð.ð" ÔÔ(ðð ñ )Ô(ðð( ÔÔ5ð\ð \ñ 6Ô5ð\ð  ÔÔ1ØÔÔ(ð0ð 0ñ )Ô(ñ 2Ô1ð0ð 0ð 0rB   rH  c                   ó¼   — e Zd ZdZdZej        d„ ¦   «         Zej        d„ ¦   «         Zd„ Z	d„ Z
d„ Zej        j        d„ ¦   «         Zej        j        d	„ ¦   «         Zd
S )ÚTableNoColumnsTest)Úreflect_tables_no_columnsTc                 óP   — t          d|¦  «         |                     |¦  «         d S ©NrÂ  )r   rà   ©r~   r”   r\   s      r@   Útable_no_columnsz#TableNoColumnsTest.table_no_columnsf
  s,   € åˆg�xÑ Ô Ð Ø×Ò˜JÑ'Ô'Ð'Ð'Ð'rB   c                 óÜ   — t          d|¦  «         t          j        |dt          d¦  «        ¦  «         t          j        |dt          d¦  «        ¦  «         |                     |¦  «         d S )NrÂ  r_   z*CREATE VIEW empty_v AS SELECT * FROM emptyr`   zDROP VIEW IF EXISTS empty_v)r   r   rb   r$   rà   rl  s      r@   Úview_no_columnsz"TableNoColumnsTest.view_no_columnsk
  sz   € åˆg�xÑ Ô Ð ÝŒØØÝÐ<Ñ=Ô=ñ	
ô 	
ð 	
õ 	ŒØ�m¥SÐ)FÑ%GÔ%Gñ	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'Ð'Ð'rB   c                 ó†   — t          dt          ¦   «         |¬¦  «        }t          t          |j        ¦  «        g ¦  «         d S )NrÂ  rÛ   ©r   r   r   rÕ  r©   )r~   r”   rm  r[  s       r@   Útest_reflect_table_no_columnsz0TableNoColumnsTest.test_reflect_table_no_columns{
  s8   € Ý�7�H™JœJ°jÐAÑAÔAˆÝ�D�”‰JŒJ˜ÑÔÐÐÐrB   c                 ó¶   — t          |¦  «        }t          |                     d¦  «        g ¦  «         |                     ¦   «         }t          |dg i¦  «         d S )NrÂ  rk  )r   r   rê   r  )r~   r”   rm  r‡   Úmultis        r@   Ú!test_get_columns_table_no_columnsz4TableNoColumnsTest.test_get_columns_table_no_columns
  sY   € Ý�zÑ"Ô"ˆÝˆD×Ò˜WÑ%Ô% rÑ*Ô*Ð*Ø×&Ò&Ñ(Ô(ˆÝˆE�O RÐ(Ñ)Ô)Ð)Ð)Ð)rB   c                 ó    — t          ¦   «         }|                     |¦  «         t          |j        ¦  «                             dg¦  «        sJ ‚d S rk  )r   rH  rš  r¼   rf  )r~   r”   rm  rI  s       r@   Ú"test_reflect_incl_table_no_columnsz5TableNoColumnsTest.test_reflect_incl_table_no_columns…
  sG   € Ý‰JŒJˆØ	�	Š	�*ÑÔÐÝ�1”8‰}Œ}×)Ò)¨7¨)Ñ4Ô4Ð4Ð4Ð4Ð4Ð4rB   c                 ó†   — t          dt          ¦   «         |¬¦  «        }t          t          |j        ¦  «        g ¦  «         d S )NÚempty_vrÛ   rq  )r~   r”   ro  r[  s       r@   Útest_reflect_view_no_columnsz/TableNoColumnsTest.test_reflect_view_no_columnsŠ
  s8   € å�9�h™jœj¸
ÐCÑCÔCˆÝ�D�”‰JŒJ˜ÑÔÐÐÐrB   c                 óÎ   — t          |¦  «        }t          |                     d¦  «        g ¦  «         |                     t          j        ¬¦  «        }t          |dg i¦  «         d S )Nry  )r¬   )Nry  )r   r   rê   r  r    rB  )r~   r”   ro  r‡   rt  s        r@   Ú test_get_columns_view_no_columnsz3TableNoColumnsTest.test_get_columns_view_no_columns�
  sa   € å�zÑ"Ô"ˆÝˆD×Ò˜YÑ'Ô'¨Ñ,Ô,Ð,Ø×&Ò&­J¬OÐ&Ñ<Ô<ˆÝˆEÐ% rÐ*Ñ+Ô+Ð+Ð+Ð+rB   N)rC   rD   rE   rÅ   rŸ   r   r  rm  ro  rr  ru  rw  rT   r¡   rz  r|  rG   rB   r@   rh  rh  b
  sÈ   € € € € € Ø1€LØ $Ðà„_ð(ð (ñ „_ð(ð „_ð(ð (ñ „_ð(ðð ð ð*ð *ð *ð5ð 5ð 5ð
 ÔÔðð ñ Ôðð ÔÔð,ð ,ñ Ôð,ð ,ð ,rB   rh  c                   ó¬  — e Zd ZdZ ej        ddg¬¦  «        d„ ¦   «         Z ej        ¦   «         d„ ¦   «         Zd„ Zej	        j
        d„ ¦   «         Zej	        j         ej        dd	d
d¬¦  «        d„ ¦   «         ¦   «         Zej	        j
         ej        ddd
d¬¦  «        d„ ¦   «         ¦   «         Zej	        j        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         ej        ej        ej        ej        ej        ej	        j        fej         ej	        j        fd¬¦  «        d„ ¦   «         ¦   «         Z!ej	        j        d„ ¦   «         Z" ej        d
dd
ej	        j#        fd
d
dej	        j$        fi d
dej	        j$        fi dd
ej	        j%        fd
d
dej	        j&        fd
dd
ej	        j'        fd¬¦  «        d„ ¦   «         Z( ej        e) e*j+        d ¦  «        d!fe)d d!fe, e*j-        ¦   «         d"fe) e*j+        d#¦  «        d$ej	        j.        fe) e*j+        d%¦  «        d&ej	        j.        fe/ e0j1        ¦   «         d'fe) e*j2        d(¦  «         e*j2        d)¦  «        z   d$ej	        j.        fd*¬¦  «        ej	        j3        d+„ ¦   «         ¦   «         Z4d
S ),ÚComponentReflectionTestExtraTF)Úparamsc                 ó,   — |j         rt          j        S d S r—   )Úparamr   rV   )r~   Úrequests     r@   Úuse_schema_fixturez/ComponentReflectionTestExtra.use_schema_fixtureš
  s   € àŒ=ð 	ÝÔ%Ð%à�4rB   c                 ó>   ‡‡‡— t           j        ˆˆˆfd„¦   «         }|S )Nc              3   ó\   •K  — ‰t          ‰¦  «        fV — ‰                     ‰¦  «         d S r—   )r   rà   )rÐ   r”   r\   rƒ  s    €€€r@   Úgoz:ComponentReflectionTestExtra.inspect_for_table.<locals>.go£
  s:   øè è € à$¥g¨jÑ&9Ô&9Ð9Ð9Ð9Ð9à×Ò 
Ñ+Ô+Ð+Ð+Ð+rB   )Ú
contextlibÚcontextmanager)r~   r\   r”   rƒ  r†  s    ``` r@   Úinspect_for_tablez.ComponentReflectionTestExtra.inspect_for_table¡
  s=   øøø€ å	Ô	"ð	,ð 	,ð 	,ð 	,ð 	,ð 	,ñ 
#Ô	"ð	,ð
 ˆ	rB   c                 óŽ   ‡— d„ Št          ˆfd„|D ¦   «         d„ ¬¦  «        }t          |d„ ¬¦  «        }t          ||¦  «         d S )Nc                 óŒ   — d                      t          j        d|                      ¦   «         t          j        ¦  «        ¦  «        S )Nú zand|\d|=|a|b|c|or|<|>)Újoinr  Úfindallr  ÚI)r  s    r@   Ú	normalizez5ComponentReflectionTestExtra.ck_eq.<locals>.normalize¯
  s4   € Ø—8’8Ý”
Ð3°W·]²]±_´_ÅbÄdÑKÔKñô ð rB   c                 óD   •— g | ]}|d           ‰|d         ¦  «        dœ‘ŒS )rm   r  ©rm   r  rG   )r°  Úitemr�  s     €r@   rø  z6ComponentReflectionTestExtra.ck_eq.<locals>.<listcomp>µ
  sC   ø€ ð ð ð àð ˜fœ°)°)¸DÀ¼OÑ2LÔ2LÐMÐMðð ð rB   c                 ó   — | d         S r0  rG   ©r“  s    r@   r´   z4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>¹
  ó
   € ˜d 9œo€ rB   rÁ  c                 ó   — | d         S r0  rG   r•  s    r@   r´   z4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>¾
  r–  rB   )rD  r   )r~   r²  r¸  r�  s      @r@   Úck_eqz"ComponentReflectionTestExtra.ck_eq«
  s�   ø€ ð	ð 	ð 	õ
 ðð ð ð à%ðñ ô ð /Ð.ð
ñ 
ô 
ˆ	õ ØØ.Ð.ð
ñ 
ô 
ˆõ 	ˆI�xÑ Ô Ð Ð Ð rB   c                 ó  —  |d¦  «        5 \  }}t          d|t          dt          j        d¦  «        ¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     d|¬¦  «        g ¦  «         d S )Nrx  rO   rk  rR   )r   r   rp   r   r˜  r6  )r~   r\   r‰  rS   r«   s        r@   Ú#test_check_constraint_no_constraintz@ComponentReflectionTestExtra.test_check_constraint_no_constraintÂ
  sÜ   € àÐÐ/Ñ0Ô0ð 	Ñ4G°V¸YÝØ ØÝ�v�rœy¨™}œ}Ñ-Ô-Øð	ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�
Š
Ø×+Ò+Ð,<ÀVÐ+ÑLÔLØñ	
ô 	
ð 	
ð 	
ð 	
s   Œ7AÁAÁAÚ	my_inlineÚMyInlineNÚconstraint_namer­   c                 óÂ  —  |d¦  «        5 \  }}t          d|t          dt          ¦   «         d¬¦  «        t          dt          ¦   «         t          j        d|¬¦  «        ¦  «        t          dt          d	¦  «        ¦  «        |¬
¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d|¬
¦  «        }|                      ||pt          j	        ddœg¦  «         d S )NÚsa_ccrL   TrM   r²   úa > 1 AND a < 5r	  rO   rP   rR   úa > 1 and a < 5r’  )
r   r   r   rp   r  r   r6  r˜  r-   r@  ©r~   r\   r‰  r�  rS   r«   r²  s          r@   Útest_check_constraint_inlinez9ComponentReflectionTestExtra.test_check_constraint_inlineÑ
  sC  € ð Ð˜wÑ'Ô'ð 	Ñ+>¨F°IÝØØÝ�t�W™YœY°DÐ9Ñ9Ô9ÝØÝ‘I”IÝÔ&Ø)°ðñ ô ñô õ �v�v b™zœzÑ*Ô*Øðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð  ×3Ò3°GÀFÐ3ÑKÔKˆ	à�
Š
Øð ,Ð7­t¬xØ0ðð ðñ	
ô 	
ð 	
ð 	
ð 	
s   ŒA?BÂBÂBÚmy_ck_constÚ	MyCkConstc           
      óP  —  |d¦  «        5 \  }}t          d|t          dt          ¦   «         ¦  «        t          j        d|¬¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d|¬¦  «        }|                      ||pt          j        ddœg¦  «         d S )NrŸ  r²   za = 1 OR (a > 2 AND a < 5)r	  rR   za = 1 or a > 2 and a < 5r’  )	r   r   r   rp   r  r6  r˜  r-   r@  r¢  s          r@   Ú test_check_constraint_standalonez=ComponentReflectionTestExtra.test_check_constraint_standaloneõ
  s  € ð Ð˜wÑ'Ô'ð 		Ñ+>¨F°IÝØØÝ�s�G™IœIÑ&Ô&ÝÔ"Ø0°ðñ ô ð ðñ ô ð ð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð ×3Ò3°GÀFÐ3ÑKÔKˆ	à�
Š
Øð ,Ð7­t¬xØ9ðð ðñ	
ô 	
ð 	
ð 	
ð 	
s   ŒAAÁA"Á%A"c                 óÞ  —  |d¦  «        5 \  }}t          d|t          dt          ¦   «         d¬¦  «        t          dt          ¦   «         t          j        d¦  «        ¦  «        t          dt          ¦   «         t          j        dd	¬
¦  «        ¦  «        t          dt          ¦   «         ¦  «        t          dt          d¦  «        ¦  «        t          j        dd¬
¦  «        t          j        dd¬
¦  «        t          j        dd¬
¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d|¬¦  «        }|                      |dddœd	ddœt          j
        ddœg¦  «         d S )NrŸ  rL   TrM   r²   r   r½  zb > 1 AND b < 5r›  r	  r©   rO   rP   Úsome_uqzc > 1 AND c < 5Úcc1Ú	some_c_uqrR   zc > 1 and c < 5r’  zb > 1 and b < 5r¡  )r   r   r   rp   r  r   r  r6  r˜  r-   r@  )r~   r\   r‰  rS   r«   r²  s         r@   Útest_check_constraint_mixedz8ComponentReflectionTestExtra.test_check_constraint_mixed  s²  € àÐ˜wÑ'Ô'ð 	Ñ+>¨F°IÝØØÝ�t�W™YœY°DÐ9Ñ9Ô9Ý�s�G™IœI¥rÔ'9Ð:KÑ'LÔ'LÑMÔMÝØÝ‘I”IÝÔ&Ð'8¸{ÐKÑKÔKñô õ
 �s�G™IœIÑ&Ô&Ý�v�v b™zœzÑ*Ô*ÝÔ# F°Ð;Ñ;Ô;ÝÔ"Ð#4¸5ÐAÑAÔAÝÔ# C¨kÐ:Ñ:Ô:Øðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð& ×3Ò3°GÀFÐ3ÑKÔKˆ	à�
Š
ØàÐ+<Ð=Ð=Ø$Ð1BÐCÐCÝœÐ.?Ð@Ð@ðñ	
ô 	
ð 	
ð 	
ð 	
s   ŒDDÄD#Ä&D#c                 ó´  —  |d¦  «        5 \  }}t          d|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        ¦  «        }t          d|j        j        |j        j        |j        j        ¦  «         ddd¦  «         n# 1 swxY w Y   |                     d¦  «        }t          |d	         d
         g d¢¦  «         dS )ztest for #12894Úsa_multi_indexÚColumn1TrM   ÚColumn2ÚColumn3ÚIndex_ExampleNr   rÍ   )r±  r¯  r°  )
r   r   r   r%   r©   r±  r¯  r°  r-  r   )r~   r\   r‰  rS   r«   rK   r   s          r@   Útest_index_column_orderz4ComponentReflectionTestExtra.test_index_column_order3  s  € ð ÐÐ/Ñ0Ô0ð 	Ñ4G°V¸YÝØ ØÝ�y¥'°tÐ<Ñ<Ô<Ý�y¥'Ñ*Ô*Ý�y¥'Ñ*Ô*ñô ˆJõ ØØ”Ô$Ø”Ô$Ø”Ô$ñ	ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ×'Ò'Ð(8Ñ9Ô9ˆÝˆG�AŒJ�~Ô&Ð(IÐ(IÐ(IÑJÔJÐJÐJÐJs   ŒBBÂBÂ!Bc                 ó–  ‡‡— t          d|t          dt          d¦  «        ¦  «        t          dt          d¦  «        ¦  «        t          dt          d¦  «        ¦  «        ¦  «        }t          dt	          j        |j        j        ¦  «        |j        j        t	          j        |j        j	        ¦  «        ¦  «         dŠt          dt	          j
        |j        j        ‰¦  «        ¦  «         t          d	|j        j        ¦  «         |                     ‰¦  «         t          ‰¦  «        }d	dgd
i dœg}ˆfd„} ||d         ¦  «          G d„ dt          ¦  «        } G ˆfd„dt          ¦  «        }t          j        j        j        r¹dg d¢ |d¦  «        d |d¦  «        gd
dœ}	 ||	¦  «         |                     d|	¦  «         dd g |d‰› d�¦  «        gd
dœ}
 ||
¦  «         |                     |
¦  «         t)          |                     d¦  «        |¦  «         t-          ¦   «         }t          d|‰¬¦  «        }njt/          d¦  «        5  t)          |                     d¦  «        |¦  «         t-          ¦   «         }t          d|‰¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      ||‰j        j        ¦  «         d S )Nr@  Úxrc  ÚyÚzÚt_idxa°  long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string long string Ú
t_idx_longÚt_idx_2F)rm   rÍ   rd  rô  c                 ó–   •— t           j        j        j        rg | d<   ‰j        j        › d�g i| d<   d S |                      di ¦  «         d S )Nrõ  Ú_includerô  )r   rT   r¶  r9   r5  rm   r=  )Úentryr”   s    €r@   ÚcompleteIndexzYComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.completeIndexc  se   ø€ ÝÔÔ?ÔGð 8Ø+-�Ð'Ñ(à!Ô(Ô-Ð7Ð7Ð7¸ð,�Ð'Ñ(Ð(Ð(ð × Ò Ð!2°BÑ7Ô7Ð7Ð7Ð7rB   r   c                   ó   — e Zd Zd„ ZdS )ú[ComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_strc                 óB   — |                      ¦   «         }d|v od|v pd|v S )Nr  rµ  r¶  ©r  )r~   rØ   Úols      r@   rá  zbComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_str.__eq__o  s+   € Ø—[’[‘]”]�à "�}ÐA¨#°¨)Ð*@°s¸b°yÐArB   Nrâ  rG   rB   r@   Úlower_index_strrÀ  n  s(   € € € € € ðBð Bð Bð Bð BrB   rÄ  c                   ó   •— e Zd Zˆ fd„ZdS )ú^ComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_strc                 ó8   •— d|                      ¦   «         v o‰|v S )NÚcoalescerÂ  )r~   rØ   Úlong_strs     €r@   rá  zeComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_str.__eq__u  s    ø€ à! U§[¢[¡]¤]Ð2ÐH°xÀ5Ð7HÐHrB   Nrâ  )rÉ  s   €r@   Úcoalesce_index_strrÆ  t  s5   ø€ € € € € ðIð Ið Ið Ið Ið Ið IrB   rÊ  )Nr·  Nzlower(x)zlower(y))rm   rÍ   rö  rd  zcoalesce(x, 'z')rÛ   z>Skipped unsupported reflection of expression-based index t_idx)r   r   r   r%   r   r  r©   rµ  r·  r¶  rÈ  rà   r   r  r   rT   Ú reflect_indexes_with_expressionsr9   Úinsertrñ  r   r-  r   r
   Ú!compare_table_index_with_expectedr5  rm   )r~   r\   r”   r@  r‡   r¸  r¾  rÄ  rÊ  Ú
expr_indexÚexpr_index_longrâ   r[  rÉ  s     `          @r@   Ú%test_reflect_expression_based_indexeszBComponentReflectionTestExtra.test_reflect_expression_based_indexesG  s�  øø€ åØØÝ�3�˜r™
œ
Ñ#Ô#Ý�3�˜r™
œ
Ñ#Ô#Ý�3�˜r™
œ
Ñ#Ô#ñ
ô 
ˆõ 	ˆg•t”z !¤#¤%Ñ(Ô(¨!¬#¬%µ´¸A¼C¼EÑ1BÔ1BÑCÔCÐCØ'ˆÝˆl�DœM¨!¬#¬%°Ñ:Ô:Ñ;Ô;Ð;Ýˆi˜œœÑÔÐà×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆð "Ø!$ ØØ#%ð	ð ð
ˆð	8ð 	8ð 	8ð 	8ð 	8ð 	ˆ�h˜q”kÑ"Ô"Ð"ð	Bð 	Bð 	Bð 	Bð 	B�cñ 	Bô 	Bð 	Bð	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	I¥ñ 	Iô 	Ið 	Iõ
 ÔÔ<ÔDð #	>àØ 1Ð 1Ð 1à#�O JÑ/Ô/ØØ#�O JÑ/Ô/ð ð
  ð	ð 	ˆJð ˆM˜*Ñ%Ô%Ð%Ø�OŠO˜A˜zÑ*Ô*Ð*ð %Ø!% à&Ð&Ð'C°xÐ'CÐ'CÐ'CÑDÔDð ð  ðð ˆOð ˆM˜/Ñ*Ô*Ð*Ø�OŠO˜OÑ,Ô,Ð,å�× Ò  Ñ%Ô% xÑ0Ô0Ð0Ý‘”ˆBÝ�s˜B¨jÐ9Ñ9Ô9ˆBˆBå ðñô ð >ð >õ �D×$Ò$ SÑ)Ô)¨8Ñ4Ô4Ð4Ý‘Z”Z�Ý˜3 °*Ð=Ñ=Ô=�ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð 	×.Ò.Ø�˜*Ô+Ô0ñ	
ô 	
ð 	
ð 	
ð 	
s   ÉAJÊJ!Ê$J!c                 óÜ  — t          d|t          dt          d¦  «        ¦  «        t          dt          d¦  «        ¦  «        ¦  «        }t          d|j        j        ¦  «        }dg|j        |j        j                 d<   | 	                    |¦  «         t          |¦  «        }|                     d¦  «        }t          |ddgdgdt          j        dœg¦  «         t          |d	         d
         d|j        j        z           dg¦  «         t          dt          ¦   «         |¬¦  «        }t          t!          |j        ¦  «        d	         j        |j        j                 d         dg¦  «         d S )Nr@  rµ  rc  r¶  r¸  ÚincludeF)rm   rÍ   rõ  rd  rô  r   rô  z
%s_includerÛ   )r   r   r   r%   r©   rµ  rô  r5  rm   rà   r   r-  r   r-   r@  r   rÕ  r   )r~   r\   r”   r@  r¿   r‡   r-  r[  s           r@   Útest_reflect_covering_indexz8ComponentReflectionTestExtra.test_reflect_covering_index¢  s{  € åØØÝ�3�˜r™
œ
Ñ#Ô#Ý�3�˜r™
œ
Ñ#Ô#ñ	
ô 
ˆõ �G˜QœSœUÑ#Ô#ˆØBEÀˆÔ˜JÔ-Ô2Ô3°IÑ>à×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆà×&Ò& sÑ+Ô+ˆÝØð $Ø%( EØ(+ uØ#Ý'+¤xðð ðñ	
ô 	
ð 	
õ 	Ø˜ŒNÐ,Ô-Ø˜zÔ0Ô5Ñ5ôð ˆEñ		
ô 	
ð 	
õ �3�™
œ
°*Ð=Ñ=Ô=ˆÝÝ�”ÑÔ˜QÔÔ/°
Ô0AÔ0FÔGØôð ˆEñ		
ô 	
ð 	
ð 	
ð 	
rB   c                 óÎ   — t          d|gd„ t          |¦  «        D ¦   «         ¢R Ž }|                     |¦  «         d„ t          |¦  «                             d¦  «        D ¦   «         S )Nr@  c                 ó:   — g | ]\  }}t          d |z  |¦  «        ‘ŒS )zt%dr   )r°  rn  Útype_s      r@   rø  zAComponentReflectionTestExtra._type_round_trip.<locals>.<listcomp>Ñ  s*   € ÐHÐHÐH©8¨1¨e�f�U˜Q‘Y Ñ&Ô&ÐHÐHÐHrB   c                 ó   — g | ]
}|d          ‘ŒS )rÇ  rG   rã  s     r@   rø  zAComponentReflectionTestExtra._type_round_trip.<locals>.<listcomp>Õ  s   € ÐHÐHÐH˜a��&”	ÐHÐHÐHrB   )r   r_  r„   r   rê   )r~   r”   r\   r   r@  s        r@   Ú_type_round_tripz-ComponentReflectionTestExtra._type_round_tripÍ  s{   € ÝØØð
ð IÐHµyÀÑ7GÔ7GÐHÑHÔHð
ð 
ð 
ˆð
 	
�Š�ÑÔÐàHÐH¥7¨:Ñ#6Ô#6×#BÒ#BÀ3Ñ#GÔ#GÐHÑHÔHÐHrB   c                 óì   — |                       ||t          j        dd¦  «        ¦  «        D ]H}t          |t          j        ¦  «        sJ ‚t	          |j        d¦  «         t	          |j        d¦  «         ŒId S )Né   rR  )rØ  rc  rg  r  r   Ú	precisionÚscale)r~   r”   r\   Útyps       r@   Útest_numeric_reflectionz4ComponentReflectionTestExtra.test_numeric_reflection×  s�   € à×(Ò(Ø˜¥)Ô"3°B¸Ñ":Ô":ñ
ô 
ð 	ð 	ˆCõ ˜c¥9Ô#4Ñ5Ô5Ð5Ð5Ð5Ý�”˜rÑ"Ô"Ð"Ý�”	˜1ÑÔÐÐð	ð 	rB   rÖ  c                 óÈ  — |                       || |d¦  «        ¦  «        d         }t          |t          j        ¦  «        rt	          |t          j        ¦  «        sJ ‚nSt          |t          j        ¦  «        rt	          |t          j        ¦  «        sJ ‚nt	          |t          j        ¦  «        sJ ‚t          |j        d¦  «         t	          |j        t          ¦  «        sJ ‚d S )Né4   r   )
rØ  Ú
issubclassrc  rr   r  r‡  r   r   ÚlengthÚint)r~   r”   r\   rÖ  rÝ  s        r@   Útest_string_length_reflectionz:ComponentReflectionTestExtra.test_string_length_reflectionà  sÑ   € ð ×#Ò# J°¸%¸%À¹)¼)ÑDÔDÀQÔGˆÝ�e�YÔ.Ñ/Ô/ð 	5Ý˜c¥9Ô#4Ñ5Ô5Ð5Ð5Ð5Ð5Ý˜�yœ~Ñ.Ô.ð 	5Ý˜c¥9¤>Ñ2Ô2Ð2Ð2Ð2Ð2å˜c¥9Ô#3Ñ4Ô4Ð4Ð4Ð4åˆCŒJ˜ÑÔÐÝ˜#œ*¥cÑ*Ô*Ð*Ð*Ð*Ð*Ð*rB   c           
      ó"  — t          d|t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «        }|                     |¦  «         t	          d„ t          |¦  «                             d¦  «        D ¦   «         dddœ¦  «         d S )	Nr@  r²   TrS  r½  Fc                 ó,   — i | ]}|d          |d         “ŒS )rm   rT  rG   rz  s     r@   r´  zIComponentReflectionTestExtra.test_nullable_reflection.<locals>.<dictcomp>ÿ  s2   € ð ð ð àð �F”˜S œ_ðð ð rB   )r²   r½  )r   r   r   r„   r   r   rê   )r~   r”   r\   r@  s       r@   Útest_nullable_reflectionz5ComponentReflectionTestExtra.test_nullable_reflectionõ  sª   € åØØÝ�3�¨$Ð/Ñ/Ô/Ý�3�¨%Ð0Ñ0Ô0ñ	
ô 
ˆð 	
�Š�ÑÔÐÝðð å" :Ñ.Ô.×:Ò:¸3Ñ?Ô?ðñ ô ð ˜UÐ#Ð#ñ	
ô 	
ð 	
ð 	
ð 	
rB   ÚCASCADEzSET NULLz	NO ACTIONÚRESTRICTzexpected,ondelete,onupdatec                 óT  ‡— i }|r||d<   |r||d<   |€|}t          d|t          dt          d¬¦  «        d¬¦  «         t          d|t          dt          d¬¦  «        t          d	t          t          d
d¬¦  «        ¦  «        t          dt	          d¦  «        ¦  «        d¬¦  «         t          d|t          dt          d¬¦  «        t          dt	          d¦  «        d¬¦  «        t          dt          ¦  «        t          j        dgdgfddi|¤Žd¬¦  «         |                     |¦  «         t          |¦  «        }| 	                    d¦  «        d         d         Št          ˆfd„‰D ¦   «         i ¦  «         | 	                    d¦  «        d         d         Št          ‰|¦  «         d S )NÚondeleteÚonupdaterµ  rL   TrM   rÕ   rl  Úx_idzx.idÚxidr	  Útesté
   Úuserrm   rP   FrS  Útidztable.idÚmyfkr   r6   c                 ó2   •— i | ]}‰|         ¯
|‰|         “ŒS rG   rG   )r°  r³   Úoptss     €r@   r´  zMComponentReflectionTestExtra.test_get_foreign_key_options.<locals>.<dictcomp>]  s(   ø€ Ð1Ð1Ð1˜A¨¨a¬Ð1ˆQ��Q”Ð1Ð1Ð1rB   )r   r   r   r   r   rp   rß   rà   r   r*  r   )	r~   r”   r\   r¸  rë  rì  r6   r‡   rõ  s	           @r@   Útest_get_foreign_key_optionsz9ComponentReflectionTestExtra.test_get_foreign_key_options  sò  ø€ ðT ˆØð 	+Ø"*ˆG�JÑØð 	+Ø"*ˆG�JÑàÐØˆHåØØÝ�4�¨dÐ3Ñ3Ô3Øð		
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�7¥J¨v¸EÐ$BÑ$BÔ$BÑCÔCÝ�6�6 "™:œ:Ñ&Ô&Øð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:°Ð6Ñ6Ô6Ý�5�'Ñ"Ô"ÝÔ#Ø�˜*˜ðð Ø,2ðØ6=ðð ð ð
	
ñ 
	
ô 
	
ð 
	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆð ×$Ò$ WÑ-Ô-¨aÔ0°Ô;ˆåÐ1Ð1Ð1Ð1 Ð1Ñ1Ô1°2Ñ6Ô6Ð6à×$Ò$ VÑ,Ô,¨QÔ/°	Ô:ˆÝˆD�(ÑÔÐÐÐrB   Ú10z'?10'?z1|truez3 + 5z3\+5z(3 * 5)z3\*5zcurrent_timestamp|now|getdateÚ3Ú5zdatatype, default, expected_regc           
      ó^  — t          d|t          dt          d¬¦  «        t          d||¬¦  «        ¦  «        }|                     |¦  «         t	          |¦  «                             d¦  «        d         d         }t          j        d	d
|¦  «        }t          ||t          j	        ¬¦  «         d S )Nr@  rL   TrM   Úthecol)Úserver_defaultrÝ   rÈ  z	[\(\) \']rM  )Úflags)
r   r   r   r„   r   rê   r  r  r   Ú
IGNORECASE)	r~   r\   r”   ÚdatatyperÈ  Úexpected_regr@  r²  Úreflected_sanitizeds	            r@   Útest_server_defaultsz1ComponentReflectionTestExtra.test_server_defaultsc  s¨   € õ: ØØÝ�4�¨dÐ3Ñ3Ô3Ý�8˜X°gÐ>Ñ>Ô>ñ	
ô 
ˆð 	
�Š�ÑÔÐå˜JÑ'Ô'×3Ò3°CÑ8Ô8¸Ô;¸IÔFˆ	Ý œf \°2°yÑAÔAÐÝÐ$ l½"¼-ÐHÑHÔHÐHÐHÐHrB   )5rC   rD   rE   rŸ   r   r  rƒ  r‰  r˜  rT   r:  rš  Ú"inline_check_constraint_reflectionrÆ   r£  r§  r¬  Úindexes_check_column_orderr³  Úindexes_with_expressionsrÐ  r¶  rÓ  rØ  rc  rÞ  rc  r   rr   r‡  ÚNVARCHARÚnvarchar_typesÚNCHARrä  rç  Ú1foreign_key_constraint_option_reflection_ondeleteÚ1foreign_key_constraint_option_reflection_onupdateÚ1fk_constraint_option_reflection_ondelete_noactionÚ1fk_constraint_option_reflection_onupdate_restrictÚ1fk_constraint_option_reflection_ondelete_restrictrö  r   rp   rÁ  r   ÚtrueÚexpression_server_defaultsr   r   ÚnowÚliteral_columnÚserver_defaultsr  rG   rB   r@   r~  r~  —
  sz  € € € € € Ø $Ðà€W„_˜T 5˜MÐ*Ñ*Ô*ðð ñ +Ô*ðð €W„_ÑÔðð ñ Ôðð!ð !ð !ð. ÔÔ1ð
ð 
ñ 2Ô1ð
ð ÔÔ8Ø€WÔØ�Z Ð0Aðñ ô ð
ð 
ñô ñ 9Ô8ð
ð@ ÔÔ1Ø€WÔØ�{ DÐ3Dðñ ô ð
ð 
ñô ñ 2Ô1ð
ð4 ÔÔ8ð
ð 
ñ 9Ô8ð
ð> ÔÔ0ðKð Kñ 1Ô0ðKð& ÔÔ.ðX
ð X
ñ /Ô.ðX
ðt ÔÔ5ð(
ð (
ñ 6Ô5ð(
ðTIð Ið Ið ÔÔ&ðð ñ 'Ô&ðð ÔÔ&Ø€WÔØÔØÔØŒØ	Ô	˜WÔ-Ô<Ð=Ø	Œ˜'Ô*Ô9Ð:Øðñ ô ð
+ð 
+ñô ñ 'Ô&ð
+ð ÔÔ&ð
ð 
ñ 'Ô&ð
ð  €WÔàØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð .ðK&ñ &ô &ðN3ð 3ñO&ô &ðN3ðl €WÔØ	�'�"”'˜$‘-”- Ð+Ø	�$˜	Ð"Ø	�'�"”'‘)”)˜YÐ'àØˆBŒG�GÑÔØØÔÔ7ð		
ð ØˆBŒG�IÑÔØØÔÔ7ð		
ð 
�8�4”8‘:”:Ð?Ð@àØˆBÔ˜cÑ"Ô"Ð%6 RÔ%6°sÑ%;Ô%;Ñ;ØØÔÔ7ð		
ð 3ð/ñ ô ð2 ÔÔ%ðIð Iñ &Ô%ñ3ô ð4Ið Ið IrB   r~  c                   ó8   — e Zd ZdZdZed„ ¦   «         Zd„ Zd„ ZdS )ÚNormalizedNameTest)Údenormalized_namesTc                 ó  — t          t          dd¬¦  «        |t          dt          d¬¦  «        ¦  «         t          t          dd¬¦  «        |t          dt          d¬¦  «        t          dt	          d¦  «        ¦  «        ¦  «         d S )	Nrä   T©r  rL   rM   r[  Út1idzt1.id)r   r&   r   r   r   r[   s     r@   r]   z NormalizedNameTest.define_tables‘  s‘   € åÝ˜ DÐ)Ñ)Ô)ØÝ�4�¨dÐ3Ñ3Ô3ñ	
ô 	
ð 	
õ
 	Ý˜ DÐ)Ñ)Ô)ØÝ�4�¨dÐ3Ñ3Ô3Ý�6�: gÑ.Ô.Ñ/Ô/ñ		
ô 	
ð 	
ð 	
ð 	
rB   c                 óÊ  — t          ¦   «         }t          t          dd¬¦  «        |t          j        ¬¦  «        }|j        d         }|j        j                             |j        j	        ¦  «        sJ ‚t          ¦   «         }| 
                    t          j        d„ ¬¦  «         |j        d         j        j                             |j        d         j        j	        ¦  «        sJ ‚d S )Nr[  Tr  rÛ   rä   c                 ó.   — |                       ¦   «         dv S )N©rä   r[  rÂ  )rm   rI  s     r@   r´   zINormalizedNameTest.test_reflect_lowercase_forced_tables.<locals>.<lambda>©  s   € ¨D¯JªJ©L¬L¸LÐ,H€ rB   )Úonly)r   r   r&   r   r>   r¼   r©   r  rá   rL   rH  )r~   râ   Út2_refÚt1_refÚm3s        r@   Ú$test_reflect_lowercase_forced_tablesz7NormalizedNameTest.test_reflect_lowercase_forced_tablesŸ  sÍ   € Ý‰ZŒZˆÝÝ˜ DÐ)Ñ)Ô)¨2½V¼Yð
ñ 
ô 
ˆð ”˜4”ˆØŒxŒ}×'Ò'¨¬¬Ñ4Ô4Ð4Ð4Ð4å‰ZŒZˆØ
�
Š
ÝŒIÐHÐHð 	ñ 	
ô 	
ð 	
ð Œy˜ŒÔ Ô%×0Ò0°´¸4´Ô1BÔ1EÑFÔFÐFÐFÐFÐFÐFrB   c                 óp  — d„ t          t          j        ¦  «                             ¦   «         D ¦   «         }t	          |d                              ¦   «         |d                              ¦   «         ¦  «         t	          |d                              ¦   «         |d                              ¦   «         ¦  «         d S )Nc                 ó>   — g | ]}|                      ¦   «         d v ¯|‘ŒS )r  rÂ  )r°  r@  s     r@   rø  z;NormalizedNameTest.test_get_table_names.<locals>.<listcomp>®  s5   € ð 
ð 
ð 
àØ�wŠw‰yŒy˜LÐ(Ð(ð à(Ð(Ð(rB   r   rÝ   )r   r   r>   rC  r   Úupperr  )r~   Ú
tablenamess     r@   rF  z'NormalizedNameTest.test_get_table_names­  sž   € ð
ð 
å�VœYÑ'Ô'×7Ò7Ñ9Ô9ð
ñ 
ô 
ˆ
õ 	ˆJ�qŒM×ÒÑ!Ô! :¨a¤=×#6Ò#6Ñ#8Ô#8Ñ9Ô9Ð9ÝˆJ�qŒM×ÒÑ!Ô! :¨a¤=×#6Ò#6Ñ#8Ô#8Ñ9Ô9Ð9Ð9Ð9rB   N)	rC   rD   rE   rÅ   rŸ   rF   r]   r   rF  rG   rB   r@   r  r  �  sY   € € € € € Ø*€LØ $Ðàð
ð 
ñ „[ð
ðGð Gð Gð:ð :ð :ð :ð :rB   r  c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zej        j	        d„ ¦   «         Z
dS )ÚComputedReflectionTestc                 ó$  — t          t          j        ¦  «        }|                     d¦  «        }d„ |D ¦   «         }t	          d|d         d         v ¦  «         t          |d         d         d ¦  «         t          |d         d         d ¦  «         d S )NÚcomputed_default_tablec                 ó    — i | ]}|d          |“ŒS r	  rG   rã  s     r@   r´  zLComputedReflectionTest.test_computed_col_default_not_set.<locals>.<dictcomp>½  s   € Ð/Ð/Ð/ Q�A�f”I˜qÐ/Ð/Ð/rB   Ú42Úwith_defaultrÈ  ÚnormalÚcomputed_col)r   r   r>   rê   r,   r   )r~   r‡   rÖ  Úcol_datas       r@   Ú!test_computed_col_default_not_setz8ComputedReflectionTest.test_computed_col_default_not_set¹  s�   € Ý•v”yÑ!Ô!ˆà×ÒÐ 8Ñ9Ô9ˆØ/Ð/¨$Ð/Ñ/Ô/ˆÝ�˜ Ô0°Ô;Ð;Ñ<Ô<Ð<ÝˆH�XÔ˜yÔ)¨4Ñ0Ô0Ð0ÝˆH�^Ô$ YÔ/°Ñ6Ô6Ð6Ð6Ð6rB   c                 óX  — t          t          j        ¦  «        }|                     d¦  «        }d„ |D ¦   «         }dD ]}t	          d||         v¦  «         Œ|d         }t	          d|v ¦  «         t	          d|d         v ¦  «         t          |                      |d         d         ¦  «        d¦  «         t          d|d         v t          j        j	        j
        ¦  «         t          j        j	        j
        r2t          |d         d         t          j        j        j
        ¦  «         d S d S )	Nr(  c                 ó    — i | ]}|d          |“ŒS r	  rG   rã  s     r@   r´  zKComputedReflectionTest.test_get_column_returns_computed.<locals>.<dictcomp>Æ  ó   € Ð+Ð+Ð+ ��&”	˜1Ð+Ð+Ð+rB   )rL   r,  r+  Úcomputedr-  r  ú	normal+42Ú	persisted)r   r   r>   rê   r,   r   r�  r   rT   Ú"computed_columns_reflect_persistedr9   Ú"computed_columns_default_persisted)r~   r‡   rÖ  rO   rÔ   ÚcompDatas         r@   Ú test_get_column_returns_computedz7ComputedReflectionTest.test_get_column_returns_computedÂ  s9  € Ý•v”yÑ!Ô!ˆà×ÒÐ 8Ñ9Ô9ˆØ+Ð+ dÐ+Ñ+Ô+ˆØ3ð 	1ð 	1ˆCÝ�J d¨3¤iÐ/Ñ0Ô0Ð0Ð0Ø˜Ô'ˆÝ�
˜hÐ&Ñ'Ô'Ð'Ý�	˜X jÔ1Ð1Ñ2Ô2Ð2ÝˆD�NŠN˜8 JÔ/°	Ô:Ñ;Ô;¸[ÑIÔIÐIÝØ˜8 JÔ/Ð/ÝÔÔ?ÔGñ	
ô 	
ð 	
õ ÔÔ>ÔFð 	ÝØ˜Ô$ [Ô1ÝÔ ÔCÔKñô ð ð ð ð	ð 	rB   c                 ó   — t          d||         v ¦  «         ||         d         }t          |                      |d         ¦  «        |¦  «         t          j        j        j        r)t          d|v ¦  «         t          |d         |¦  «         d S d S )Nr3  r  r5  )r,   r   r�  r   rT   r6  r9   r   )r~   rO   Úcolumnr  r5  r8  s         r@   Úcheck_columnz#ComputedReflectionTest.check_column×  s‘   € Ý�
˜d 6œlÐ*Ñ+Ô+Ð+Ø˜”< 
Ô+ˆÝˆD�NŠN˜8 IÔ.Ñ/Ô/°Ñ9Ô9Ð9ÝÔÔ>ÔFð 	2Ý�K 8Ð+Ñ,Ô,Ð,Ý�˜Ô% yÑ1Ô1Ð1Ð1Ð1ð	2ð 	2rB   c                 óŽ  — t          t          j        ¦  «        }|                     d¦  «        }d„ |D ¦   «         }|                      |ddt
          j        j        j        ¦  «         t
          j        j	        j        r|                      |ddd¦  «         t
          j        j
        j        r|                      |dd	d
¦  «         d S d S )NÚcomputed_column_tablec                 ó    — i | ]}|d          |“ŒS r	  rG   rã  s     r@   r´  zLComputedReflectionTest.test_get_column_returns_persisted.<locals>.<dictcomp>ã  r2  rB   Úcomputed_no_flagr4  Úcomputed_virtualznormal+2FÚcomputed_storedz	normal-42T)r   r   r>   rê   r<  r   rT   r7  r9   Úcomputed_columns_virtualÚcomputed_columns_stored©r~   r‡   rÖ  rO   s       r@   Ú!test_get_column_returns_persistedz8ComputedReflectionTest.test_get_column_returns_persistedß  sç   € Ý•v”yÑ!Ô!ˆà×ÒÐ 7Ñ8Ô8ˆØ+Ð+ dÐ+Ñ+Ô+ˆà×ÒØØØÝÔÔ?ÔGñ		
ô 	
ð 	
õ ÔÔ4Ô<ð 	Ø×ÒØØ"ØØñ	ô ð õ ÔÔ3Ô;ð 	Ø×ÒØØ!ØØñ	ô ð ð ð ð	ð 	rB   c                 ó¦  — t          t          j        ¦  «        }|                     dt          j        ¬¦  «        }d„ |D ¦   «         }|                      |ddt          j        j        j	        ¦  «         t          j        j
        j	        r|                      |ddd¦  «         t          j        j        j	        r|                      |d	d
d¦  «         d S d S )Nr>  rR   c                 ó    — i | ]}|d          |“ŒS r	  rG   rã  s     r@   r´  zXComputedReflectionTest.test_get_column_returns_persisted_with_schema.<locals>.<dictcomp>  r2  rB   r@  z	normal/42rA  znormal/2FrB  z	normal*42T)r   r   r>   rê   rV   r<  r   rT   r7  r9   rC  rD  rE  s       r@   Ú-test_get_column_returns_persisted_with_schemazDComputedReflectionTest.test_get_column_returns_persisted_with_schemaú  s÷   € å•v”yÑ!Ô!ˆà×ÒØ#­FÔ,>ð  ñ 
ô 
ˆð ,Ð+ dÐ+Ñ+Ô+ˆà×ÒØØØÝÔÔ?ÔGñ		
ô 	
ð 	
õ ÔÔ4Ô<ð 	Ø×ÒØØ"ØØñ	ô ð õ ÔÔ3Ô;ð 	Ø×ÒØØ!ØØñ	ô ð ð ð ð	ð 	rB   N)rC   rD   rE   r/  r9  r<  rF  r   rT   rU   rI  rG   rB   r@   r&  r&  ¸  sr   € € € € € ð7ð 7ð 7ðð ð ð*2ð 2ð 2ðð ð ð6 ÔÔðð ñ Ôðð ð rB   r&  c                   ój   — e Zd ZdxZZdZdZed„ ¦   «         Zd„ Z	d„ Z
ej        j        d„ ¦   «         ZdS )ÚIdentityReflectionTestNT)rõ   rc  c                 óÚ  — t          d|t          dt          ¦  «        t          dt          t          ¦   «         ¦  «        ¦  «         t          d|t          dt          t          dddd	d
dd¬¦  «        ¦  «        ¦  «         t          j        j        j        rVt          d|t          dt          ¦  «        t          dt          t          dd¬¦  «        ¦  «        t          j	        ¬¦  «         d S d S )Nrä   r,  Úid1r[  r×   Tr   r   éþÿÿÿru  é   ©Úalwaysrè   Ú	incrementÚminvalueÚmaxvalueÚcycleÚcacherk  )rQ  rè   rR   )
r   r   r   r   r   rT   rU   r9   r   rV   r[   s     r@   r]   z$IdentityReflectionTest.define_tables  s  € åØØÝ�8�WÑ%Ô%Ý�5�'¥8¡:¤:Ñ.Ô.ñ		
ô 	
ð 	
õ 	ØØÝØÝÝØØØØØØØðñ ô ñô ñ	
ô 	
ð 	
õ" ÔÔ#Ô+ð 	ÝØØÝ�x¥Ñ)Ô)Ý�u�g¥x°tÀ2Ð'FÑ'FÔ'FÑGÔGÝÔ)ðñ ô ð ð ð ð	ð 	rB   c                 óT  — t           j        j        j        rÙd}t	          |¦  «        D ]}||vr|                     |¦  «         Œ|r˜t          t          |¦  «        t          |¦  «        ¦  «         |D ]i}|dk    r t          ||         ||         k    ¦  «         Œ(|dv r t          ||         ||         k    ¦  «         ŒLt          ||         ||         |¦  «         Œjd S t          ||¦  «         d S t          |d         |d         ¦  «         t          |d         |d         ¦  «         d S )NrP  rS  >   rV  rT  rè   rR  )	r   rT   Úidentity_columns_standardr9   rÕ  rÊ  r   r^  r,   )r~   rR  rY  ÚapproxÚcommon_keysr³   s         r@   ÚcheckzIdentityReflectionTest.checkA  sB  € ÝÔÔ5Ô=ð 	6ðˆKõ ˜%‘[”[ð !ð !�Ø˜KÐ'Ð'Ø—I’I˜a‘L”L�LøØð 
 Ý•C˜‘J”J¥ C¡¤Ñ)Ô)Ð)Øð 1ð 1�AØ˜J’�Ý  a¤¨C°¬FÒ 2Ñ3Ô3Ð3Ð3ØÐ3Ð3Ð3Ý  a¤¨C°¬FÒ 2Ñ3Ô3Ð3Ð3å˜E !œH c¨!¤f¨aÑ0Ô0Ð0Ð0ð1ð 1õ �E˜3‘”���å��g”  G¤Ñ-Ô-Ð-Ý��kÔ" C¨Ô$4Ñ5Ô5Ð5Ð5Ð5rB   c                 óÒ  — t          t          j        ¦  «        }|                     d¦  «        |                     d¦  «        z   }|D �]}|d         dk    rt	          d|v ¦  «         Œ!|d         dk    rsd|v rt          |d         ¦  «         t          |d         d ¦  «         t          d|v ¦  «         |                      |d         t          d	d
d
d
dd	d
¬¦  «        d¬¦  «         Œ |d         dk    rrd|v rt          |d         ¦  «         t          |d         d ¦  «         t          d|v ¦  «         |                      |d         t          ddddddd¬¦  «        d	¬¦  «         �Œ d S )Nrä   r[  rm   r,  rç   rM  rÆ  rÈ  FrÝ   éÿÿÿrP  T©rY  r×   r   r   rN  ru  rO  )	r   r   r>   rê   r*   r,   r   r[  r<   ©r~   r‡   rÖ  rƒ   s       r@   rì   z,IdentityReflectionTest.test_reflect_identity^  sÁ  € Ý•v”yÑ!Ô!ˆà×Ò Ñ%Ô%¨×(8Ò(8¸Ñ(>Ô(>Ñ>ˆØð &	ñ &	ˆCØ�6Œ{˜hÒ&Ð&Ý˜ sÐ*Ñ+Ô+Ð+Ð+Ø�V” Ò%Ð%Ø" cÐ)Ð)Ý˜C Ô0Ñ1Ô1Ð1Ý�C˜	”N DÑ)Ô)Ð)Ý˜
 cÐ)Ñ*Ô*Ð*Ø—
’
Ø˜
”OÝØ$ØØ"#Ø!"Ø!+Ø#Øðñ ô ð  ð ñ ô ð ð ð �V” Ò%Ð%Ø" cÐ)Ð)Ý˜C Ô0Ñ1Ô1Ð1Ý�C˜	”N DÑ)Ô)Ð)Ý˜
 cÐ)Ñ*Ô*Ð*Ø—
’
Ø˜
”OÝØ#ØØ"#Ø!#Ø!#Ø"Øðñ ô ð !ð ñ ô ð ùð5&	ð &	rB   c                 ó¼  — t          t          j        ¦  «        }|                     dt          j        ¬¦  «        }|D ]ž}|d         dk    rt          d|v ¦  «         Œ |d         dk    rrd|v rt          |d         ¦  «         t          |d         d ¦  «         t          d|v ¦  «         |                      |d         t          d	d
ddddd¬¦  «        d	¬¦  «         ŒŸd S )Nrä   rR   rm   r,  rç   rM  rÆ  rÈ  Trk  rÝ   r]  FrP  r^  )
r   r   r>   rê   rV   r*   r,   r   r[  r<   r_  s       r@   Útest_reflect_identity_schemaz3IdentityReflectionTest.test_reflect_identity_schemaŠ  s  € å•v”yÑ!Ô!ˆà×Ò ­VÔ-?ÐÑ@Ô@ˆØð 	ð 	ˆCØ�6Œ{˜hÒ&Ð&Ý˜ sÐ*Ñ+Ô+Ð+Ð+Ø�V” Ò%Ð%Ø" cÐ)Ð)Ý˜C Ô0Ñ1Ô1Ð1Ý�C˜	”N DÑ)Ô)Ð)Ý˜
 cÐ)Ñ*Ô*Ð*Ø—
’
Ø˜
”OÝØ#Ø Ø"#Ø!"Ø!+Ø#Øðñ ô ð  ð ñ ô ð øð	ð 	rB   )rC   rD   rE   r]  r    rŸ   rÅ   rF   r]   r[  rì   r   rT   rU   ra  rG   rB   r@   rK  rK    s„   € € € € € Ø $Ð$€K�+à $ÐØ;€Làðð ñ „[ððB6ð 6ð 6ð:*ð *ð *ðX ÔÔðð ñ Ôðð ð rB   rK  c                   ó|   — e Zd ZdZed„ ¦   «         Zej        j        d„ ¦   «         Z	ej        j
        d„ ¦   «         ZdS )ÚCompositeKeyReflectionTestTc                 óB  — t          d|t          dt          ¦  «        t          dt          ¦  «        t          dt          j        d¦  «        ¦  «        t          j        dddd¬¦  «        d d¬	¦  «        }t          d
|t          dt          d¬¦  «        t          dt          ¦  «        t          dt          ¦  «        t          dt          j        d¦  «        ¦  «        t          j        g d¢|j        j	        |j        j
        |j        j        gd¬¦  «        d d¬	¦	  «	         d S )NÚtb1rL   Úattrrm   rk  Úpk_tb1r	  Tr\  Útb2rM   ÚpidÚpattrÚpname©rk  ri  rj  Úfk_tb1_name_id_attr)r   r   r   rc  rr   rp   r  rß   r©   rm   rL   rf  )r?   r\   re  s      r@   r]   z(CompositeKeyReflectionTest.define_tables©  s  € åØØÝ�4�Ñ!Ô!Ý�6�7Ñ#Ô#Ý�6�9Ô,¨RÑ0Ô0Ñ1Ô1ÝÔ# F¨D°&¸xÐHÑHÔHØØð	
ñ 	
ô 	
ˆõ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�5�'Ñ"Ô"Ý�7�GÑ$Ô$Ý�7�IÔ-¨bÑ1Ô1Ñ2Ô2ÝÔ#Ø)Ð)Ð)Ø””˜SœUœX s¤u¤zÐ2Ø*ðñ ô ð
 Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rB   c                 ó¶   — t          |¦  «        }|                     | j        j        j        ¦  «        }t          |                     d¦  «        g d¢¦  «         d S )NrÔ  ©rm   rL   rf  )r   r'  r¼   re  rm   r   rä  )r~   r”   r‡   rN   s       r@   Útest_pk_column_orderz/CompositeKeyReflectionTest.test_pk_column_orderÅ  sU   € õ �zÑ"Ô"ˆØ×,Ò,¨T¬[¬_Ô-AÑBÔBˆÝˆK�OŠOÐ1Ñ2Ô2Ð4JÐ4JÐ4JÑKÔKÐKÐKÐKrB   c                 óJ  — t          |¦  «        }|                     | j        j        j        ¦  «        }t          t          |¦  «        d¦  «         |d         }t          |                     d¦  «        g d¢¦  «         t          |                     d¦  «        g d¢¦  «         d S )NrÝ   r   rä  ro  rÔ  rl  )r   r*  r¼   rh  rm   r   r^  rä  )r~   r”   r‡   Úforeign_keysr�  s        r@   Útest_fk_column_orderz/CompositeKeyReflectionTest.test_fk_column_orderÌ  sš   € õ �zÑ"Ô"ˆØ×,Ò,¨T¬[¬_Ô-AÑBÔBˆÝ�C�ÑÔ˜qÑ!Ô!Ð!Ø˜Q”ˆÝˆE�IŠIÐ(Ñ)Ô)Ð+AÐ+AÐ+AÑBÔBÐBÝˆE�IŠIÐ+Ñ,Ô,Ð.GÐ.GÐ.GÑHÔHÐHÐHÐHrB   N)rC   rD   rE   rŸ   rF   r]   r   rT   ra  rp  rô   rs  rG   rB   r@   rc  rc  ¦  s   € € € € € Ø $Ðàð
ð 
ñ „[ð
ð6 ÔÔ7ðLð Lñ 8Ô7ðLð ÔÔ7ðIð Iñ 8Ô7ðIð Ið IrB   rc  )rH  r~  rh  r  rÈ   rI   r£   r  r&  rK  rc  rø   )Ir‡  rÇ  r  r:   rp   rM  r   r   r   r   r   r	   r
   r   r   Ú	provisionr   r   rS   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rc  r5  r   r    r!   Úexcr"   r#   r$   r%   Úsql.elementsr&   Ú
sql.schemar'   r(   r)   r*   r+   r,   r-   r\   rO  Ú
TablesTestr0   rI   r£   ÚTestBaserÈ   rø   r  rF  rH  rh  r~  r  ÚComputedReflectionFixtureTestr&  rK  rc  Ú__all__rG   rB   r@   ú<module>r|     sÙ  ðð Ð Ð Ð Ø €€€Ø 	€	€	€	à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à�€ˆ%ðð ð ð ð ˜hÔ1ñ ô ð ð U:ð U:ð U:ð U:ð U:Ð*ñ U:ô U:ð U:ðpJ
ð J
ð J
ð J
ð J
�8Ô&ñ J
ô J
ð J
ðZdGð dGð dGð dGð dG˜8Ô,ñ dGô dGð dGðN#Gð #Gð #Gð #Gð #G˜HÔ-ñ #Gô #Gð #GðLT0ð T0ð T0ð T0ð T0˜XÔ0ñ T0ô T0ð T0ðn1ð 1ð 1ð<n0ð n0ð n0ð n0ð n0˜nÐ.Eñ n0ô n0ð n0ðb?2,ð 2,ð 2,ð 2,ð 2,˜Ô*ñ 2,ô 2,ð 2,ðjsIð sIð sIð sIð sI ?°HÔ4Eñ sIô sIð sIðl(:ð (:ð (:ð (:ð (:˜Ô,ñ (:ô (:ð (:ðV^ð ^ð ^ð ^ð ^˜XÔCñ ^ô ^ð ^ðBJð Jð Jð Jð J˜XÔ0ñ Jô Jð JðZ.Ið .Ið .Ið .Ið .I Ô!4ñ .Iô .Ið .Iðb€€€rB   