§
    i˜ºhµ½ ã                   óì  — 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+\  Z4Z5 G d,„ d-ej6        ¦  «        Z7 G d.„ d/e7¦  «        Z8 G d0„ d1ej6        ¦  «        Z9 G d2„ d3ej:        ¦  «        Z; G d4„ d5ej:        ¦  «        Z< G d6„ d7ej6        ¦  «        Z=d8„ Z> G d9„ d:e0e7¦  «        Z? G d;„ d<ej:        ¦  «        Z@ G d=„ d>e/ej:        ¦  «        ZA G d?„ d@ej6        ¦  «        ZB G dA„ dBejC        ¦  «        ZD G dC„ dDej6        ¦  «        ZE G dE„ dFej6        ¦  «        ZFdGZGdS )Hé    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_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Ú
sqlalchemyr1   r   Útesting_engineÚdictÚ
StaticPoolÚdb)Úclsr1   s     úp/var/www/html/services/rag-service/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__Úclassmethodr@   © rA   r?   r/   r/   :   s-   € € € € € Øðð ñ „[ðð ð rA   r/   c                   óÞ  — e 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 )ÚHasTableTestTc                 óø  — 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Úschemasr8   r   Útest_schemaÚview_reflectionÚdefine_viewsÚhas_temp_tableÚdefine_temp_tables©r>   Úmetadatas     r?   Údefine_tableszHasTableTest.define_tablesM   só   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&ñ		
ô 	
ð 	
õ ÔÔ#Ô+ð 	ÝØØÝ�t�W°$Ð7Ñ7Ô7Ý�v�v b™zœzÑ*Ô*ÝÔ)ðñ ô ð õ ÔÔ+ð 	'Ø×Ò˜XÑ&Ô&Ð&ÝÔÔ*Ô2ð 	-Ø×"Ò" 8Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-rA   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   rS   rT   r8   r   rU   )r>   r[   Úquerys      r?   rW   zHasTableTest.define_viewsc   sÕ   € àCˆåŒ�X˜~­s°5©z¬zÑ:Ô:Ð:ÝŒ�X˜}­c°.Ñ.AÔ.AÑBÔBÐBåÔÔ#Ô+ð 	ð 	õ Ô&Ð&Ð&ÝÔ&Ð&Ð&ðð õ ŒL˜ >µ3°u±:´:Ñ>Ô>Ð>ÝŒLØØÝÐ%­Ô);Ñ<Ñ=Ô=ñô ð ð ð ð	ð 	rA   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_namey   ó(   € å"Ý•F”IÐ9­6¬<Ð9Ð9ñ
ô 
ð 	
rA   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 )
NrK   TrL   ÚnamerO   r^   ú=create temporary view user_tmp_v as select * from user_tmp_%sr_   údrop view user_tmp_v)r   r   r=   ri   r   r   ÚsaÚINTÚVARCHARr   rS   rV   r8   Útemporary_viewsr   ra   r$   rg   ©r>   r[   ÚkwÚ
table_nameÚuser_tmps        r?   rY   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rA   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 )NrJ   rP   Ú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)NrJ   Ú	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 )NrJ   rQ   rP   rx   )r   r=   ry   r*   rz   r{   rU   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 )NrJ   Únonexistent_schemarQ   )r   r=   ry   r*   rz   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Ñ$Ô$Ñ%Ô%Ð%Ð%Ð%rA   c                 ó�   — t          |¦  «        }|                      ¦   «         }t          |                     |¦  «        ¦  «         d S ©N)r   ri   r+   r{   )r}   r“   r†   ri   s       r?   Útest_has_table_temp_tablez&HasTableTest.test_has_table_temp_tableÌ   s@   € å�zÑ"Ô"ˆØ×.Ò.Ñ0Ô0ˆÝ�—’˜Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0rA   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Ñ"Ô"ˆÝ�—’˜|Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-rA   c                 ó~   — t          |¦  «        }t          |                     dt          j        ¦  «        ¦  «         d S r�   )r   r+   r{   r   rU   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Ð9rA   N)rB   rC   rD   Ú__backend__rE   r\   rW   ri   rY   r   rˆ   r   rS   rT   rŠ   r�   Úviewsr”   rX   r—   rV   rr   r›   r�   rF   rA   r?   rH   rH   J   s¦  € € € € € Ø€Kàð-ð -ñ „[ð-ð* ðð ñ „[ðð* ð
ð 
ñ „[ð
ð
 ðOð Oñ „[ðOð0Mð Mð Mðð ð ð ÔÔðð ñ Ôðð$ ÔÔðð ñ Ôðð ÔÔð&ð &ñ Ôð&ð ÔÔ$ð1ð 1ñ %Ô$ð1ð
 ÔÔ$ØÔÔ%ØÔÔ%ð.ð .ñ &Ô%ñ &Ô%ñ %Ô$ð.ð ÔÔØÔÔð:ð :ñ Ôñ Ôð:ð :ð :rA   rH   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 )NrJ   rK   TrL   rN   rO   Údata2Úmy_idxrQ   Úmy_idx_s)r   r   r   r   r%   ÚcrN   r   rS   rT   r8   r   rU   )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Ñ(Ô(Ð(Ð(Ð(ð	)ð 	)rA   rz   Ú	inspectorÚkind©Úargnamesc                 óB   ‡— |dk    rˆfd„S t          ‰¦  «        j        S )Nrz   c                  óB   •— t          j        j        j        ‰g| ¢R i |¤ŽS r–   )r   r=   rz   Ú	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€ rA   )r   r¯   )r}   rª   r~   s     `r?   Ú
_has_indexzHasIndexTest._has_indexû   s,   ø€ Ø�9ÒÐØMÐMÐMÐMÐMå˜4‘=”=Ô*Ð*rA   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)NrJ   r¥   r¦   rx   Únonexistent_idxÚmy_idx_2Útest_table_2Úmy_idx_3Úfoor©   T)r³   r%   ÚtablesrJ   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 )NrJ   r¦   rQ   r¥   rx   Únonexistent_idx_s)r³   r   rU   )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ð
ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
rA   N)rB   rC   rD   rž   Ú__requires__rE   r\   r   Úcombinationsrª   r³   r¿   rS   rT   rÂ   rF   rA   r?   r¡   r¡   à   s¨   € € € € € Ø€KØ(€Làð)ð )ñ „[ð)ð(  ˆ7Ô 	¨;ÀÐHÑHÔH€Dð+ð +ð +ð 
ð!ð !ñ 
„Tð!ð: ÔÔØ	ð	
ð 	
ñ 
„Tñ Ôð	
ð 	
ð 	
rA   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Ä   rF   rA   r?   Úcolumn_namesz!BizarroCharacterTest.column_names1  s+   € ÝÔ#ØØØØØ!ð
ñ 
ô 
ð 	
rA   c                  ó4   — t          j        ddddd¬¦  «        S )N)Úplain)z(2))z
per % cent)z
[brackets]Ú	tablenamer«   rÊ   rF   rA   r?   Útable_namesz BizarroCharacterTest.table_names:  s+   € ÝÔ#ØØØØØ ð
ñ 
ô 
ð 	
rA   Ú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 #10275rK   T)ÚkeyrM   ©Útest_needs_fkÚid2rL   ÚotherÚrefÚref2©Úautoload_withr   é   N)r   r   r   Úappend_columnro   ÚForeignKeyConstraintr§   rK   rÕ   r   Ú
create_allr   rº   r×   Ú
referencesrØ   )
r}   r“   r[   rÐ   rÎ   rÉ   r¨   Úm2Úo2Út1s
             r?   Útest_fk_refz BizarroCharacterTest.test_fk_refC  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Ð0rA   c           
      ó  — t          ||t          |t          t          ¦   «         d¬¦  «        ¦  «         |                     |¦  «         t          |¦  «        }t          |                     |¦  «        d         d         d         d¦  «         d S )NTrL   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_identityr  sŠ   € õ 	ØØÝ�:�w­©
¬
ÀÐEÑEÔEñ	
ô 	
ð 	
ð
 	×Ò˜JÑ'Ô'Ð'Ý�zÑ"Ô"ˆåˆD×Ò˜YÑ'Ô'¨Ô*¨:Ô6°wÔ?ÀÑCÔCÐCÐCÐCrA   c           
      ó$  — t          ||t          dt          d¬¦  «        t          |t          d¬¦  «        ¦  «         |                     |¦  «         t	          |¦  «        }t          |                     |¦  «        d         d         d¦  «         d S )NrK   TrL   ú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ÐFrA   N)rB   rC   rD   rž   rË   rÏ   r   Ú	variationrS   Ú!foreign_key_constraint_reflectionrã   Úidentity_columnsrê   Úcomment_reflectionrð   rF   rA   r?   rÆ   rÆ   -  s$  € € € € € à€Kð
ð 
ð 
ð
ð 
ð 
ð €WÔ�¨¨u¨Ñ6Ô6Ø€\�^„^Ø€[�]„]ØÔÔ7ð)1ð )1ñ 8Ô7ñ „]ñ „^ñ 7Ô6ð)1ðV €\�^„^Ø€[�]„]ØÔÔ&ðDð Dñ 'Ô&ñ „]ñ „^ðDð €\�^„^Ø€[�]„]ØÔÔ(ðGð Gñ )Ô(ñ „]ñ „^ðGð Gð GrA   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_rf   ©r}   s    r?   rÎ   zTempTableElementsTest.tablenameš  s(   € å"Ý•F”IÐ:­F¬LÐ:Ð:ñ
ô 
ð 	
rA   c           
      ó  — t          ||t          dt          t          ¦   «         d¬¦  «        ¦  «         |                     |¦  «         t          |¦  «        }t          |                     |¦  «        d         d         d         d¦  «         d S )NrK   TrL   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ÐCrA   c           
      ó$  — t          ||t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «         |                     |¦  «         t	          |¦  «        }t          |                     |¦  «        d         d         d¦  «         d S )	NrK   TrL   Ú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ÐFrA   N)rB   rC   rD   rž   rÃ   r   ÚfixturerÎ   rS   ró   rê   Útemp_table_comment_reflectionrð   rF   rA   r?   rö   rö   ”  s…   € € € € € à€Kà-€Là„_ð
ð 
ñ „_ð
ð
 ÔÔ&ð	Dð 	Dñ 'Ô&ð	Dð ÔÔ3ð
Gð 
Gñ 4Ô3ð
Gð 
Gð 
GrA   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 ' onerK   rl   rO   rN   Ú
related_idzpk quote ' one©rl   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ÚrelatedrL   rÓ   r`   úview %sú AS SELECT * FROM r^   r_   zDROP VIEW %s)r   r   r   r   ro   ÚPrimaryKeyConstraintr%   ÚUniqueConstraintrÝ   ÚCheckConstraintr   rS   Úsymbol_names_w_double_quoter8   Úview_column_reflectionr   r=   rz   Úidentifier_preparerÚquoter   ra   r$   )r>   r[   Únamesrl   rb   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Ø%¨Ñ,ñô ññô ñ	ô 	ð 	ð 	ð'	ð 	ðð rA   c                 ó`   —  t          j        ddt           j        j        f¦  «        | ¦  «        S )N)r  r  )r   rÄ   rS   r  )Úfns    r?   Úquote_fixturesz%QuotedNameArgumentTest.quote_fixtures  s;   € ð
�wÔ#ØØ�GÔ,ÔHÐIñ
ô 
ð ñô ð 	rA   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   rS   Úreflect_table_optionsr8   Úget_table_optionsr+   Ú
isinstancer;   r   ÚNotImplementedError)r}   rl   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}   rl   r†   s      r?   Útest_get_view_definitionz/QuotedNameArgumentTest.test_get_view_definition"  s8   € õ •v”yÑ!Ô!ˆØ×'Ò'¨	°DÑ(8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9rA   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Ñ!Ô!ˆØ×Ò Ñ%Ô%Ð%Ð%Ð%Ð%Ð%rA   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Ñ+Ô+Ð+Ð+Ð+Ð+Ð+rA   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_keys2  s3   € õ •v”yÑ!Ô!ˆØ×$Ò$ TÑ*Ô*Ð*Ð*Ð*Ð*Ð*rA   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r–   )r   r   r=   Úget_indexesr   s      r?   Útest_get_indexesz'QuotedNameArgumentTest.test_get_indexes8  s3   € õ •v”yÑ!Ô!ˆØ×Ò Ñ%Ô%Ð%Ð%Ð%Ð%Ð%rA   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Ð0rA   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_commentD  s3   € õ •v”yÑ!Ô!ˆØ×%Ò% dÑ+Ô+Ð+Ð+Ð+Ð+Ð+rA   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_constraintsJ  s3   € õ •v”yÑ!Ô!ˆØ×)Ò)¨$Ñ/Ô/Ð/Ð/Ð/Ð/Ð/rA   N)rB   rC   rD   Úrun_create_tablesrž   rE   r\   r  r  r   rS   r  r!  r#  r&  rò   r)  r¢   r,  Úunique_constraint_reflectionr/  rô   r2  Úcheck_constraint_reflectionr5  rF   rA   r?   r  r  º  s¤  € € € € € ØÐØ€KàðPð Pñ „[ðPðdð ð ð ð-ð -ñ „^ð-ð ØÔÔ,ð:ð :ñ -Ô,ñ „^ð:ð ð&ð &ñ „^ð&ð ð,ð ,ñ „^ð,ð ØÔÔ7ð+ð +ñ 8Ô7ñ „^ð+ð ØÔÔ&ð&ð &ñ 'Ô&ñ „^ð&ð ØÔÔ2ð1ð 1ñ 3Ô2ñ „^ð1ð ØÔÔ(ð,ð ,ñ )Ô(ñ „^ð,ð ØÔÔ1ð0ð 0ñ 2Ô1ñ „^ð0ð 0ð 0rA   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   rU   rF   rA   r?   r²   z$_multi_combination.<locals>.<lambda>U  s	   € •FÔ&€ rA   rR   r«   r4   rª   TFÚ
use_filter)r   rÄ   rS   rT   r!   ÚDEFAULTÚ	TEMPORARYÚANYr    ÚTABLEÚVIEWÚMATERIALIZED_VIEWÚANY_VIEW)r  rR   r4   rª   Úfilter_namess        r?   Ú_multi_combinationrD  Q  sü   € ÝÔ!Øà&Ð&ÝÔÔ$ð	
ð ðñ ô €Fõ Ô ÝÔÝÔÝŒØð	ñ ô €Eõ ÔÝÔÝŒÝÔ$ÝŒÝÔÝÔ�:œ?Ñ*ÝÔ�:Ô7Ñ7Øð	ñ 	ô 	€Dõ Ô'¨¨e¸lÐKÑKÔK€Làˆ6�%�%˜˜˜\˜\¨"Ñ-Ô-Ñ.Ô.Ñ/Ô/Ñ0Ô0Ð0rA   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*„ ¦   «         ¦   «         Z8d_d+„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,        d2de!j"        j.        fd$¬#¦  «        e!j"        j-        d4„ ¦   «         ¦   «         ZBe!j"        jC        e!j"        j.        d5„ ¦   «         ¦   «         ZD e!j,        d2de!j"        j.        fd$¬#¦  «        e!j"        jE        d6„ ¦   «         ¦   «         ZF e!j,        d7d8d9¬#¦  «        e!j"        jE        e!j"        jG        e!j"        jH        d:„ ¦   «         ¦   «         ¦   «         ¦   «         ZIe!j"        j;        e!j"        jJ        d;„ ¦   «         ¦   «         ZKe!j"        jL        d<„ ¦   «         ZM e!j,        de!j"        j.        fd2d$¬#¦  «        e!j"        jJ        d=„ ¦   «         ¦   «         ZNe!j"        j3         e!j,        d2de!j"        j.        fd$¬#¦  «        d>„ ¦   «         ¦   «         ZOe!j"        j3        d?„ ¦   «         ZPe!j"        jQ        d@„ ¦   «         ZR e!j,        de!j"        j.        fd2d$¬#¦  «        dA„ ¦   «         ZS e!j,        de!j"        j.        fd¦  «        dB„ ¦   «         ZTe!jU        dC„ ¦   «         ZVe!j"        jW        eXdD„ ¦   «         ¦   «         ZYe!j"        j6        eXdE„ ¦   «         ¦   «         ZZdF„ Z[d`dG„Z\dadH„Z]eXdI„ ¦   «         Z^e!j"        j@        eXdJ„ ¦   «         ¦   «         Z_dK„ Z`e!j"        j-        eXdL„ ¦   «         ¦   «         Zae!j"        jE        eXdM„ ¦   «         ¦   «         Zbe!j"        jJ        eXdN„ ¦   «         ¦   «         Zce!j"        jd        eXdO„ ¦   «         ¦   «         Ze e!j,        dPe!j"        jW        fdQdRe!j"        j@        fdSe!j"        j-        fdTe!j"        jE        fdUe!j"        jJ        fdVe!j"        jd        fdWe!j"        j6        fdX¬#¦	  «	        dY„ ¦   «         ZfdZ„ Zg e!j,        ddd$¬#¦  «         e!j,        de!j"        jh        fdd[¬#¦  «        d\„ ¦   «         ¦   «         Zie!j"        j6        d]„ ¦   «         Zje!j"        jk        d^„ ¦   «         ZldS )bÚComponentReflectionTestNTc                 ó¬   — |                       |d ¦  «         t          j        j        j        r'|                       |t          j        j        ¦  «         d S d S r–   )Údefine_reflected_tablesr   rS   rT   r8   r   rU   rZ   s     r?   r\   z%ComponentReflectionTest.define_tablest  sW   € à×#Ò# H¨dÑ3Ô3Ð3ÝÔÔ#Ô+ð 	NØ×'Ò'¨µ'´.Ô2LÑMÔMÐMÐMÐMð	Nð 	NrA   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  rF   ÚusersÚuser_idTrL   Útest1é   F©ÚnullableÚtest2Úparent_user_idú	test2 > 0Úzz_test2_gt_zeroúusers check constraint©rl   rî   útest2 <= 1000©rR   rÔ   Ú
dingalingsÚdingaling_idÚ
address_idz%semail_addresses.address_idÚzz_email_add_id_fgúdi fk commentÚid_userrN   é   )Ú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_testrK   ú
id comment)rM   rî   údata % commentrí   Úd2ú)Comment types type speedily ' " \ '' Fun!Úd3é*   úComment
withescapesúthe test % ' " \ table comment)rR   rî   Úno_constraintsú"no
constraintshasescapedcommentÚlocal_tableÚ	remote_idz%s.remote_table_2.id)rÔ   rR   Ú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   rS   Úself_referential_foreign_keysr8   r   r   r   ro   rp   ÚCHARÚFloatr   r  r   r  r§   rN  r  Úcross_schema_fk_reflectionr   rU   r=   rz   Údefault_schema_namer¢   r%   rO  rS  Úindexes_with_ascdescÚreflect_indexes_with_ascdescr€  Údescr  rW   r÷   rY   )r>   r[   rR   Úschema_prefixÚparent_id_argsrM  r  r�  s           r?   rH  z/ComponentReflectionTest.define_reflected_tablesz  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Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ð 	-ð 	-rA   c                 ó\   — t          t          t          j        dt          j        › �¦  «        S rd   rf   rh   s    r?   ri   z'ComponentReflectionTest.temp_table_name(  rj   rA   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 )NrK   TrL   rl   rO   r¹   Úuser_tmp_uq_r  Úuser_tmp_ixr^   rm   r_   rn   )r   r   r=   ri   r   r   ro   rp   rq   r  rg   r%   r   rS   rV   r8   rr   r   ra   r$   rs   s        r?   rY   z*ComponentReflectionTest.define_temp_tables.  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rA   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[  ©rM  rf  r[  rJ  Ú_vzMATERIALIZED rK  zCREATE zVIEW r  r^   Ú	mat_indexÚoraclezCREATE INDEX z ON z(data)r_   zDROP )	r   rS   Úmaterialized_viewsr8   Úsetr   ra   r$   Úagainst)r>   r[   rR   Úmaterializedru   ÚfullnameÚ	view_nameÚprefixrb   Ú
index_namer½   s              r?   rW   z$ComponentReflectionTest.define_viewsP  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ñô ð ð ð#	ð 	rA   c                 óÜ   — i }t           j        |v r|                     |¦  «         t           j        |v r|                     |¦  «         t           j        |v r|                     |¦  «         |S r–   )r    r?  Úupdater@  rA  )r}   rª   rº   rŸ   rš  r  s         r?   Ú_resolve_kindz%ComponentReflectionTest._resolve_kindk  sk   € ØˆÝÔ˜tÐ#Ð#Ø�JŠJ�vÑÔÐÝŒ?˜dÐ"Ð"Ø�JŠJ�uÑÔÐÝÔ'¨4Ð/Ð/Ø�JŠJ�|Ñ$Ô$Ð$Øˆ
rA   c                 ó  — t           j        j        j        s*|                     ¦   «          |                     ¦   «          d S t           j        j        j        s+|                     |¦  «         |                     ¦   «          d S d S r–   )r   rS   r  r8   Úclearr—  r   )r}   rŸ   rš  s      r?   Ú_resolve_viewsz&ComponentReflectionTest._resolve_viewsu  s{   € ÝÔÔ6Ô>ð 	!Ø×ÒÑ Ô Ð Ø�KŠK‰MŒMˆMˆMˆMÝÔ!Ô4Ô<ð 	!Ø�LŠL˜Ñ&Ô&Ð&Ø×ÒÑ Ô Ð Ð Ð ð	!ð 	!rA   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 )NTrF   )Ú_s    r?   r²   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>~  s   €  € rA   c                 ó   — d| d         vS ©NÚtmprÛ   rF   ©r±   s    r?   r²   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>€  s   €  U°!°A´$Ð%6€ rA   c                 ó   — d| d         v S r©  rF   r«  s    r?   r²   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>‚  s   €  U¨a°¬d ]€ rA   rz  r|  rx  r  r�  rš   c                 ój   •— i | ]/\  }} ‰|¦  «        r|d          ‰‰         vr‰r
|d          ‰v ¯,||“Œ0S )rÛ   rF   )Ú.0r±   ÚvrC  ÚremovedrR   Úscope_filters      €€€€r?   ú
<dictcomp>z:ComponentReflectionTest._resolve_names.<locals>.<dictcomp>Ÿ  sg   ø€ ð 
ð 
ð 
á��1Øˆ|˜A‰Œð
ð �!”˜G FœOÐ+Ð+Ø!ð ,Ø%& q¤T¨\Ð%9Ð%9ð	 ˆqð &:Ð%9Ð%9rA   )r!   r<  r=  r   r   rU   ri   rS   r‡  r8   Úaddr   r¢   r÷   Útemp_table_namesrr   Úitems)r}   rR   r4   rC  Ú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ð
ð 
ð 
ð 
ð 
ð 
ð 
àŸš™œð
ñ 
ô 
ˆð ˆ
rA   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š   rM  r[  rf  rm  rv  rx  rz  r|  r  r�  ©r,   r>  r¤  ri   r¡  r·  )	r}   rR   r4   rª   rC  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ˆØˆ
rA   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š   rM  r[  rf  rm  ru  rv  rw  rx  rz  r|  r  r�  )r¤  ri   r¡  r·  )
r}   rR   r4   rª   rC  Ú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ˆØˆ
rA   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)rl   ÚautoincrementÚtypeÚdefaultrî   rR  ÚomitrÄ  )r,   r>  Úpop)rl   ÚautorÆ  rî   rR  r  s         r?   r‚   z0ComponentReflectionTest.exp_columns.<locals>.colò  sF   € ð Ø!%ÝœØ"Ø"Ø$ðð ˆCð �vŠ~ˆ~Ø—’˜Ñ(Ô(Ð(ØˆJrA   c                 ó:   •— dt           j        ddœ|¥} ‰| fi |¤ŽS )NTF)rÉ  rÆ  rR  ©r,   r>  )rl   rt   r‚   s     €r?   Úpkz/ComponentReflectionTest.exp_columns.<locals>.pk  s-   ø€ Ø­4¬8ÀÐMÐMÈ"ÐMˆBØ�3�t�?�?˜r�?�?Ð"rA   r¹  r\  rÇ  )rÉ  rR  r]  r`  rN   rº  rg  rh  r»  rN  rO  rQ  rS  rT  rš   rK   rl   r¹   rM  r[  rf  rm  rn  rí   ro  rp  rq  rr  rt  rv  rx  ry  rz  r{  r|  r  r€  r�  r¼  )r}   rR   r4   rª   rC  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ˆØˆ
rA   c                 ó
   — h d£S )N>   rl   rÅ  rÆ  rR  rF   rú   s    r?   Ú_required_column_keysz-ComponentReflectionTest._required_column_keysK  s   € à6Ð6Ð6Ð6rA   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 )NrX  c                 ó(   — t          |¦  «        | |dœS )N)Úconstrained_columnsrl   rî   )Úlist)rl   rî   Úcolss      r?   rÌ  z+ComponentReflectionTest.exp_pks.<locals>.pkV  s    € å'+¨D¡z¤zØØ"ðð ð rA   r  r¹  r\  rº  r»  rš   rM  rN  r[  rf  r]  rk  rl  rm  rK   rv  rx  rz  r|  r  r�  rl   )r,   r>  r   rS   Úmaterialized_views_reflect_pkr8   r¤  ri   Úreflects_pk_namesr¶  r¡  r·  )r}   rR   r4   rª   rC  rÌ  rÀ  rš  rŸ   rº   Úvalr  s               r?   Úexp_pkszComponentReflectionTest.exp_pksO  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ˆØˆ
rA   c                 ó
   — ddhS )Nrl   rÒ  rF   rú   s    r?   Ú_required_pk_keysz)ComponentReflectionTest._required_pk_keys  s   € àÐ-Ð.Ð.rA   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=   rz   rˆ  )r}   rÖ   s     r?   Ú__eq__z2ComponentReflectionTest.exp_fks.<locals>.tt.__eq__‹  s$   € à˜T�Mð FÝ”yÔ(Ô<ÀÒEðrA   N©rB   rC   rD   rß  rF   rA   r?   r¨   rÝ  Š  s#   € € € € € ðð ð ð ð rA   r¨   c                 óD   •— | ||t           j        |�|n	 ‰¦   «         ||dœS )N)rÒ  Úreferred_columnsrl   r5   Úreferred_schemaÚreferred_tablerî   rË  )rÔ  Úref_colÚ	ref_tableÚ
ref_schemarl   rî   r¨   s         €r?   Úfkz+ComponentReflectionTest.exp_fks.<locals>.fk‘  s:   ø€ ð (,Ø$+ØÝœ8à",Ð"8�J�J¸b¸b¹d¼dà"+Ø"ð
ð 
ð 
rA   r¹  rº  r»  rš   rM  rT  rN  rL  r  r[  r`  r]  rf  r^  r_  rX  rg  rm  rv  rx  ry  rK   r|  )rç  rz  r{  r  r�  rl   )r,   r>  r¤  r   rU   ri   r   rS   r„  r8   r£  Únamed_constraintsr¶  r¡  r·  )r}   rR   r4   rª   rC  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ˆØˆ
rA   c                 ó
   — h d£S )N>   rl   rä  rã  râ  rÒ  rF   rú   s    r?   Ú_required_fk_keysz)ComponentReflectionTest._required_fk_keysÛ  s   € ð
ð 
ð 
ð 	
rA   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)rb  Ú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 )NrF   )rb  rË   rl   Údialect_optionsÚinclude_columnsrï  rË   Úexpressionsc                 ó    •— g | ]
}|‰v rd n|‘ŒS r–   rF   )r®  r§   rï  s     €r?   ú
<listcomp>zDComponentReflectionTest.exp_indexes.<locals>.idx.<locals>.<listcomp>	  s4   ø€ ð +ð +ð +Ø?@  ^Ð 3Ð 3˜˜¸ð+ð +ð +rA   Úduplicates_constraint)	r   rS   Úforeign_keys_reflect_as_indexÚ#unique_constraints_reflect_as_indexÚ*reflect_indexes_with_ascdesc_as_expressionr8   rÓ  r,   r>  )rl   rb  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ˆLrA   r¹  rº  r»  rš   rN   r•  r  rM  rT  rL  T)rl   rè  rN  rS  rO  r~  r}  )rl   rb  r[  )rl   rb  rð  r`  r]  r\  rd  rf  rh  rg  rm  rv  rx  ry  rz  r{  r|  r  r€  r‚  )r‹  )rl   rï  r�  rƒ  r¹   r‘  rl   r�  )rl   rð  rb  )r¤  Úextendr,   r>  ri   r   rg   r   rS   r‰  r8   rŠ  r£  r¡  r·  )
r}   rR   r4   rª   rC  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ˆØˆ
rA   c                 ó
   — h d£S )N>   rl   rb  rË   rF   rú   s    r?   Ú_required_index_keysz,ComponentReflectionTest._required_index_keysZ  s   € à1Ð1Ð1Ð1rA   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 )NrF   )rË   rl   rî   r  )r   rS   Ú*unique_index_reflect_as_unique_constraintsr8   rÓ  )rl   r  r  rî   rÔ  Úreqr  s          r?   Úucz+ComponentReflectionTest.exp_ucs.<locals>.ucf  s\   € õ Ô"ÔMˆCØð  ¤ð Ø�rå $ T¡
¤
ØØ"ðð ˆCð
  ð ;Ø*:�Ð&Ñ'Ø�5ˆLrA   r¹  rº  r»  rš   rM  rO  rS  r}  T)rl   r  r  r[  rN   )rl   r  r]  r\  rd  re  )rl   r  rî   rf  rm  rv  rx  rz  r|  r  r�  rl   r�  r  )r¤  r,   r>  ri   r   rg   r¡  r·  )r}   rR   r4   rª   rC  Ú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ØˆJrA   c                 ó
   — ddhS )Nrl   rË   rF   rú   s    r?   Ú_required_unique_cst_keysz1ComponentReflectionTest._required_unique_cst_keys£  s   € à˜Ð'Ð'rA   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ú(rK  ú)ú`)Ú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�{Ð"rA   Nrà  rF   rA   r?   r¨   r  ®  s#   € € € € € ð#ð #ð #ð #ð #rA   r¨   c                 ó"   •—  ‰| ¦  «        ||dœS )N)Úsqltextrl   rî   rF   )r¿  rl   rî   r¨   s      €r?   Úccz+ComponentReflectionTest.exp_ccs.<locals>.cc¸  s   ø€ Ø!˜r $™xœx°À'ÐJÐJÐJrA   r¹  rº  r»  rš   rM  rY  rU  rV  rW  rí   r[  z$address_id > 0 and address_id < 1000rc  r  rf  rm  rv  rx  rz  r|  r  r�  r–   )Ústrr¤  r,   r>  ri   r¡  r·  )r}   rR   r4   rª   rC  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ˆØˆ
rA   c                 ó
   — ddhS )Nrl   r  rF   rú   s    r?   Ú_required_cc_keysz)ComponentReflectionTest._required_cc_keysá  s   € à˜	Ð"Ð"rA   c                 óˆ   — t          |¦  «        }t          t          j        j        |                     ¦   «         v ¦  «         d S r–   )r   r+   r   r   rU   Ú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ÐFrA   c                 óÊ   — t          |¦  «        }t          |                     t          j        j        ¦  «        ¦  «         t          |                     d¦  «        ¦  «         d S )NÚsa_fake_schema_foo)r   r+   Ú
has_schemar   r   rU   r*   r’   s      r?   Útest_has_schemaz'ComponentReflectionTest.test_has_schemaë  sO   € å�zÑ"Ô"ˆå�—’¥¤Ô :Ñ;Ô;Ñ<Ô<Ð<Ý�—’Ð!5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7rA   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   rU   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ÐFrA   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   rU   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Ð7rA   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   Úhasattrrz   )r}   Úengines     r?   Útest_dialect_initializez/ComponentReflectionTest.test_dialect_initialize  s:   € åÔ'Ñ)Ô)ˆÝ�‰ŒˆÝ�v”~Ð'<Ñ=Ô=Ð=Ð=Ð=Ð=Ð=rA   c                 ób   — t          |¦  «        }t          |j        |j        j        ¦  «         d S r–   )r   r   rˆ  rz   r’   s      r?   Útest_get_default_schema_namez4ComponentReflectionTest.test_get_default_schema_name$  s.   € å�zÑ"Ô"ˆÝˆDÔ$ jÔ&8Ô&LÑMÔMÐMÐMÐMrA   Ú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>   rx  rm  rz  rv  r|  r�  r  c                 ó.   — g | ]}|d          ¯
|d          ‘ŒS )r   rF   )r®  Úrecs     r?   rö  z@ComponentReflectionTest.test_get_table_names.<locals>.<listcomp>D  s6   € ð ð ð àØ�q”6ðØ�A”ðð ð rA   c                 ó   •— g | ]}|‰v¯|‘Œ	S rF   rF   )r®  ÚtÚ_ignore_tabless     €r?   rö  z@ComponentReflectionTest.test_get_table_names.<locals>.<listcomp>K  s#   ø€ ÐDÐDÐD˜Q¨A°^Ð,CÐ,C�qÐ,CÐ,CÐ,CrA   r7  r“  )r[  rf  rM  )r   rU   r   Úget_sorted_table_and_fkc_namesÚget_table_namesr   Úsorted)
r}   r“   r8  r9  rR   r†   rº   rÏ   Úanswerr?  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Ñ,Ô,Ð,Ð,Ð,rA   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   rU   Úget_view_namesr   rS   r—  r8   r   rB  Úget_materialized_view_names)r}   r“   r9  r†   rR   rÏ   rC  s          r?   Útest_get_view_namesz+ComponentReflectionTest.test_get_view_namesT  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Ñ,Ô,Ð,Ð,Ð,rA   c                 ó¢   — t          |¦  «        }|                     ¦   «         }t          t          |¦  «        dt          j        › �g¦  «         d S rd   )r   Úget_temp_table_namesr   rB  r   rg   ©r}   r“   r†   r´  s       r?   Útest_get_temp_table_namesz1ComponentReflectionTest.test_get_temp_table_namese  sN   € å�zÑ"Ô"ˆØ×4Ò4Ñ6Ô6ÐÝ�FÐ#Ñ$Ô$Ð'Aµ6´<Ð'AÐ'AÐ&BÑCÔCÐCÐCÐCrA   c                 óˆ   — t          |¦  «        }|                     ¦   «         }t          t          |¦  «        dg¦  «         d S r™   )r   Úget_temp_view_namesr   rB  rK  s       r?   Útest_get_temp_view_namesz0ComponentReflectionTest.test_get_temp_view_namesk  sD   € õ �zÑ"Ô"ˆØ×3Ò3Ñ5Ô5ÐÝ�FÐ#Ñ$Ô$ | nÑ5Ô5Ð5Ð5Ð5rA   c                 ó0   — |                       |¦  «         d S r–   )Ú_test_get_comments©r}   r“   s     r?   Útest_get_commentsz)ComponentReflectionTest.test_get_commentsr  s   € à×Ò 
Ñ+Ô+Ð+Ð+Ð+rA   c                 óP   — |                       |t          j        j        ¦  «         d S r–   )rQ  r   r   rU   rR  s     r?   Útest_get_comments_with_schemaz5ComponentReflectionTest.test_get_comments_with_schemav  s%   € ð 	×Ò 
­G¬NÔ,FÑGÔGÐGÐGÐGrA   c                 óÚ  — t          |¦  «        }|                      |¬¦  «        }t          |                     d|¬¦  «        ||df         ¦  «         t          |                     d|¬¦  «        ||df         ¦  «         t          |                     d|¬¦  «        ||df         ¦  «         | j        j        j        }t          |                     ||¬¦  «        |||f         ¦  «         d S )NrQ   rm  rM  )r   rÁ  r   r1  rº   rv  rl   )r}   r“   rR   r†   ÚexpÚno_csts         r?   rQ  z*ComponentReflectionTest._test_get_comments{  s  € Ý�zÑ"Ô"ˆØ×Ò vÐÑ.Ô.ˆÝØ×"Ò" >¸&Ð"ÑAÔAØ�˜Ð(Ô)ñ	
ô 	
ð 	
õ
 	Ø×"Ò" 7°6Ð"Ñ:Ô:Ø�˜Ð!Ô"ñ	
ô 	
ð 	
õ
 	Ø×"Ò" >¸&Ð"ÑAÔAØ�˜Ð(Ô)ñ	
ô 	
ð 	
ð
 ”Ô+Ô0ˆÝØ×"Ò" 6°&Ð"Ñ9Ô9Ø�˜Ð Ô!ñ	
ô 	
ð 	
ð 	
ð 	
rA   )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¹  rM  rf  rQ   r   rl   rÅ  r–  r  z), r  rÆ  )"r   rU   rº   rM  rf  r   Úziprè   r+   ÚlenÚ	enumerateÚcolumnsr   rl   Ú	__class__rÅ  r  ro   r   Ú
TypeEnginer   r™  Ú	sql_typesÚDater   r˜  Ú__mro__Úintersectionr   ÚNumericÚTimer   Ú_BinaryrM   )r}   r“   Ú	use_viewsr9  rR   rM  Ú	addressesrÏ   r†   ru   Ú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ð /	6rA   c                 ó´   — |                       ¦   «         }| j        |         }t          |t          ¦   «         |¬¦  «        }|                      ||d¬¦  «         d S )NrÙ   F)Ústrict_constraints)ri   rº   r   r   Úassert_tables_equal)r}   r“   ru   rv   Úreflected_user_tmps        r?   Útest_reflect_table_temp_tablez5ComponentReflectionTest.test_reflect_table_temp_tableß  sp   € à×)Ò)Ñ+Ô+ˆ
Ø”;˜zÔ*ˆå"Ø�™
œ
°*ð
ñ 
ô 
Ðð 	× Ò ØÐ(¸Uð 	!ñ 	
ô 	
ð 	
ð 	
ð 	
rA   c                 ób  — |                       ¦   «         }| j        |         }t          |¦  «        }|                     |¦  «        }t	          t          |¦  «        dk    t          |¦  «        ¦  «         t          |j        ¦  «        D ]&\  }}t          |j	        ||         d         ¦  «         Œ'd S )Nr   rl   )
ri   rº   r   rè   r+   r\  r]  r^  r   rl   )r}   r“   ru   rv   r†   rÔ  rl  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œ' &œ/Ñ*Ô*Ð*Ð*ð	+ð 	+rA   c                 ó†   — t          |¦  «        }|                     d¦  «        }t          d„ |D ¦   «         g d¢¦  «         d S )Nrš   c                 ó   — g | ]
}|d          ‘ŒS r  rF   ©r®  r‚   s     r?   rö  zFComponentReflectionTest.test_get_temp_view_columns.<locals>.<listcomp>ü  s   € Ð)Ð)Ð)˜SˆS�Œ[Ð)Ð)Ð)rA   )rK   rl   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ÐArA   )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 )NrQ   rÒ  rl   rk  )r   r   rU   rº   rM  rf  r   rØ  r%  rl   Ú_check_listrÚ  r   rS   rÖ  Úfail_ifrv  )r}   r“   r9  rR   rM  ri  r†   rW  Ú
users_consÚ	addr_consÚexp_colsrX  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,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 )NrQ   r   rl   rL  rã  rä  râ  rN  rÒ  rT  rg  )r   rU   rº   rM  rf  r   r   rS   r„  r8   r(  rl   ré  r|  r   Úimplicitly_named_constraintsr+   rv  )r}   r“   r9  rR   rM  ri  r†   Úexpected_schemaÚusers_fkeysÚfkey1Ú
addr_fkeysrX  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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â  rK   rÒ  ry  rQ   r{  )rº   rz   rˆ  r   r   rU   r   r(  rl   r   r\  r+   )
r}   r“   rx  rz  r|  r†   Úlocal_fkeysr„  Úremote_fkeysÚfkey2s
             r?   Ú"test_get_inter_schema_foreign_keysz:ComponentReflectionTest.test_get_inter_schema_foreign_keysI  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Ð7rA   c                 ó|  — |rt           j        }nd }t          |¦  «        }|                     d|¬¦  «        }|                      |¬¦  «        }|                      |||df         | j        ¦  «         | j        j        j	        }|                      |                     ||¬¦  «        |||f         | j        ¦  «         d S )NrM  rQ   )
r   rU   r   r+  r   r{  r  rº   rv  rl   )r}   r“   r9  rR   r†   ÚindexesrW  rX  s           r?   r,  z(ComponentReflectionTest.test_get_indexeso  sÞ   € ð
 ð 	ÝÔ'ˆFˆFàˆFõ �zÑ"Ô"ˆØ×"Ò" 7°6Ð"Ñ:Ô:ˆØ×Ò fÐÑ-Ô-ˆØ×ÒØ�S˜& 'Ð*Ô+¨TÔ-Fñ	
ô 	
ð 	
ð ”Ô+Ô0ˆØ×ÒØ×Ò˜V¨FÐÑ3Ô3Ø�˜Ð Ô!ØÔ%ñ	
ô 	
ð 	
ð 	
ð 	
rA   )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Ó  rj  rl   )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Ñ,Ô,Ð,Ð,Ð,rA   c                 óê   — t          |¦  «        }|                      ¦   «         }|                     |¦  «        }|                      d¬¦  «        d |f         }|                      ||| j        ¦  «         d S )NT)r
  )r   ri   r.  r  r{  r  )r}   r“   r†   rl   Ú	reflectedrW  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ÐCrA   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‘  )rb  rË   rl   r   ró  c                 ó*   — g | ]}|d          dk    ¯|‘ŒS )rl   r‘  rF   ©r®  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Ð'CrA   )	r   ri   r+  rÈ  r   rS   Úindex_reflects_included_columnsr8   r   )r}   r“   r†   ru   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Øñ	
ô 	
ð 	
ð 	
ð 	
rA   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°   )rl   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§   rl   ©rÒ   Útesttblri  ra  rQ   rË   r  rî   rò  )rÚ   rR   c                 ó   — h | ]	}|j         ’Œ
S rF   r  r—  s     r?   ú	<setcomp>zFComponentReflectionTest.test_get_unique_constraints.<locals>.<setcomp>  s   € Ð;Ð;Ð; #�S”XÐ;Ð;Ð;rA   c                 óP   — h | ]#}t          |t          j        ¦  «        ¯|j        ’Œ$S rF   )r  ro   r  rl   )r®  Úuqs     r?   r¦  zFComponentReflectionTest.test_get_unique_constraints.<locals>.<setcomp>  s=   € ð 
ð 
ð 
àÝ˜"�bÔ1Ñ2Ô2ð
ØŒGð
ð 
ð 
rA   )r   rU   rB  ÚoperatorÚ
itemgetterr   r   ro   r   r   Úappend_constraintr  rƒ   r   r.  r˜  r   r\  r[  rÈ  r³  r   rŒ  ÚconstraintsÚ
differencerd  rº   rv  rl   )r}   r[   r“   r9  rR   Úuniquesrj  r	  r†   r“  Únames_that_duplicate_indexrþ  ÚreflÚdupeÚreflected_metadataÚ	idx_namesÚuq_namesrX  s                     r?   r/  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ÐCrA   c                 ó¶   — |rt           j        }nd }t          |¦  «        }dD ]5}|                     ||¬¦  «        }t	          t          |¦  «        ¦  «         Œ6d S )NrZ  rQ   )r   rU   r   r  r+   Úbool)r}   r“   r9  rR   r†   Úviewr¯  s          r?   r!  z0ComponentReflectionTest.test_get_view_definition  sp   € ð
 ð 	ÝÔ'ˆFˆFàˆFÝ�zÑ"Ô"ˆØDð 	ð 	ˆDØ×(Ò(¨°fÐ(Ñ=Ô=ˆAÝ•D˜‘G”GÑÔÐÐð	ð 	rA   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_existrM  )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.

        ))rM  rN  )rf  r]  )r[  r\  c                 ó    — i | ]}|d          |“ŒS r  rF   ©r®  r§   s     r?   r²  zBComponentReflectionTest.test_autoincrement_col.<locals>.<dictcomp>A  s   € Ð.Ð.Ð. A�1�V”9˜aÐ.Ð.Ð.rA   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ð 	2rA   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 )NrM  rQ   rv  )r   r   r=   rU   r   rS   r  r8   r  r+   r  r;   r   r  )r}   r9  r†   rR   r  s        r?   r  z.ComponentReflectionTest.test_get_table_optionsD  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 )NrQ   c                 óD   •— i | ]}‰|f‰                      |‰¬ ¦  «        “ŒS )rQ   )r  )r®  rj  r†   rR   s     €€r?   r²  zHComponentReflectionTest.test_multi_get_table_options.<locals>.<dictcomp>\  sB   ø€ ð ð ð àð ˜� ×!7Ò!7¸ÀfÐ!7Ñ!MÔ!Mðð ð rA   )r   r   r=   r   rS   r  r8   rU   Úget_multi_table_optionsrA  r   r   r  )r}   r9  r  rW  r†   rR   s       @@r?   Útest_multi_get_table_optionsz4ComponentReflectionTest.test_multi_get_table_optionsU  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 )Nrf  )r4   rª   )rm  rM  údoes-not-existrº  rÉ  r¹  rR   rC  )rR   r4   rª   rC  r4   rª   )r   r    r?  rÿ  r@  rA  r¾  r!   r<  ÚcopyrÈ  Úappend)rR   r4   rª   r;  Úsingle_reflect_fnÚ
exp_methodr†   rt   rC  rW  ÚkwsÚnkwr“   s               €r?   Úprovide_fixturez>ComponentReflectionTest.get_multi_exp.<locals>.provide_fixtureg  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Ð0rA   rF   )r}   r“   rÐ  s    ` r?   Úget_multi_expz%ComponentReflectionTest.get_multi_expe  s%   ø€ ð,	1ð ,	1ð ,	1ð ,	1ð ,	1ð\ ÐrA   c                 ó¸   —  |||||t           j        | j        ¦  «        \  }}}|D ]3}	|                     ¦   «           |j        di |	¤Ž}
t          |
|¦  «         Œ4d S ©NrF   )r   r  r½  r„   rÅ  r   ©r}   rÑ  rR   r4   rª   r;  r†   rÎ  rW  rt   Ú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Ý�˜ÑÔÐÐð	ð 	rA   c                 ó´   —  |||||t           j        | j        ¦  «        \  }}}|D ]1}	|                     ¦   «          t	           |j        di |	¤Ž|¦  «         Œ2d S rÓ  )r   r1  rÁ  r„   r   Úget_multi_table_comment)
r}   rÑ  rR   r4   rª   r;  r†   rÎ  rW  rt   s
             r?   Útest_get_multi_table_commentz4ComponentReflectionTest.test_get_multi_table_comment©  s‡   € ð
 '˜ØØØØÝÔ'ØÔñ
ô 
‰ˆˆc�3ð ð 	9ð 	9ˆBØ×ÒÑÔÐÝÐ,�Ô,Ð2Ð2¨rÐ2Ð2°CÑ8Ô8Ð8Ð8ð	9ð 	9rA   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['\" ]rK  )ÚreÚsubr  )r¿  s    r?   Ú_cleanz:ComponentReflectionTest._check_expressions.<locals>._clean»  s"   € Ý”6˜) R¨Ñ.Ô.×4Ò4Ñ6Ô6Ð6rA   c                 ó.   •— i | ]\  }} ‰|¦  «        |“ŒS rF   rF   )r®  Úer¯  rÞ  s      €r?   r²  z>ComponentReflectionTest._check_expressions.<locals>.<dictcomp>¿  s'   ø€ Ð9Ð9Ð9¡$ ! Q��˜‘”˜AÐ9Ð9Ð9rA   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rF   rF   )r®  rà  rÞ  s     €r?   rö  z>ComponentReflectionTest._check_expressions.<locals>.<listcomp>Á  s!   ø€ Ð+Ð+Ð+˜q��˜‘”Ð+Ð+Ð+rA   )r  r  r;   r   rµ  )r}   rÕ  rW  Úerr_msgrÞ  s       @r?   Ú_check_expressionsz*ComponentReflectionTest._check_expressionsº  s”   ø€ ð	7�ð 	7ð 	7ð 	7ð 	7õ �c�4Ñ Ô ð 	;ÝÐ9Ð9Ð9Ð9¨&¯,ª,©.¬.Ð9Ñ9Ô9¸3ÀÑHÔHÐHÐHÐHåÐ+Ð+Ð+Ð+ FÐ+Ñ+Ô+¨S°'Ñ:Ô:Ð:Ð:Ð:rA   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Õ  rW  Úreq_keysÚmsgÚrrà  r±   râ  s	            r?   r{  z#ComponentReflectionTest._check_listÃ  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ð 5rA   c                 ó  — t          t          |                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        ¦  «         |D ]2}||         ||         }}|r|g|g}}|                      ||||¦  «         Œ3d S r–   )r   r˜  Úkeysr{  )r}   rÕ  rW  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ð 	0rA   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_columnsÙ  sš   € ð '˜ØØØØÝÔ!ØÔñ
ô 
‰ˆˆc�3ð ð 	Lð 	LˆBØ×ÒÑÔÐØ+�TÔ+Ð1Ð1¨bÐ1Ð1ˆFØ×"Ò" 6¨3°Ô0JÑKÔKÐKÐKð	Lð 	LrA   c                 óÔ   —  |||||t           j        | j        ¦  «        \  }}}|D ]A}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|| j        d¬¦  «         ŒBd S )NT)rê  rF   )r   r%  rØ  r„   Úget_multi_pk_constraintrë  rÚ  rÔ  s              r?   Útest_get_multi_pk_constraintz4ComponentReflectionTest.test_get_multi_pk_constraintë  s¥   € ð
 '˜ØØØØÝÔ'ØŒLñ
ô 
‰ˆˆc�3ð ð 	ð 	ˆBØ×ÒÑÔÐØ1�TÔ1Ð7Ð7°BÐ7Ð7ˆFØ×"Ò"Ø˜˜TÔ3Àð #ñ ô ð ð ð	ð 	rA   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 )rl   N)r¾  r,   r>  )r®  r¯  s     r?   ú	<genexpr>z7ComponentReflectionTest._adjust_sort.<locals>.<genexpr>	  sI   è è € ð ,ð ,Ø>?˜Ÿš˜f™œ¨$µ´Ð)9Ð9ð,ð ,ð ,ð ,ð ,ð ,rA   r£  )r   rS   r�  r8   r¶  r\  ÚanyÚsort)r}   rÕ  rš  rÒ   Úobjr×  s         r?   Ú_adjust_sortz$ComponentReflectionTest._adjust_sortÿ  s§   € ÝÔÔ<ÔDð 	*Ø Ð)ð *ð *�ØŸ:š:™<œ<ð *ð *�CÝ˜3‘x”x !’|�|­ð ,ð ,ØCFð,ñ ,ô ,ñ )ô )�|ð Ÿš S˜Ñ)Ô)Ð)øð	*ð	*ð 	*ð*ð *rA   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€ rA   rF   )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rA   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rA   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€ rA   rF   )r   r.  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rA   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>R	  s   € µU¸1¸Y¼<Ñ5HÔ5H€ rA   rF   )r   r4  r  r„   Úget_multi_check_constraintsrø  rë  r  rÔ  s              r?   Ú test_get_multi_check_constraintsz8ComponentReflectionTest.test_get_multi_check_constraintsB	  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rA   r  rè   r%  r(  r+  r.  r4  r1  Ú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}   r  r“   r†   r¼   s        r?   Útest_not_existing_tablez/ComponentReflectionTest.test_not_existing_tableU	  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>.patchedu	  s;   ø€ Ø—’˜o¨rÑ2Ô2ˆBÝ'>¸uÑ'EÔ'EˆBÐ#Ñ$Ø�2�q�;˜A�;�;ÐrA   rí  r  r  )r   rí  r,   ÚpatchÚobjectr	   r#   r   Úreflect_tabler   r   )r}   r“   r  r  s      @r?   Útest_unreflectablez*ComponentReflectionTest.test_unreflectabler	  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)rR   rŸ   Úresolve_fksc                 ó   •— g | ]	}‰› d |› �‘Œ
S )rJ  rF   )r®  r>  rR   s     €r?   rö  z9ComponentReflectionTest.test_metadata.<locals>.<listcomp>’	  s#   ø€ Ð6Ð6Ð6¨!˜�o�o !�o�oÐ6Ð6Ð6rA   )r   r   rU   Úreflectr   rA  rF  rG  r  r   rB  rº   )r}   r“   r9  rŸ   Úmr†   rº   rR   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 rX  rF   r½  s     r?   r²  zAComponentReflectionTest.test_comments_unicode.<locals>.<dictcomp>¦	  s"   € Ð7Ð7Ð7¨Q��6”˜A˜iœLÐ7Ð7Ð7rA   )r'  r(  ©r   r   r   rÞ   r   r1  r   rè   )r}   r“   r[   r†   ÚtcrÔ  ÚvaluerW  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‰ŒˆˆˆrA   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 )
Nr&  r(  u&   ðŸ��ðŸ§™ðŸ��ðŸ§™â€�â™‚ï¸�ðŸ§™â€�â™€ï¸�rí   u&   ðŸŽ©ðŸ�°ðŸ�‘ðŸ¤·â€�â™€ï¸�ðŸ¤·â€�â™‚ï¸�r¿  r   rl   rî   r*  )r}   r“   r[   r†   r+  r§   s         r?   Útest_comments_unicode_fullz2ComponentReflectionTest.test_comments_unicode_fullª	  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Ñ[Ô[Ð[Ð[Ð[rA   r–   r-   )NF)mrB   rC   rD   Úrun_insertsÚrun_deletesrž   rE   r\   rH  ri   rY   rW   r¡  r¤  r·  r!   r>  r    r½  rÁ  rÍ  ÚpropertyrÏ  rØ  rÚ  rë  rí  r   r  r  r  r  r  r   rS   Úschema_reflectionr   r$  r*  r,  Úschema_create_deleter0  r4  r6  rÄ   rò   rT   rD  rH  r´  rL  rV   rr   rO  rô   rS  rU  rQ  r#  r÷   rs  ru  r  ry  Ú!primary_key_constraint_reflectionr&  r)  r‡  rŠ  r¢   r,  r‰  rŠ  r‘  r7  r”  Útemp_table_reflect_indexesr›  r/  r!  rº  Útable_reflectionrÁ  r  rÆ  rÿ   rÑ  r  rD  rÖ  rÙ  rã  r{  rë  rî  rñ  rø  r   r  r  r8  r  r  r  rŸ   r$  r-  Úcomment_reflection_full_unicoder/  rF   rA   r?   rF  rF  o  s  € € € € € Ø $Ð$€K�+à€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ÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ð ÔÔ7ð$>ð $>ñ 8Ô7ñô ð$>ðL ÔÔ0ØÔÔð"8ð "8ñ Ôñ 1Ô0ð"8ðH €WÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ð ÔÔ&ð
ð 
ñ 'Ô&ñô ð
ð, €WÔØ3Ø/Øðñ ô ð
 ÔÔ&ØÔÔ*ØÔÔ2ð-ð -ñ 3Ô2ñ +Ô*ñ 'Ô&ñô ð-ð ÔÔ+ØÔÔ2ðDð Dñ 3Ô2ñ ,Ô+ðDð ÔÔ0ð
ð 
ñ 1Ô0ð
ð  €WÔØ	ˆwÔÔ'Ð(¨(¸\ðñ ô ð ÔÔ2ðVDð VDñ 3Ô2ñô ðVDðp ÔÔ%Ø€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ð\ð \ð \rA   rF  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_columnsÀ	  s,   € åˆg�xÑ Ô Ð Ø×Ò˜JÑ'Ô'Ð'Ð'Ð'rA   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   ra   r$   rÞ   r>  s      r?   Úview_no_columnsz"TableNoColumnsTest.view_no_columnsÅ	  sz   € åˆg�xÑ Ô Ð ÝŒØØÝÐ<Ñ=Ô=ñ	
ô 	
ð 	
õ 	ŒØ�m¥SÐ)FÑ%GÔ%Gñ	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'Ð'Ð'rA   c                 ó†   — t          dt          ¦   «         |¬¦  «        }t          t          |j        ¦  «        g ¦  «         d S )NrÀ  rÙ   ©r   r   r   rÓ  r§   )r}   r“   r?  Út2s       r?   Útest_reflect_table_no_columnsz0TableNoColumnsTest.test_reflect_table_no_columnsÕ	  s8   € Ý�7�H™JœJ°jÐAÑAÔAˆÝ�D�”‰JŒJ˜ÑÔÐÐÐrA   c                 ó¶   — t          |¦  «        }t          |                     d¦  «        g ¦  «         |                     ¦   «         }t          |dg i¦  «         d S )NrÀ  r=  )r   r   rè   rí  )r}   r“   r?  r†   Úmultis        r?   Ú!test_get_columns_table_no_columnsz4TableNoColumnsTest.test_get_columns_table_no_columnsÙ	  sY   € Ý�zÑ"Ô"ˆÝˆD×Ò˜WÑ%Ô% rÑ*Ô*Ð*Ø×&Ò&Ñ(Ô(ˆÝˆE�O RÐ(Ñ)Ô)Ð)Ð)Ð)rA   c                 ó    — t          ¦   «         }|                     |¦  «         t          |j        ¦  «                             dg¦  «        sJ ‚d S r=  )r   r"  r˜  rº   rd  )r}   r“   r?  r#  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Ð4rA   c                 ó†   — t          dt          ¦   «         |¬¦  «        }t          t          |j        ¦  «        g ¦  «         d S )NÚempty_vrÙ   rC  )r}   r“   rA  rD  s       r?   Útest_reflect_view_no_columnsz/TableNoColumnsTest.test_reflect_view_no_columnsä	  s8   € å�9�h™jœj¸
ÐCÑCÔCˆÝ�D�”‰JŒJ˜ÑÔÐÐÐrA   c                 óÎ   — t          |¦  «        }t          |                     d¦  «        g ¦  «         |                     t          j        ¬¦  «        }t          |dg i¦  «         d S )NrL  )rª   )NrL  )r   r   rè   rí  r    r@  )r}   r“   rA  r†   rG  s        r?   Ú test_get_columns_view_no_columnsz3TableNoColumnsTest.test_get_columns_view_no_columnsé	  sa   € å�zÑ"Ô"ˆÝˆD×Ò˜YÑ'Ô'¨Ñ,Ô,Ð,Ø×&Ò&­J¬OÐ&Ñ<Ô<ˆÝˆEÐ% rÐ*Ñ+Ô+Ð+Ð+Ð+rA   N)rB   rC   rD   rÃ   rž   r   rÿ   r?  rA  rE  rH  rJ  rS   rŸ   rM  rO  rF   rA   r?   r:  r:  ¼	  sÇ   € € € € € Ø1€LØ€Kà„_ð(ð (ñ „_ð(ð „_ð(ð (ñ „_ð(ðð ð ð*ð *ð *ð5ð 5ð 5ð
 ÔÔðð ñ Ôðð ÔÔð,ð ,ñ Ôð,ð ,ð ,rA   r:  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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- e.j/        ¦   «         d&fe' e(j0        d'¦  «         e(j0        d(¦  «        z   d#ej	        j,        fd)¬¦  «        ej	        j1        d*„ ¦   «         ¦   «         Z2d
S )+ÚComponentReflectionTestExtraTF)Úparamsc                 ó,   — |j         rt          j        S d S r–   )Úparamr   rU   )r}   Úrequests     r?   Úuse_schema_fixturez/ComponentReflectionTestExtra.use_schema_fixtureô	  s   € àŒ=ð 	ÝÔ%Ð%à�4rA   c                 ó>   ‡‡‡— t           j        ˆˆˆfd„¦   «         }|S )Nc              3   ó\   •K  — ‰t          ‰¦  «        fV — ‰                     ‰¦  «         d S r–   )r   rÞ   )rÎ   r“   r[   rV  s    €€€r?   Úgoz:ComponentReflectionTestExtra.inspect_for_table.<locals>.goý	  s:   øè è € à$¥g¨jÑ&9Ô&9Ð9Ð9Ð9Ð9à×Ò 
Ñ+Ô+Ð+Ð+Ð+rA   )Ú
contextlibÚcontextmanager)r}   r[   r“   rV  rY  s    ``` r?   Úinspect_for_tablez.ComponentReflectionTestExtra.inspect_for_tableû	  s=   øøø€ å	Ô	"ð	,ð 	,ð 	,ð 	,ð 	,ð 	,ñ 
#Ô	"ð	,ð
 ˆ	rA   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ñô ð rA   c                 óD   •— g | ]}|d           ‰|d         ¦  «        dœ‘ŒS )rl   r  ©rl   r  rF   )r®  Úitemrc  s     €r?   rö  z6ComponentReflectionTestExtra.ck_eq.<locals>.<listcomp>
  sC   ø€ ð ð ð àð ˜fœ°)°)¸DÀ¼OÑ2LÔ2LÐMÐMðð ð rA   c                 ó   — | d         S r
  rF   ©rf  s    r?   r²   z4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>
  ó
   € ˜d 9œo€ rA   r£  c                 ó   — | d         S r
  rF   rh  s    r?   r²   z4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>
  ri  rA   )rB  r   )r}   r“  rš  rc  s      @r?   Úck_eqz"ComponentReflectionTestExtra.ck_eq
  s�   ø€ ð	ð 	ð 	õ
 ðð ð ð à%ðñ ô ð /Ð.ð
ñ 
ô 
ˆ	õ ØØ.Ð.ð
ñ 
ô 
ˆõ 	ˆI�xÑ Ô Ð Ð Ð rA   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 )Nrv  rN   ri  rQ   )r   r   ro   r   rk  r4  )r}   r[   r\  rR   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_ccrK   TrL   r°   úa > 1 AND a < 5r  rN   rO   rQ   úa > 1 and a < 5re  )
r   r   r   ro   r  r   r4  rk  r,   r>  ©r}   r[   r\  rp  rR   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 )Nrr  r°   za = 1 OR (a > 2 AND a < 5)r  rQ   za = 1 or a > 2 and a < 5re  )	r   r   r   ro   r  r4  rk  r,   r>  ru  s          r?   Ú test_check_constraint_standalonez=ComponentReflectionTestExtra.test_check_constraint_standaloneO
  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 )Nrr  rK   TrL   r°   rs  rŸ  zb > 1 AND b < 5rn  r  r§   rN   rO   Úsome_uqzc > 1 AND c < 5Úcc1Ú	some_c_uqrQ   zc > 1 and c < 5re  zb > 1 and b < 5rt  )r   r   r   ro   r  r   r  r4  rk  r,   r>  )r}   r[   r\  rR   r©   r“  s         r?   Útest_check_constraint_mixedz8ComponentReflectionTestExtra.test_check_constraint_mixedm
  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                 ó–  ‡‡— 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>  Úxra  Ú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)rl   rË   rb  rò  c                 ó–   •— t           j        j        j        rg | d<   ‰j        j        › d�g i| d<   d S |                      di ¦  «         d S )Nró  Ú_includerò  )r   rS   r˜  r8   r3  rl   r  )Úentryr“   s    €r?   ÚcompleteIndexzYComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.completeIndex©
  se   ø€ ÝÔÔ?ÔGð 8Ø+-�Ð'Ñ(à!Ô(Ô-Ð7Ð7Ð7¸ð,�Ð'Ñ(Ð(Ð(ð × Ò Ð!2°BÑ7Ô7Ð7Ð7Ð7rA   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__µ
  s+   € Ø—[’[‘]”]�à "�}ÐA¨#°¨)Ð*@°s¸b°yÐArA   Nrà  rF   rA   r?   Úlower_index_strrŒ  ´
  s(   € € € € € ðBð Bð Bð Bð BrA   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__»
  s    ø€ à! U§[¢[¡]¤]Ð2ÐH°xÀ5Ð7HÐHrA   Nrà  )r•  s   €r?   Úcoalesce_index_strr’  º
  s5   ø€ € € € € ðIð Ið Ið Ið Ið Ið IrA   r–  )Nrƒ  Nzlower(x)zlower(y))rl   rË   rô  rb  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   rS   Ú reflect_indexes_with_expressionsr8   ÚinsertrË  r   r+  r   r
   Ú!compare_table_index_with_expectedr3  rl   )r}   r[   r“   r>  r†   rš  rŠ  r�  r–  Ú
expr_indexÚexpr_index_longrà   rD  r•  s     `          @r?   Ú%test_reflect_expression_based_indexeszBComponentReflectionTestExtra.test_reflect_expression_based_indexes�
  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�  ra  r‚  r„  ÚincludeF)rl   rË   ró  rb  rò  r   rò  z
%s_includerÙ   )r   r   r   r%   r§   r�  rò  r3  rl   rÞ   r   r+  r   r,   r>  r   rÓ  rŒ  )r}   r[   r“   r>  r½   r†   r+  rD  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ñ		
ô 	
ð 	
ð 	
ð 	
rA   c                 óÎ   — t          d|gd„ t          |¦  «        D ¦   «         ¢R Ž }|                     |¦  «         d„ t          |¦  «                             d¦  «        D ¦   «         S )Nr>  c                 ó:   — g | ]\  }}t          d |z  |¦  «        ‘ŒS )zt%dr   )r®  rl  Útype_s      r?   rö  zAComponentReflectionTestExtra._type_round_trip.<locals>.<listcomp>  s*   € ÐHÐHÐH©8¨1¨e�f�U˜Q‘Y Ñ&Ô&ÐHÐHÐHrA   c                 ó   — g | ]
}|d          ‘ŒS )rÅ  rF   r½  s     r?   rö  zAComponentReflectionTestExtra._type_round_trip.<locals>.<listcomp>  s   € ÐHÐHÐH˜a��&”	ÐHÐHÐHrA   )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ÐHrA   c                 óì   — |                       ||t          j        dd¦  «        ¦  «        D ]H}t          |t          j        ¦  «        sJ ‚t	          |j        d¦  «         t	          |j        d¦  «         ŒId S )Né   rP  )r¤  ra  re  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ÑÔÐÐð	ð 	rA   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¤  Ú
issubclassra  rq   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Ñ*Ô*Ð*Ð*Ð*Ð*Ð*rA   c           
      ó"  — t          d|t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «        }|                     |¦  «         t	          d„ t          |¦  «                             d¦  «        D ¦   «         dddœ¦  «         d S )	Nr>  r°   TrQ  rŸ  Fc                 ó,   — i | ]}|d          |d         “ŒS )rl   rR  rF   rx  s     r?   r²  zIComponentReflectionTestExtra.test_nullable_reflection.<locals>.<dictcomp>E  s2   € ð ð ð àð �F”˜S œ_ðð ð rA   )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Ð#Ð#ñ	
ô 	
ð 	
ð 	
ð 	
rA   Ú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�  rK   TrL   rÓ   rj  Úx_idzx.idÚxidr  Útesté
   Úuserrl   rO   FrQ  Útidztable.idÚmyfkr   r5   c                 ó2   •— i | ]}‰|         ¯
|‰|         “ŒS rF   rF   )r®  r±   Úoptss     €r?   r²  zMComponentReflectionTestExtra.test_get_foreign_key_options.<locals>.<dictcomp>£  s(   ø€ Ð1Ð1Ð1˜A¨¨a¬Ð1ˆQ��Q”Ð1Ð1Ð1rA   )r   r   r   r   r   ro   rÝ   rÞ   r   r(  r   )	r}   r“   r[   rš  r·  r¸  r5   r†   rÁ  s	           @r?   Útest_get_foreign_key_optionsz9ComponentReflectionTestExtra.test_get_foreign_key_optionsL  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�(ÑÔÐÐÐrA   Ú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>  rK   TrL   Úthecol)Úserver_defaultrÛ   rÆ  z	[\(\) \']rK  )Ú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_defaults©  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ÐHrA   )3rB   rC   rD   rž   r   rÿ   rV  r\  rk  rS   r8  rm  Ú"inline_check_constraint_reflectionrÄ   rv  rz  r  Úindexes_with_expressionsrœ  r˜  rŸ  r¤  r7  rª  ra  r   rq   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   ro   r¿  r   ÚtrueÚexpression_server_defaultsr   r   ÚnowÚliteral_columnÚserver_defaultsrÎ  rF   rA   r?   rQ  rQ  ñ	  sT  € € € € € Ø€Kà€W„_˜T 5˜MÐ*Ñ*Ô*ðð ñ +Ô*ðð €W„_ÑÔðð ñ Ôðð!ð !ð !ð. ÔÔ1ð
ð 
ñ 2Ô1ð
ð ÔÔ8Ø€WÔØ�Z Ð0Aðñ ô ð
ð 
ñô ñ 9Ô8ð
ð@ ÔÔ1Ø€WÔØ�{ DÐ3Dðñ ô ð
ð 
ñô ñ 2Ô1ð
ð4 ÔÔ8ð
ð 
ñ 9Ô8ð
ð> ÔÔ.ð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rA   rQ  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  rK   rL   rD  Út1idzt1.id)r   r&   r   r   r   rZ   s     r?   r\   z NormalizedNameTest.define_tables×  s‘   € åÝ˜ DÐ)Ñ)Ô)ØÝ�4�¨dÐ3Ñ3Ô3ñ	
ô 	
ð 	
õ
 	Ý˜ DÐ)Ñ)Ô)ØÝ�4�¨dÐ3Ñ3Ô3Ý�6�: gÑ.Ô.Ñ/Ô/ñ		
ô 	
ð 	
ð 	
ð 	
rA   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 )NrD  Trâ  rÙ   râ   c                 ó.   — |                       ¦   «         dv S )N©râ   rD  rŽ  )rl   r#  s     r?   r²   zINormalizedNameTest.test_reflect_lowercase_forced_tables.<locals>.<lambda>ï  s   € ¨D¯JªJ©L¬L¸LÐ,H€ rA   )Úonly)r   r   r&   r   r=   rº   r§   rã  rß   rK   r"  )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ÐFrA   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Ð(Ð(ð à(Ð(Ð(rA   r   rÛ   )r   r   r=   rA  r   Úupperr  )r}   Ú
tablenamess     r?   rD  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Ð9rA   N)	rB   rC   rD   rÃ   rž   rE   r\   rë  rD  rF   rA   r?   rß  rß  Ó  sX   € € € € € Ø*€LØ€Kàð
ð 
ñ „[ð
ðGð Gð Gð:ð :ð :ð :ð :rA   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  rF   r½  s     r?   r²  zLComputedReflectionTest.test_computed_col_default_not_set.<locals>.<dictcomp>  s   € Ð/Ð/Ð/ Q�A�f”I˜qÐ/Ð/Ð/rA   Ú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Ð6rA   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  rF   r½  s     r?   r²  zKComputedReflectionTest.test_get_column_returns_computed.<locals>.<dictcomp>  ó   € Ð+Ð+Ð+ ��&”	˜1Ð+Ð+Ð+rA   )rK   r÷  rö  Úcomputedrø  r  ú	normal+42Ú	persisted)r   r   r=   rè   r+   r   rc  r   rS   Ú"computed_columns_reflect_persistedr8   Ú"computed_columns_default_persisted)r}   r†   rÔ  rN   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ñô ð ð ð ð	ð 	rA   c                 ó   — t          d||         v ¦  «         ||         d         }t          |                      |d         ¦  «        |¦  «         t          j        j        j        r)t          d|v ¦  «         t          |d         |¦  «         d S d S )Nrþ  r  r   )r+   r   rc  r   rS   r  r8   r   )r}   rN   Úcolumnr  r   r  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ð 	2rA   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  rF   r½  s     r?   r²  zLComputedReflectionTest.test_get_column_returns_persisted.<locals>.<dictcomp>)  rý  rA   Úcomputed_no_flagrÿ  Úcomputed_virtualznormal+2FÚcomputed_storedz	normal-42T)r   r   r=   rè   r  r   rS   r  r8   Úcomputed_columns_virtualÚcomputed_columns_stored©r}   r†   rÔ  rN   s       r?   Ú!test_get_column_returns_persistedz8ComputedReflectionTest.test_get_column_returns_persisted%  sç   € Ý•v”yÑ!Ô!ˆà×ÒÐ 7Ñ8Ô8ˆØ+Ð+ dÐ+Ñ+Ô+ˆà×ÒØØØÝÔÔ?ÔGñ		
ô 	
ð 	
õ ÔÔ4Ô<ð 	Ø×ÒØØ"ØØñ	ô ð õ ÔÔ3Ô;ð 	Ø×ÒØØ!ØØñ	ô ð ð ð ð	ð 	rA   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	  rQ   c                 ó    — i | ]}|d          |“ŒS r  rF   r½  s     r?   r²  zXComputedReflectionTest.test_get_column_returns_persisted_with_schema.<locals>.<dictcomp>G  rý  rA   r  z	normal/42r  znormal/2Fr  z	normal*42T)r   r   r=   rè   rU   r  r   rS   r  r8   r  r  r  s       r?   Ú-test_get_column_returns_persisted_with_schemazDComputedReflectionTest.test_get_column_returns_persisted_with_schema@  s÷   € å•v”yÑ!Ô!ˆà×ÒØ#­FÔ,>ð  ñ 
ô 
ˆð ,Ð+ dÐ+Ñ+Ô+ˆà×ÒØØØÝÔÔ?ÔGñ		
ô 	
ð 	
õ ÔÔ4Ô<ð 	Ø×ÒØØ"ØØñ	ô ð õ ÔÔ3Ô;ð 	Ø×ÒØØ!ØØñ	ô ð ð ð ð	ð 	rA   N)rB   rC   rD   rú  r  r  r  r   rS   rT   r  rF   rA   r?   rñ  rñ  þ  sr   € € € € € ð7ð 7ð 7ðð ð ð*2ð 2ð 2ðð ð ð6 ÔÔðð ñ Ôðð ð rA   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ó   r7  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÷  Úid1rD  rÕ   Tr   r   éþÿÿÿrs  é   ©Úalwaysræ   Ú	incrementÚminvalueÚmaxvalueÚcycleÚcacheri  )r  ræ   rQ   )
r   r   r   r   r   rS   rT   r8   r   rU   rZ   s     r?   r\   z$IdentityReflectionTest.define_tablese  s  € åØØÝ�8�WÑ%Ô%Ý�5�'¥8¡:¤:Ñ.Ô.ñ		
ô 	
ð 	
õ 	ØØÝØÝÝØØØØØØØðñ ô ñô ñ	
ô 	
ð 	
õ" ÔÔ#Ô+ð 	ÝØØÝ�x¥Ñ)Ô)Ý�u�g¥x°tÀ2Ð'FÑ'FÔ'FÑGÔGÝÔ)ðñ ô ð ð ð ð	ð 	rA   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 )Nr  r  >   r!  r  ræ   r  )	r   rS   Úidentity_columns_standardr8   rÓ  rÈ  r   r\  r+   )r}   r,  rW  ÚapproxÚcommon_keysr±   s         r?   ÚcheckzIdentityReflectionTest.check‡  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Ð5rA   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â   rD  rl   r÷  rå   r  rÄ  rÆ  FrÛ   éÿÿÿr  T©r$  rÕ   r   r   r  rs  r  )	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&	ð &	rA   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â   rQ   rl   r÷  rå   r  rÄ  rÆ  Tri  rÛ   r(  Fr  r)  )
r   r   r=   rè   rU   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ÝØ#Ø Ø"#Ø!"Ø!+Ø#Øðñ ô ð  ð ñ ô ð øð	ð 	rA   )rB   rC   rD   r0  r1  rž   rÃ   rE   r\   r&  rê   r   rS   rT   r,  rF   rA   r?   r  r  _  sƒ   € € € € € Ø $Ð$€K�+à€KØ;€Làðð ñ „[ððB6ð 6ð 6ð:*ð *ð *ðX ÔÔðð ñ Ôðð ð rA   r  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Útb1rK   Úattrrl   ri  Úpk_tb1r  TrZ  Útb2rL   ÚpidÚpattrÚpname©r6  r4  r5  Úfk_tb1_name_id_attr)r   r   r   ra  rq   ro   r  rÝ   r§   rl   rK   r1  )r>   r[   r0  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Ø*ðñ ô ð
 Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rA   c                 ó¶   — t          |¦  «        }|                     | j        j        j        ¦  «        }t          |                     d¦  «        g d¢¦  «         d S )NrÒ  ©rl   rK   r1  )r   r%  rº   r0  rl   r   r¾  )r}   r“   r†   rM   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ÐKrA   c                 óJ  — t          |¦  «        }|                     | j        j        j        ¦  «        }t          t          |¦  «        d¦  «         |d         }t          |                     d¦  «        g d¢¦  «         t          |                     d¦  «        g d¢¦  «         d S )NrÛ   r   râ  r:  rÒ  r7  )r   r(  rº   r3  rl   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ÐHrA   N)rB   rC   rD   rž   rE   r\   r   rS   r5  r;  rò   r>  rF   rA   r?   r.  r.  ì  s~   € € € € € Ø€Kàð
ð 
ñ „[ð
ð6 ÔÔ7ðLð Lñ 8Ô7ðLð ÔÔ7ðIð Iñ 8Ô7ðIð Ið IrA   r.  )rF  rQ  r:  r  rÆ   rH   r¡   rß  rñ  r  r.  rö   )HrZ  r©  rÜ  r9   ro   rK  r   r   r   r   r   r	   r
   r   r   Ú	provisionr   r   rR   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ra  r3  r   r    r!   Úexcr"   r#   r$   r%   Úsql.elementsr&   Ú
sql.schemar'   r(   r)   r*   r+   r,   r[   rM  Ú
TablesTestr/   rH   r¡   ÚTestBaserÆ   rö   r  rD  rF  r:  rQ  rß  ÚComputedReflectionFixtureTestrñ  r  r.  Ú__all__rF   rA   r?   ú<module>rG     sÑ  ðð Ð Ð Ð Ø €€€Ø 	€	€	€	à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð �€ˆ%ðð ð ð ð ˜hÔ1ñ ô ð ð S:ð S:ð S:ð S:ð S:Ð*ñ S:ô S:ð S:ðl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ð<J\ð J\ð J\ð J\ð J\˜nÐ.Eñ J\ô J\ð J\ðZ:2,ð 2,ð 2,ð 2,ð 2,˜Ô*ñ 2,ô 2,ð 2,ðj_Ið _Ið _Ið _Ið _I ?°HÔ4Eñ _Iô _Ið _IðD(:ð (:ð (:ð (:ð (:˜Ô,ñ (:ô (:ð (:ð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€€€rA   