§
    
 @gÝž ã                   óš  — 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m/Z/ d(\  Z0Z1 G d)„ d*ej2        ¦  «        Z3 G d+„ d,e3¦  «        Z4 G d-„ d.ej2        ¦  «        Z5 G d/„ d0ej6        ¦  «        Z7 G d1„ d2ej2        ¦  «        Z8d3„ Z9 G d4„ d5e,e3¦  «        Z: G d6„ d7ej6        ¦  «        Z; G d8„ d9e+ej6        ¦  «        Z< G d:„ d;ej2        ¦  «        Z= G d<„ d=ej>        ¦  «        Z? G d>„ d?ej2        ¦  «        Z@ G d@„ dAej2        ¦  «        ZAdBZBdS )Cé    Né   )Úconfig)Úengines)Úeq_)Úexpect_raises)Úexpect_raises_message)Úexpect_warnings)Úfixtures)Úis_)Úget_temp_table_name)Útemp_table_keyword_args©ÚColumn)ÚTableé   )Ú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Ú
sqlalchemyr.   r   Útesting_engineÚdictÚ
StaticPoolÚdb)Úclsr.   s     ú\/var/www/piapp/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_reflection.pyÚ
setup_bindz"OneConnectionTablesTest.setup_bind1   s]   € õ
 ÔÔ6Ô>ð 	Ø'Ð'Ð'Ð'Ð'Ð'åÔ)Ý t¤¸gÐFÑFÔFðñ ô ð õ ”9Ðó    N)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr=   © r>   r<   r,   r,   0   s-   € € € € € Øðð ñ „[ðð ð r>   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Úschemasr5   r   Útest_schemaÚview_reflectionÚdefine_viewsÚhas_temp_tableÚdefine_temp_tables©r;   Úmetadatas     r<   Údefine_tableszHasTableTest.define_tablesC   só   € åØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:Ñ&Ô&ñ		
ô 	
ð 	
õ ÔÔ#Ô+ð 	ÝØØÝ�t�W°$Ð7Ñ7Ô7Ý�v�v b™zœzÑ*Ô*ÝÔ)ðñ ô ð õ ÔÔ+ð 	'Ø×Ò˜XÑ&Ô&Ð&ÝÔÔ*Ô2ð 	-Ø×"Ò" 8Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-r>   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   rP   rQ   r5   r   rR   )r;   rX   Úquerys      r<   rT   zHasTableTest.define_viewsY   sÕ   € àCˆåŒ�X˜~­s°5©z¬zÑ:Ô:Ð:ÝŒ�X˜}­c°.Ñ.AÔ.AÑBÔBÐBåÔÔ#Ô+ð 	ð 	õ Ô&Ð&Ð&ÝÔ&Ð&Ð&ðð õ ŒL˜ >µ3°u±:´:Ñ>Ô>Ð>ÝŒLØØÝÐ%­Ô);Ñ<Ñ=Ô=ñô ð ð ð ð	ð 	r>   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_nameo   ó(   € å"Ý•F”IÐ9­6¬<Ð9Ð9ñ
ô 
ð 	
r>   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 )
NrH   TrI   ÚnamerL   r[   ú=create temporary view user_tmp_v as select * from user_tmp_%sr\   údrop view user_tmp_v)r   r   r:   rf   r   r   ÚsaÚINTÚVARCHARr   rP   rS   r5   Útemporary_viewsr   r^   r!   rd   ©r;   rX   ÚkwÚ
table_nameÚuser_tmps        r<   rV   zHasTableTest.define_temp_tablesu   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r>   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 )NrG   rM   Ú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)NrG   Ú	new_tableÚcol)r   r   r:   r(   rx   r   r   r   r'   ÚcreateÚclear_cacheÚdrop)rz   rX   Ú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 )NrG   rN   rM   ru   )r   r:   rv   r'   rw   rx   rR   r(   ry   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 )NrG   Únonexistent_schemarN   )r   r:   rv   r'   rw   rx   ry   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(   rx   ©rz   Ú
connectionrƒ   s      r<   Útest_has_table_viewz HasTableTest.test_has_table_view½   s/   € å�zÑ"Ô"ˆÝ�—’˜tÑ$Ô$Ñ%Ô%Ð%Ð%Ð%r>   c                 ó�   — t          |¦  «        }|                      ¦   «         }t          |                     |¦  «        ¦  «         d S ©N)r   rf   r(   rx   )rz   r�   rƒ   rf   s       r<   Útest_has_table_temp_tablez&HasTableTest.test_has_table_temp_tableÂ   s@   € å�zÑ"Ô"ˆØ×.Ò.Ñ0Ô0ˆÝ�—’˜Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r>   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Ñ"Ô"ˆÝ�—’˜|Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-r>   c                 ó~   — t          |¦  «        }t          |                     dt          j        ¦  «        ¦  «         d S rŒ   )r   r(   rx   r   rR   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Ð9r>   N)r?   r@   rA   Ú__backend__rB   rY   rT   rf   rV   r|   r…   r   rP   rQ   r‡   rŠ   Úviewsr‘   rU   r”   rS   ro   r˜   rš   rC   r>   r<   rE   rE   @   s¦  € € € € € Ø€Kàð-ð -ñ „[ð-ð* ðð ñ „[ðð* ð
ð 
ñ „[ð
ð
 ðOð Oñ „[ðOð0Mð Mð Mðð ð ð ÔÔðð ñ Ôðð$ ÔÔðð ñ Ôðð ÔÔð&ð &ñ Ôð&ð ÔÔ$ð1ð 1ñ %Ô$ð1ð
 ÔÔ$ØÔÔ%ØÔÔ%ð.ð .ñ &Ô%ñ &Ô%ñ %Ô$ð.ð ÔÔØÔÔð:ð :ñ Ôñ Ôð:ð :ð :r>   rE   c                   ó¤   — e 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 )ÚHasIndexTestTc                 óö  — 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 )NrG   rH   TrI   rK   rL   Údata2Úmy_idxrN   Úmy_idx_s)r   r   r   r   r"   ÚcrK   r   rP   rQ   r5   r   rR   )r;   rX   Útts      r<   rY   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Ñ(Ô(Ð(Ð(Ð(ð	)ð 	)r>   rw   Ú	inspectorÚkind©Úargnamesc                 óB   ‡— |dk    rˆfd„S t          ‰¦  «        j        S )Nrw   c                  óB   •— t          j        j        j        ‰g| ¢R i |¤ŽS r“   )r   r:   rw   Ú	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€ r>   )r   r«   )rz   r¦   r{   s     `r<   Ú
_has_indexzHasIndexTest._has_indexð   s,   ø€ Ø�9ÒÐØMÐMÐMÐMÐMå˜4‘=”=Ô*Ð*r>   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)NrG   r¡   r¢   ru   Únonexistent_idxÚmy_idx_2Útest_table_2Úmy_idx_3Úfoor¥   T)r¯   r"   ÚtablesrG   r£   r    r   r   r   r€   Ú__self__r�   r‚   )rz   r¦   r�   rX   Ú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 )NrG   r¢   rN   r¡   ru   Únonexistent_idx_s)r¯   r   rR   )rz   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ð
ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
r>   N)r?   r@   rA   r›   rB   rY   r   Úcombinationsr¦   r¯   r»   rP   rQ   r¾   rC   r>   r<   rž   rž   Ö   s£   € € € € € Ø€Kàð)ð )ñ „[ð)ð(  ˆ7Ô 	¨;ÀÐHÑHÔH€Dð+ð +ð +ð 
ð!ð !ñ 
„Tð!ð: ÔÔØ	ð	
ð 	
ñ 
„Tñ Ôð	
ð 	
ð 	
r>   rž   c            	       óº   — e Zd ZdZdZ ej        ddddd¬¦  «         ej        d	dd
g¦  «         ej        ddddd¬¦  «        d„ ¦   «         ¦   «         ¦   «         ZdS )Ú BizarroCharacterFKResolutionTestztests for #10275T)rH   )z(3))zcol%p)z[brack]Ú
columnnamer§   Úuse_compositeF)Úplain)z(2))z
per % cent)z
[brackets]Ú	tablenamec                 ó†  — 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 )NrH   T)ÚkeyrJ   ©Útest_needs_fkÚid2rI   ÚotherÚrefÚref2©Úautoload_withr   é   )r   r   r   Úappend_columnrl   ÚForeignKeyConstraintr£   rH   rÊ   r   Ú
create_allr   r¶   rÌ   Ú
referencesrÍ   )
rz   r�   rX   rÃ   rÅ   rÂ   r¤   Úm2Úo2Út1s
             r<   Útest_fk_refz,BizarroCharacterFKResolutionTest.test_fk_ref'  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Ð0r>   N)	r?   r@   rA   Ú__doc__r›   r   r¿   Ú	variationrØ   rC   r>   r<   rÁ   rÁ   "  sª   € € € € € ØÐà€Kà€WÔØ�˜: |¸lðñ ô ð €WÔ�¨¨u¨Ñ6Ô6Ø€WÔØØØØØðñ ô ð(1ð (1ñô ñ 7Ô6ñô ð(1ð (1ð (1r>   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d	„ ¦   «         Ze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 ' onerH   ri   rL   rK   Ú
related_idzpk quote ' one©ri   zix quote ' onezuq quote' onez
related.idzfk quote ' onezname != 'foo'zck quote ' onezquote ' one commentT)ÚcommentrÉ   úquote " twozpk quote " twozix quote " twozuq quote" twozfk quote " twozck quote " two zquote " two commentÚrelatedrI   rÈ   r]   úview %sú AS SELECT * FROM r[   r\   zDROP VIEW %s)r   r   r   r   rl   ÚPrimaryKeyConstraintr"   ÚUniqueConstraintrÒ   ÚCheckConstraintr   rP   Úsymbol_names_w_double_quoter5   Úview_column_reflectionr   r:   rw   Úidentifier_preparerÚquoter   r^   r!   )r;   rX   Únamesri   r_   s        r<   rY   z$QuotedNameArgumentTest.define_tablesa  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Ø%¨Ñ,ñô ññô ñ	ô 	ð 	ð 	ð'	ð 	ðð r>   c                 ó`   —  t          j        ddt           j        j        f¦  «        | ¦  «        S )N)rß   rã   )r   r¿   rP   rê   )Úfns    r<   Úquote_fixturesz%QuotedNameArgumentTest.quote_fixtures´  s;   € ð
�wÔ#ØØ�GÔ,ÔHÐIñ
ô 
ð ñô ð 	r>   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   rP   Úreflect_table_optionsr5   Úget_table_optionsr(   Ú
isinstancer8   r   ÚNotImplementedError)rz   ri   rƒ   Úress       r<   Útest_get_table_optionsz-QuotedNameArgumentTest.test_get_table_optionsº  sÙ   € å•v”yÑ!Ô!ˆåÔÔ1Ô9ð 	3Ø×(Ò(¨Ñ.Ô.ˆCÝ•J˜s¥DÑ)Ô)Ñ*Ô*Ð*Ð*Ð*åÕ2Ñ3Ô3ð 3ð 3Ø×,Ò,¨TÑ2Ô2�ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   Á=B Â B$Â'B$c                 ól   — t          t          j        ¦  «        }|                     d|z  ¦  «        sJ ‚d S )Nrå   )r   r   r:   Úget_view_definition©rz   ri   rƒ   s      r<   Útest_get_view_definitionz/QuotedNameArgumentTest.test_get_view_definitionÅ  s8   € õ •v”yÑ!Ô!ˆØ×'Ò'¨	°DÑ(8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9r>   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r“   )r   r   r:   Úget_columnsrû   s      r<   Útest_get_columnsz'QuotedNameArgumentTest.test_get_columnsË  ó1   € å•v”yÑ!Ô!ˆØ×Ò Ñ%Ô%Ð%Ð%Ð%Ð%Ð%r>   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Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r>   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_keysÕ  s1   € å•v”yÑ!Ô!ˆØ×$Ò$ TÑ*Ô*Ð*Ð*Ð*Ð*Ð*r>   c                 óf   — t          t          j        ¦  «        }|                     |¦  «        sJ ‚d S r“   )r   r   r:   Úget_indexesrû   s      r<   Útest_get_indexesz'QuotedNameArgumentTest.test_get_indexesÚ  r   r>   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Ð0r>   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_commentå  s3   € õ •v”yÑ!Ô!ˆØ×%Ò% dÑ+Ô+Ð+Ð+Ð+Ð+Ð+r>   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_constraintsë  s3   € õ •v”yÑ!Ô!ˆØ×)Ò)¨$Ñ/Ô/Ð/Ð/Ð/Ð/Ð/r>   N)r?   r@   rA   Úrun_create_tablesr›   rB   rY   rñ   rø   r   rP   rë   rü   rÿ   r  r  r	  Úunique_constraint_reflectionr  Úcomment_reflectionr  Úcheck_constraint_reflectionr  rC   r>   r<   rÜ   rÜ   ]  s‚  € € € € € ØÐØ€KàðPð Pñ „[ðPðdð ð ð ð3ð 3ñ „^ð3ð ØÔÔ,ð:ð :ñ -Ô,ñ „^ð:ð ð&ð &ñ „^ð&ð ð,ð ,ñ „^ð,ð ð+ð +ñ „^ð+ð ð&ð &ñ „^ð&ð ØÔÔ2ð1ð 1ñ 3Ô2ñ „^ð1ð ØÔÔ(ð,ð ,ñ )Ô(ñ „^ð,ð ØÔÔ1ð0ð 0ñ 2Ô1ñ „^ð0ð 0ð 0r>   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   rR   rC   r>   r<   r®   z$_multi_combination.<locals>.<lambda>ö  s	   € •FÔ&€ r>   rO   r§   r1   r¦   TFÚ
use_filter)r   r¿   rP   rQ   r   ÚDEFAULTÚ	TEMPORARYÚANYr   ÚTABLEÚVIEWÚMATERIALIZED_VIEWÚANY_VIEW)rð   rO   r1   r¦   Úfilter_namess        r<   Ú_multi_combinationr"  ò  sü   € ÝÔ!Øà&Ð&ÝÔÔ$ð	
ð ðñ ô €Fõ Ô ÝÔÝÔÝŒØð	ñ ô €Eõ ÔÝÔÝŒÝÔ$ÝŒÝÔÝÔ�:œ?Ñ*ÝÔ�:Ô7Ñ7Øð	ñ 	ô 	€Dõ Ô'¨¨e¸lÐKÑKÔK€Làˆ6�%�%˜˜˜\˜\¨"Ñ-Ô-Ñ.Ô.Ñ/Ô/Ñ0Ô0Ð0r>   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   rP   rQ   r5   r   rR   rW   s     r<   rY   z%ComponentReflectionTest.define_tables  sW   € à×#Ò# H¨dÑ3Ô3Ð3ÝÔÔ#Ô+ð 	NØ×'Ò'¨µ'´.Ô2LÑMÔMÐMÐMÐMð	Nð 	Nr>   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á   rC   ÚusersÚuser_idTrI   Útest1é   F©ÚnullableÚtest2Úparent_user_idú	test2 > 0Úzz_test2_gt_zeroúusers check constraint©ri   râ   útest2 <= 1000©rO   rÉ   Ú
dingalingsÚdingaling_idÚ
address_idz%semail_addresses.address_idÚzz_email_add_id_fgúdi fk commentÚid_userrK   é   )Ú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_testrH   ú
id comment)rJ   râ   údata % comment©râ   Úd2ú)Comment types type speedily ' " \ '' Fun!Úd3é*   úComment
withescapesúthe test % ' " \ table comment)rO   râ   Úno_constraintsú"no
constraintshasescapedcommentÚlocal_tableÚ	remote_idz%s.remote_table_2.id)rÉ   rO   Ú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   rP   Úself_referential_foreign_keysr5   r   r   r   rl   rm   ÚCHARÚFloatr   ré   r   rè   r£   r,  rç   Úcross_schema_fk_reflectionr   rR   r:   rw   Údefault_schema_nameÚindex_reflectionr"   r-  r1  Úindexes_with_ascdescÚreflect_indexes_with_ascdescr_  Údescrë   rT   Útemp_table_reflectionrV   )r;   rX   rO   Úschema_prefixÚparent_id_argsr+  r^  r`  s           r<   r&  z/ComponentReflectionTest.define_reflected_tables  sy  € àð 	Ø" S™LˆMˆMàˆMåÔÔ9ÔAð 	 åØ%¨Ñ5¸Lðñ ô ðˆNˆNð  ˆNÝØØÝ�9�bœf°$Ð7Ñ7Ô7Ý�7�BœG A™JœJ°Ð7Ñ7Ô7Ý�7�BœH™JœJ°Ð7Ñ7Ô7ÝÐ#¥R¤ZÐA°.ÐAÐAÐAÝÔØØ'Ø0ðñ ô õ
 Ô˜Ñ/Ô/ØØð
ñ 
ô 
ˆõ" 	ØØÝ�>¥2¤:¸4Ð@Ñ@Ô@ÝØÝ”
ÝØ2°]ÑBØ-Ø+ðñ ô ñô õ ØÝ”
ÝÐ,¨}Ñ<Ñ=Ô=ñô õ
 �6�2œ9 R™=œ=°Ð6Ñ6Ô6ÝÔØ6Ø)ðñ ô õ ÔØØØ-Ø+ð	ñ ô ð Øð=	
ñ 	
ô 	
ð 	
õ@ 	ØØÝ�<¥¤Ñ,Ô,ÝÐ#¥R¤Zµ¸E¼G¼OÑ1LÔ1LÑMÔMÝ�?¥B¤I¨b¡M¤M¸Ð>Ñ>Ô>ÝÔ#Ø =¸/ðñ ô ð Øð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�œ°¸|ÐLÑLÔLÝ�6�2œ9 R™=œ=Ð2BÐCÑCÔCÝØÝ”	˜"‘”ØHðñ ô õ
 �4�œ 2™œÐ0HÐIÑIÔIØØ9ð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�6�2œ9 R™=œ=Ñ)Ô)ØØ<ð	
ñ 	
ô 	
ð 	
õ ÔÔ6Ô>ñ '	Øˆ~ÝØ!ØÝ˜4¥¤¸Ð>Ñ>Ô>Ý˜6¥2¤9¨R¡=¤=Ñ1Ô1ÝØ#Ý"Ø2µW´^Ô5OÑOñô ñô ð #'Ý!œ9Ô,Ô@ðñ ô ð ð õ Ø"ØÝ˜4¥¤¸Ð>Ñ>Ô>ÝØ"Ý"Ø/Ý$œiÔ/ÔCñDñô ñô õ ˜6¥2¤9¨R¡=¤=Ñ1Ô1Ø!Ø"&ðñ ô ð õ Ø$ØÝ˜4¥¤¸Ð>Ñ>Ô>Ý˜6¥2¤9¨R¡=¤=Ñ1Ô1Ø!Ø"&ðñ ô ð õ ÔÔ,Ô4ñ 	JÝ�- ¤¤°´´ÀdÐKÑKÔKÐKÝØ ¤¤°%´'´-ÀÄÄñô ð ð ñ Jå',Ø*ØÝ˜3¥¤	¨!¡¤Ñ-Ô-Ø"&ð	(ñ (ô (Ð$õ &+Ø(ØÝ˜4¥¤¸Ð>Ñ>Ô>Ý˜3¥¤	¨!¡¤Ñ-Ô-Ø"&ð&ñ &ô &Ð"õ Ô$Ô9ÔAðJåÔ(ÔEÔMðJõ Ð+Ð-AÔ-CÔ-E×-JÒ-JÑ-LÔ-LÑMÔMÐMÝ˜/Ð+=Ô+?Ô+A×+FÒ+FÑ+HÔ+HÑIÔIÐIåÔÔ2Ô:ð 	/Ø×Ò˜X vÑ.Ô.Ð.Øð 	-�'Ô*Ô@ÔHð 	-Ø×"Ò" 8Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ð 	-ð 	-r>   c                 ó\   — t          t          t          j        dt          j        › �¦  «        S ra   rc   re   s    r<   rf   z'ComponentReflectionTest.temp_table_nameÉ  rg   r>   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 )NrH   TrI   ri   rL   rµ   Úuser_tmp_uq_rá   Úuser_tmp_ixr[   rj   r\   rk   )r   r   r:   rf   r   r   rl   rm   rn   rè   rd   r"   r   rP   rS   r5   ro   r   r^   r!   rp   s        r<   rV   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r>   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 )Nr9  ©r+  rD  r9  r(  Ú_vzMATERIALIZED r)  zCREATE zVIEW ræ   r[   Ú	mat_indexÚoraclezCREATE INDEX z ON z(data)r\   zDROP )	r   rP   Úmaterialized_viewsr5   Úsetr   r^   r!   Úagainst)r;   rX   rO   Úmaterializedrr   ÚfullnameÚ	view_nameÚprefixr_   Ú
index_namer¹   s              r<   rT   z$ComponentReflectionTest.define_viewsñ  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ñô ð ð ð#	ð 	r>   c                 óÜ   — i }t           j        |v r|                     |¦  «         t           j        |v r|                     |¦  «         t           j        |v r|                     |¦  «         |S r“   )r   r  Úupdater  r  )rz   r¦   r¶   rœ   r{  r÷   s         r<   Ú_resolve_kindz%ComponentReflectionTest._resolve_kind  sk   € ØˆÝÔ˜tÐ#Ð#Ø�JŠJ�vÑÔÐÝŒ?˜dÐ"Ð"Ø�JŠJ�uÑÔÐÝÔ'¨4Ð/Ð/Ø�JŠJ�|Ñ$Ô$Ð$Øˆ
r>   c                 ó  — t           j        j        j        s*|                     ¦   «          |                     ¦   «          d S t           j        j        j        s+|                     |¦  «         |                     ¦   «          d S d S r“   )r   rP   rë   r5   Úclearrx  r�  )rz   rœ   r{  s      r<   Ú_resolve_viewsz&ComponentReflectionTest._resolve_views  s{   € ÝÔÔ6Ô>ð 	!Ø×ÒÑ Ô Ð Ø�KŠK‰MŒMˆMˆMˆMÝÔ!Ô4Ô<ð 	!Ø�LŠL˜Ñ&Ô&Ð&Ø×ÒÑ Ô Ð Ð Ð ð	!ð 	!r>   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 )NTrC   )Ú_s    r<   r®   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>  s   €  € r>   c                 ó   — d| d         vS ©NÚtmprÐ   rC   ©r­   s    r<   r®   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>!  s   €  U°!°A´$Ð%6€ r>   c                 ó   — d| d         v S rŠ  rC   rŒ  s    r<   r®   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>#  s   €  U¨a°¬d ]€ r>   rY  r[  rW  r^  r`  r—   c                 ój   •— i | ]/\  }} ‰|¦  «        r|d          ‰‰         vr‰r
|d          ‰v ¯,||“Œ0S )rÐ   rC   )Ú.0r­   Úvr!  ÚremovedrO   Úscope_filters      €€€€r<   ú
<dictcomp>z:ComponentReflectionTest._resolve_names.<locals>.<dictcomp>@  sg   ø€ ð 
ð 
ð 
á��1Øˆ|˜A‰Œð
ð �!”˜G FœOÐ+Ð+Ø!ð ,Ø%& q¤T¨\Ð%9Ð%9ð	 ˆqð &:Ð%9Ð%9r>   )r   r  r  r   r   rR   rf   rP   rf  r5   Úaddr�  rh  rl  Útemp_table_namesro   Úitems)rz   rO   r1   r!  Ú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ð
ð 
ð 
ð 
ð 
ð 
ð 
àŸš™œð
ñ 
ô 
ˆð ˆ
r>   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—   r+  r9  rD  rK  rU  rW  rY  r[  r^  r`  ©r)   r  r…  rf   r‚  r˜  )	rz   rO   r1   r¦   r!  r{  rœ   r¶   r÷   s	            r<   Úexp_optionsz#ComponentReflectionTest.exp_optionsI  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ˆØˆ
r>   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—   r+  r9  rD  rK  rT  rU  rV  rW  rY  r[  r^  r`  )r…  rf   r‚  r˜  )
rz   rO   r1   r¦   r!  Úemptyr{  rœ   r¶   r÷   s
             r<   Úexp_commentsz$ComponentReflectionTest.exp_commentsh  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ˆØˆ
r>   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)ri   ÚautoincrementÚtypeÚdefaultrâ   r0  Úomitr¥  )r)   r  Úpop)ri   Úautor§  râ   r0  r÷   s         r<   r   z0ComponentReflectionTest.exp_columns.<locals>.col“  sF   € ð Ø!%ÝœØ"Ø"Ø$ðð ˆCð �vŠ~ˆ~Ø—’˜Ñ(Ô(Ð(ØˆJr>   c                 ó:   •— dt           j        ddœ|¥} ‰| fi |¤ŽS )NTF)rª  r§  r0  ©r)   r  )ri   rq   r   s     €r<   Úpkz/ComponentReflectionTest.exp_columns.<locals>.pk¢  s-   ø€ Ø­4¬8ÀÐMÐMÈ"ÐMˆBØ�3�t�?�?˜r�?�?Ð"r>   rš  r:  r¨  )rª  r0  r;  r>  rK   r›  rE  rF  rœ  r,  r-  r/  r1  r2  r—   rH   ri   rµ   r+  r9  rD  rK  rL  rN  rM  rO  rP  rQ  rS  rU  rW  rX  rY  rZ  r[  r^  r_  r`  r�  )rz   rO   r1   r¦   r!  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ˆØˆ
r>   c                 ó
   — h d£S )N>   ri   r¦  r§  r0  rC   ©rz   s    r<   Ú_required_column_keysz-ComponentReflectionTest._required_column_keysì  s   € à6Ð6Ð6Ð6r>   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 )Nr6  c                 ó(   — t          |¦  «        | |dœS )N)Úconstrained_columnsri   râ   )Úlist)ri   râ   Úcolss      r<   r­  z+ComponentReflectionTest.exp_pks.<locals>.pk÷  s    € å'+¨D¡z¤zØØ"ðð ð r>   rá   rš  r:  r›  rœ  r—   r+  r,  r9  rD  r;  rI  rJ  rK  rH   rU  rW  rY  r[  r^  r`  ri   )r)   r  r   rP   Úmaterialized_views_reflect_pkr5   r…  rf   Úreflects_pk_namesr—  r‚  r˜  )rz   rO   r1   r¦   r!  r­  r¡  r{  rœ   r¶   Úvalr÷   s               r<   Úexp_pkszComponentReflectionTest.exp_pksð  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ˆØˆ
r>   c                 ó
   — ddhS )Nri   r´  rC   r°  s    r<   Ú_required_pk_keysz)ComponentReflectionTest._required_pk_keys   s   € àÐ-Ð.Ð.r>   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:   rw   rg  )rz   rË   s     r<   Ú__eq__z2ComponentReflectionTest.exp_fks.<locals>.tt.__eq__,  s$   € à˜T�Mð FÝ”yÔ(Ô<ÀÒEðr>   N©r?   r@   rA   rÁ  rC   r>   r<   r¤   r¿  +  s#   € € € € € ðð ð ð ð r>   r¤   c                 óD   •— | ||t           j        |�|n	 ‰¦   «         ||dœS )N)r´  Úreferred_columnsri   r2   Úreferred_schemaÚreferred_tablerâ   r¬  )r¶  Úref_colÚ	ref_tableÚ
ref_schemari   râ   r¤   s         €r<   Úfkz+ComponentReflectionTest.exp_fks.<locals>.fk2  s>   ø€ ð (,Ø$+ØÝœ8àÐ)ð $. :à�R‘T”TØ"+Ø"ð
ð 
ð 
r>   rš  r›  rœ  r—   r+  r2  r,  r*  rá   r9  r>  r;  rD  r<  r=  r6  rE  rK  rU  rW  rX  rH   r[  )rÉ  rY  rZ  r^  r`  ri   )r)   r  r…  r   rR   rf   r   rP   rc  r5   r„  Únamed_constraintsr—  r‚  r˜  )rz   rO   r1   r¦   r!  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ˆØˆ
r>   c                 ó
   — h d£S )N>   ri   rÆ  rÅ  rÄ  r´  rC   r°  s    r<   Ú_required_fk_keysz)ComponentReflectionTest._required_fk_keys|  s   € ð
ð 
ð 
ð 	
r>   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)r@  Ú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 )NrC   )r@  Úcolumn_namesri   Údialect_optionsÚinclude_columnsrÑ  rÔ  Úexpressionsc                 ó    •— g | ]
}|‰v rd n|‘ŒS r“   rC   )r�  r£   rÑ  s     €r<   ú
<listcomp>zDComponentReflectionTest.exp_indexes.<locals>.idx.<locals>.<listcomp>ª  s4   ø€ ð +ð +ð +Ø?@  ^Ð 3Ð 3˜˜¸ð+ð +ð +r>   Úduplicates_constraint)	r   rP   Úforeign_keys_reflect_as_indexÚ#unique_constraints_reflect_as_indexÚ*reflect_indexes_with_ascdesc_as_expressionr5   rµ  r)   r  )ri   r@  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ˆLr>   rš  r›  rœ  r—   rK   rv  rá   r+  r2  r*  T)ri   rÊ  r,  r1  r-  r]  r\  )ri   r@  r9  )ri   r@  rÒ  r>  r;  r:  rB  rD  rF  rE  rK  rU  rW  rX  rY  rZ  r[  r^  r_  ra  )rk  )ri   rÑ  r`  rb  rµ   rr  ri   rq  )ri   rÒ  r@  )r…  Úextendr)   r  rf   r   rd   r   rP   ri  r5   rj  r„  r‚  r˜  )
rz   rO   r1   r¦   r!  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ˆØˆ
r>   c                 ó
   — h d£S )N>   ri   r@  rÔ  rC   r°  s    r<   Ú_required_index_keysz,ComponentReflectionTest._required_index_keysû  s   € à1Ð1Ð1Ð1r>   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 )NrC   )rÔ  ri   râ   rç  )r   rP   Ú*unique_index_reflect_as_unique_constraintsr5   rµ  )ri   rç  rè  râ   r¶  Úreqr÷   s          r<   Úucz+ComponentReflectionTest.exp_ucs.<locals>.uc  s\   € õ Ô"ÔMˆCØð  ¤ð Ø�rå $ T¡
¤
ØØ"ðð ˆCð
  ð ;Ø*:�Ð&Ñ'Ø�5ˆLr>   rš  r›  rœ  r—   r+  r-  r1  r\  T)ri   rç  rè  r9  rK   )ri   rç  r;  r:  rB  rC  )ri   rç  râ   rD  rK  rU  rW  rY  r[  r^  r`  ri   rq  rá   )r…  r)   r  rf   r   rd   r‚  r˜  )rz   rO   r1   r¦   r!  Ú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ØˆJr>   c                 ó
   — ddhS )Nri   rÔ  rC   r°  s    r<   Ú_required_unique_cst_keysz1ComponentReflectionTest._required_unique_cst_keysD  s   € à˜Ð'Ð'r>   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ú(r)  ú)ú`)ÚlowerÚreplace)rz   rË   r÷   s      r<   rÁ  z2ComponentReflectionTest.exp_ccs.<locals>.tt.__eq__P  sK   € à—K’K‘M”Mß’W˜S "Ñ%Ô%ß’W˜S "Ñ%Ô%ß’W˜S "Ñ%Ô%ð	 ð ˜s�{Ð"r>   NrÂ  rC   r>   r<   r¤   ró  O  s#   € € € € € ð#ð #ð #ð #ð #r>   r¤   c                 ó"   •—  ‰| ¦  «        ||dœS )N)Úsqltextri   râ   rC   )r   ri   râ   r¤   s      €r<   Úccz+ComponentReflectionTest.exp_ccs.<locals>.ccY  s   ø€ Ø!˜r $™xœx°À'ÐJÐJÐJr>   rš  r›  rœ  r—   r+  r7  r3  r4  r5  rN  r9  z$address_id > 0 and address_id < 1000rA  rá   rD  rK  rU  rW  rY  r[  r^  r`  r“   )Ústrr…  r)   r  rf   r‚  r˜  )rz   rO   r1   r¦   r!  rü  r{  rœ   r¶   r÷   r¤   s             @r<   Úexp_ccszComponentReflectionTest.exp_ccsH  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ˆØˆ
r>   c                 ó
   — ddhS )Nri   rû  rC   r°  s    r<   Ú_required_cc_keysz)ComponentReflectionTest._required_cc_keys‚  s   € à˜	Ð"Ð"r>   c                 óˆ   — t          |¦  «        }t          t          j        j        |                     ¦   «         v ¦  «         d S r“   )r   r(   r   r   rR   Ú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ÐFr>   c                 óÊ   — t          |¦  «        }t          |                     t          j        j        ¦  «        ¦  «         t          |                     d¦  «        ¦  «         d S )NÚsa_fake_schema_foo)r   r(   Ú
has_schemar   r   rR   r'   r�   s      r<   Útest_has_schemaz'ComponentReflectionTest.test_has_schemaŒ  sO   € å�zÑ"Ô"ˆå�—’¥¤Ô :Ñ;Ô;Ñ<Ô<Ð<Ý�—’Ð!5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r>   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   rR   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ÐFr>   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   rR   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Ð7r>   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 )Nrg  )r   r7   r   Úhasattrrw   )rz   Úengines     r<   Útest_dialect_initializez/ComponentReflectionTest.test_dialect_initialize¿  s:   € åÔ'Ñ)Ô)ˆÝ�‰ŒˆÝ�v”~Ð'<Ñ=Ô=Ð=Ð=Ð=Ð=Ð=r>   c                 ób   — t          |¦  «        }t          |j        |j        j        ¦  «         d S r“   )r   r   rg  rw   r�   s      r<   Útest_get_default_schema_namez4ComponentReflectionTest.test_get_default_schema_nameÅ  s.   € å�zÑ"Ô"ˆÝˆDÔ$ jÔ&8Ô&LÑMÔMÐMÐMÐMr>   Ú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>   rW  rK  rY  rU  r[  r`  r^  c                 ó.   — g | ]}|d          ¯
|d          ‘ŒS )r   rC   )r�  Úrecs     r<   rÙ  z@ComponentReflectionTest.test_get_table_names.<locals>.<listcomp>å  s6   € ð ð ð àØ�q”6ðØ�A”ðð ð r>   c                 ó   •— g | ]}|‰v¯|‘Œ	S rC   rC   )r�  ÚtÚ_ignore_tabless     €r<   rÙ  z@ComponentReflectionTest.test_get_table_names.<locals>.<listcomp>ì  s#   ø€ ÐDÐDÐD˜Q¨A°^Ð,CÐ,C�qÐ,CÐ,CÐ,Cr>   r  rt  )r9  rD  r+  )r   rR   r   Úget_sorted_table_and_fkc_namesÚget_table_namesr   Úsorted)
rz   r�   r  r  rO   rƒ   r¶   Útable_namesÚ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Ñ,Ô,Ð,Ð,Ð,r>   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   rR   Úget_view_namesr   rP   rx  r5   r   r%  Úget_materialized_view_names)rz   r�   r  rƒ   rO   r&  r'  s          r<   Útest_get_view_namesz+ComponentReflectionTest.test_get_view_namesõ  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Ñ,Ô,Ð,Ð,Ð,r>   c                 ó¢   — t          |¦  «        }|                     ¦   «         }t          t          |¦  «        dt          j        › �g¦  «         d S ra   )r   Úget_temp_table_namesr   r%  r   rd   ©rz   r�   rƒ   r•  s       r<   Útest_get_temp_table_namesz1ComponentReflectionTest.test_get_temp_table_names  sN   € å�zÑ"Ô"ˆØ×4Ò4Ñ6Ô6ÐÝ�FÐ#Ñ$Ô$Ð'Aµ6´<Ð'AÐ'AÐ&BÑCÔCÐCÐCÐCr>   c                 óˆ   — t          |¦  «        }|                     ¦   «         }t          t          |¦  «        dg¦  «         d S r–   )r   Úget_temp_view_namesr   r%  r/  s       r<   Útest_get_temp_view_namesz0ComponentReflectionTest.test_get_temp_view_names  sD   € õ �zÑ"Ô"ˆØ×3Ò3Ñ5Ô5ÐÝ�FÐ#Ñ$Ô$ | nÑ5Ô5Ð5Ð5Ð5r>   c                 ó0   — |                       |¦  «         d S r“   )Ú_test_get_comments©rz   r�   s     r<   Útest_get_commentsz)ComponentReflectionTest.test_get_comments  s   € à×Ò 
Ñ+Ô+Ð+Ð+Ð+r>   c                 óP   — |                       |t          j        j        ¦  «         d S r“   )r5  r   r   rR   r6  s     r<   Útest_get_comments_with_schemaz5ComponentReflectionTest.test_get_comments_with_schema  s%   € ð 	×Ò 
­G¬NÔ,FÑGÔGÐGÐGÐGr>   c                 óÚ  — t          |¦  «        }|                      |¬¦  «        }t          |                     d|¬¦  «        ||df         ¦  «         t          |                     d|¬¦  «        ||df         ¦  «         t          |                     d|¬¦  «        ||df         ¦  «         | j        j        j        }t          |                     ||¬¦  «        |||f         ¦  «         d S )NrN   rK  r+  )r   r¢  r   r  r¶   rU  ri   )rz   r�   rO   rƒ   ÚexpÚno_csts         r<   r5  z*ComponentReflectionTest._test_get_comments  s  € Ý�zÑ"Ô"ˆØ×Ò vÐÑ.Ô.ˆÝØ×"Ò" >¸&Ð"ÑAÔAØ�˜Ð(Ô)ñ	
ô 	
ð 	
õ
 	Ø×"Ò" 7°6Ð"Ñ:Ô:Ø�˜Ð!Ô"ñ	
ô 	
ð 	
õ
 	Ø×"Ò" >¸&Ð"ÑAÔAØ�˜Ð(Ô)ñ	
ô 	
ð 	
ð
 ”Ô+Ô0ˆÝØ×"Ò" 6°&Ð"Ñ9Ô9Ø�˜Ð Ô!ñ	
ô 	
ð 	
ð 	
ð 	
r>   )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š  r+  rD  rN   r   ri   r¦  rw  rõ  z), rö  r§  )"r   rR   r¶   r+  rD  r   Úziprþ   r(   ÚlenÚ	enumerateÚcolumnsr   ri   Ú	__class__r¦  rõ   rl   r   Ú
TypeEnginer   rz  Ú	sql_typesÚDateÚDateTimery  Ú__mro__Úintersectionr   ÚNumericÚTimer   Ú_BinaryrJ   )rz   r�   Ú	use_viewsr  rO   r+  Ú	addressesr&  rƒ   rr   ÚtableÚschema_namer¶  Úir   ÚctypeÚ	ctype_defs                    r<   rÿ   z(ComponentReflectionTest.test_get_columns4  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ð /	6r>   c                 ó´   — |                       ¦   «         }| j        |         }t          |t          ¦   «         |¬¦  «        }|                      ||d¬¦  «         d S )NrÎ   F)Ústrict_constraints)rf   r¶   r   r   Úassert_tables_equal)rz   r�   rr   rs   Úreflected_user_tmps        r<   Útest_reflect_table_temp_tablez5ComponentReflectionTest.test_reflect_table_temp_table€  sp   € à×)Ò)Ñ+Ô+ˆ
Ø”;˜zÔ*ˆå"Ø�™
œ
°*ð
ñ 
ô 
Ðð 	× Ò ØÐ(¸Uð 	!ñ 	
ô 	
ð 	
ð 	
ð 	
r>   c                 ób  — |                       ¦   «         }| j        |         }t          |¦  «        }|                     |¦  «        }t	          t          |¦  «        dk    t          |¦  «        ¦  «         t          |j        ¦  «        D ]&\  }}t          |j	        ||         d         ¦  «         Œ'd S )Nr   ri   )
rf   r¶   r   rþ   r(   r@  rA  rB  r   ri   )rz   r�   rr   rs   rƒ   r¶  rQ  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œ' &œ/Ñ*Ô*Ð*Ð*ð	+ð 	+r>   c                 ó†   — t          |¦  «        }|                     d¦  «        }t          d„ |D ¦   «         g d¢¦  «         d S )Nr—   c                 ó   — g | ]
}|d          ‘ŒS rá   rC   ©r�  r   s     r<   rÙ  zFComponentReflectionTest.test_get_temp_view_columns.<locals>.<listcomp>�  s   € Ð)Ð)Ð)˜SˆS�Œ[Ð)Ð)Ð)r>   )rH   ri   rµ   )r   rþ   r   )rz   r�   rƒ   r¶  s       r<   Útest_get_temp_view_columnsz2ComponentReflectionTest.test_get_temp_view_columns—  sP   € õ �zÑ"Ô"ˆØ×Ò Ñ-Ô-ˆÝÐ)Ð) DÐ)Ñ)Ô)Ð+@Ð+@Ð+@ÑAÔAÐAÐAÐAr>   ©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 )NrN   r´  ri   rI  )r   r   rR   r¶   r+  rD  r   rº  r  ri   Ú_check_listr¼  r   rP   r¸  Úfail_ifrU  )rz   r�   r  rO   r+  rN  rƒ   r;  Ú
users_consÚ	addr_consÚexp_colsr<  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 )NrN   r   ri   r*  rÅ  rÆ  rÄ  r,  r´  r2  rE  )r   rR   r¶   r+  rD  r   r   rP   rc  r5   r  ri   rË  rb  r   Úimplicitly_named_constraintsr(   rU  )rz   r�   r  rO   r+  rN  rƒ   Úexpected_schemaÚusers_fkeysÚfkey1Ú
addr_fkeysr<  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Ä  rH   r´  rX  rN   rZ  )r¶   rw   rg  r   r   rR   r   r  ri   r   r@  r(   )
rz   r�   rW  rY  r[  rƒ   Úlocal_fkeysrj  Úremote_fkeysÚfkey2s
             r<   Ú"test_get_inter_schema_foreign_keysz:ComponentReflectionTest.test_get_inter_schema_foreign_keysê  s¼  € ð 59·K²KØ˜zÔ1ÔEÑEØ¥¤Ô :Ñ:Ø¥'¤.Ô"<Ñ<ñ5
ô 5
Ñ1ˆ�\ >õ �zÑ"Ô"ˆà×+Ò+¨KÔ,<Ñ=Ô=ˆÝ�C�ÑÔ˜aÑ Ô Ð à˜A”ˆÝˆEÐ#Ô$¥g¤nÔ&@ÑAÔAÐAÝˆEÐ"Ô# ^Ô%8Ñ9Ô9Ð9ÝˆEÐ$Ô%¨ vÑ.Ô.Ð.ÝˆEÐ'Ô(¨;¨-Ñ8Ô8Ð8à×,Ò,ØÔ¥g¤nÔ&@ð -ñ 
ô 
ˆõ 	�C�ÑÔ˜qÑ!Ô!Ð!à˜Q”ˆåØÐ#Ô$àØÔ"Ô6ððñ	
ô 	
ð 	
õ 	ˆEÐ"Ô# [Ô%5Ñ6Ô6Ð6ÝˆEÐ$Ô%¨ vÑ.Ô.Ð.ÝˆEÐ'Ô(¨:¨,Ñ7Ô7Ð7Ð7Ð7r>   c                 ó|  — |rt           j        }nd }t          |¦  «        }|                     d|¬¦  «        }|                      |¬¦  «        }|                      |||df         | j        ¦  «         | j        j        j	        }|                      |                     ||¬¦  «        |||f         | j        ¦  «         d S )Nr+  rN   )
r   rR   r   r  rã  ra  rå  r¶   rU  ri   )rz   r�   r  rO   rƒ   Úindexesr;  r<  s           r<   r	  z(ComponentReflectionTest.test_get_indexes  sÞ   € ð
 ð 	ÝÔ'ˆFˆFàˆFõ �zÑ"Ô"ˆØ×"Ò" 7°6Ð"Ñ:Ô:ˆØ×Ò fÐÑ-Ô-ˆØ×ÒØ�S˜& 'Ð*Ô+¨TÔ-Fñ	
ô 	
ð 	
ð ”Ô+Ô0ˆØ×ÒØ×Ò˜V¨FÐÑ3Ô3Ø�˜Ð Ô!ØÔ%ñ	
ô 	
ð 	
ð 	
ð 	
r>   )r^  ra  )r`  rb  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ã  ra  rå  r   r   r   r@  rr  r   rµ  rO  ri   )rz   r�   ÚtnameÚixnamerƒ   rr  Ú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Ñ,Ô,Ð,Ð,Ð,r>   c                 óê   — t          |¦  «        }|                      ¦   «         }|                     |¦  «        }|                      d¬¦  «        d |f         }|                      ||| j        ¦  «         d S )NT)rí  )r   rf   r  rî  ra  rå  )rz   r�   rƒ   ri   Ú	reflectedr;  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ÐCr>   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µ   rr  )r@  rÔ  ri   r   rÖ  c                 ó*   — g | ]}|d          dk    ¯|‘ŒS )ri   rr  rC   ©r�  r¹   s     r<   rÙ  zGComponentReflectionTest.test_get_temp_table_indexes.<locals>.<listcomp>V  s&   € ÐDÐDÐD�S s¨6¤{°mÒ'CÐ'CˆSÐ'CÐ'CÐ'Cr>   )	r   rf   r  r©  r   rP   Úindex_reflects_included_columnsr5   r   )rz   r�   rƒ   rr   rr  ÚindÚexpecteds          r<   Útest_get_temp_table_indexesz3ComponentReflectionTest.test_get_temp_table_indexesI  sÂ   € å�zÑ"Ô"ˆØ×)Ò)Ñ+Ô+ˆ
Ø×"Ò" :Ñ.Ô.ˆØð 	-ð 	-ˆCØ�GŠGÐ% tÑ,Ô,Ð,Ð,à¨u¨g¸}ÐMÐMð
ˆõ ÔÔ;ÔCð 	0Ø-/ˆH�QŒKÐ)Ñ*ÝØDÐD˜GÐDÑDÔDØñ	
ô 	
ð 	
ð 	
ð 	
r>   c                 ó2  — |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 ]f\  }}|                     dd ¦  «        }|r|
                     |¦  «         t!          |                     dd ¦  «        d ¦  «         t!          ||¦  «         Œgt+          ¦   «         }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¬   )ri   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£   ri   ©rÇ   ÚtesttblrG  r?  rN   rÔ  rç  râ   )rÏ   rO   c                 ó   — h | ]	}|j         ’Œ
S rC   rá   r}  s     r<   ú	<setcomp>zFComponentReflectionTest.test_get_unique_constraints.<locals>.<setcomp>¥  s   € Ð;Ð;Ð; #�S”XÐ;Ð;Ð;r>   c                 óP   — h | ]#}t          |t          j        ¦  «        ¯|j        ’Œ$S rC   )rõ   rl   rè   ri   )r�  Úuqs     r<   rŒ  zFComponentReflectionTest.test_get_unique_constraints.<locals>.<setcomp>¦  s=   € ð 
ð 
ð 
àÝ˜"�bÔ1Ñ2Ô2ð
ØŒGð
ð 
ð 
r>   )r   rR   r%  ÚoperatorÚ
itemgetterr   r   rl   r   r   Úappend_constraintrè   r€   r   r  ry  r   r@  r?  r©  r”  r   rr  ÚconstraintsÚ
differencerI  r¶   rU  ri   )rz   rX   r�   r  rO   ÚuniquesrO  rì  rƒ   ry  Únames_that_duplicate_indexrá  ÚreflÚdupeÚreflected_metadataÚ	idx_namesÚuq_namesr<  s                     r<   r  z3ComponentReflectionTest.test_get_unique_constraintsZ  sX  € ð ð 	ÝÔ'ˆ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Ý��d‰OŒOˆOˆOå%™ZœZÐÝØØØ$Øð	
ñ 
ô 
ˆ	ð <Ð;¨Ô):Ð;Ñ;Ô;ˆ	ð
ð 
àÔ+ð
ñ 
ô 
÷ Š*�nÐ%Ñ
&Ô
&ð	 	ð ×)Ò)¨(Ñ3Ô3Ð3Ð3Ð3Ø%ð 	!ÝÐ*¨IÑ6Ô6Ð6Ý��#™%œ%Ñ Ô Ð à”Ô+Ô0ˆÝˆD×'Ò'¨°vÐ'Ñ>Ô>ÀÑCÔCÐCÐCÐCr>   c                 ó¶   — |rt           j        }nd }t          |¦  «        }dD ]5}|                     ||¬¦  «        }t	          t          |¦  «        ¦  «         Œ6d S )Nr>  rN   )r   rR   r   rú   r(   Úbool)rz   r�   r  rO   rƒ   Úviewr�  s          r<   rü   z0ComponentReflectionTest.test_get_view_definition´  sp   € ð
 ð 	ÝÔ'ˆFˆFàˆFÝ�zÑ"Ô"ˆØDð 	ð 	ˆDØ×(Ò(¨°fÐ(Ñ=Ô=ˆAÝ•D˜‘G”GÑÔÐÐð	ð 	r>   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_existr+  )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.

        ))r+  r,  )rD  r;  )r9  r:  c                 ó    — i | ]}|d          |“ŒS rá   rC   ©r�  r£   s     r<   r“  zBComponentReflectionTest.test_autoincrement_col.<locals>.<dictcomp>à  s   € Ð.Ð.Ð. A�1�V”9˜aÐ.Ð.Ð.r>   r¥  TN)r   rþ   Úget)rz   r�   rƒ   rt  Ú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ð 	2r>   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 )Nr+  rN   rU  )r   r   r:   rR   r   rP   ró   r5   rô   r(   rõ   r8   r   rö   )rz   r  rƒ   rO   r÷   s        r<   rø   z.ComponentReflectionTest.test_get_table_optionsã  s=  € õ •v”yÑ!Ô!ˆØ'1Ð;•Ô#Ð#°tˆåÔÔ1Ô9ð 	EØ×(Ò(¨¸Ð(Ñ@Ô@ˆCÝ•J˜s¥DÑ)Ô)Ñ*Ô*Ð*à×(Ò(Ð)9À&Ð(ÑIÔIˆCÝ•J˜s¥DÑ)Ô)Ñ*Ô*Ð*Ð*Ð*åÕ2Ñ3Ô3ð Eð EØ×,Ò,¨W¸VÐ,ÑDÔD�ðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð E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 )NrN   c                 óD   •— i | ]}‰|f‰                      |‰¬ ¦  «        “ŒS )rN   )rô   )r�  rO  rƒ   rO   s     €€r<   r“  zHComponentReflectionTest.test_multi_get_table_options.<locals>.<dictcomp>û  sB   ø€ ð ð ð àð ˜� ×!7Ò!7¸ÀfÐ!7Ñ!MÔ!Mðð ð r>   )r   r   r:   r   rP   ró   r5   rR   Úget_multi_table_optionsr$  r   r   rö   )rz   r  r÷   r;  rƒ   rO   s       @@r<   Útest_multi_get_table_optionsz4ComponentReflectionTest.test_multi_get_table_optionsô  s!  øø€ å•v”yÑ!Ô!ˆÝÔÔ1Ô9ð 	5Ø+5Ð?•VÔ'Ð'¸4ˆFØ×.Ò.°fÐ.Ñ=Ô=ˆCðð ð ð ð à!×1Ò1¸Ð1Ñ@Ô@ðñ ô ˆCõ ��S‰MŒMˆMˆMˆMåÕ2Ñ3Ô3ð 5ð 5Ø×2Ò2Ñ4Ô4�ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   Â!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 )NrD  )r1   r¦   )rK  r+  údoes-not-existr›  r¯  rš  rO   r!  )rO   r1   r¦   r!  r1   r¦   )r   r   r  râ  r  r  r¤  r   r  Úcopyr©  Úappend)rO   r1   r¦   r  Úsingle_reflect_fnÚ
exp_methodrƒ   rq   r!  r;  ÚkwsÚnkwr�   s               €r<   Úprovide_fixturez>ComponentReflectionTest.get_multi_exp.<locals>.provide_fixture  s²  ø€ õ ˜:Ñ&Ô&ˆDð Ð˜dÐ$5Ñ6Ô6Ð6Ø ¨$Ð/Ð/ˆBØð "Ø˜™œ�àˆLåÔ 4Ð'Ð'Ø×#Ò#Ø?Ð?Ð?ñô ð õ Œ $Ð&Ð&Ø×#Ò#Ð%8Ð:JÐ$KÑLÔLÐLÝÔ+¨tÐ3Ð3Ø×#Ò# ^Ð5EÐ$FÑGÔGÐGàð &Ø%��8‘Øð 2Ø%1��>Ñ"à�*ØØØØŸVšV NÑ3Ô3ð	ñ ô ˆCð �$ˆCØ�Ô+Ò+Ð+Ø—g’g‘i”i�Ø—’˜Ñ Ô Ð Ø—
’
˜3‘”�Ø•zÔ'Ò'Ð'Ø—g’g‘i”i�Ø—’˜‘”�Ø—
’
˜3‘”�å˜:Ñ&Ô&¨¨SÐ0Ð0r>   rC   )rz   r�   r¶  s    ` r<   Úget_multi_expz%ComponentReflectionTest.get_multi_exp  s%   ø€ ð,	1ð ,	1ð ,	1ð ,	1ð ,	1ð\ Ðr>   c                 ó¸   —  |||||t           j        | j        ¦  «        \  }}}|D ]3}	|                     ¦   «           |j        di |	¤Ž}
t          |
|¦  «         Œ4d S ©NrC   )r   rô   rž  r�   r«  r   ©rz   r·  rO   r1   r¦   r  rƒ   r´  r;  rq   Úresults              r<   Ú#test_multi_get_table_options_tablesz;ComponentReflectionTest.test_multi_get_table_options_tables6  s‹   € ð
 '˜ØØØØÝÔ'ØÔñ
ô 
‰ˆˆc�3ð ð 	ð 	ˆBØ×ÒÑÔÐØ1�TÔ1Ð7Ð7°BÐ7Ð7ˆFÝ�˜ÑÔÐÐð	ð 	r>   c                 ó´   —  |||||t           j        | j        ¦  «        \  }}}|D ]1}	|                     ¦   «          t	           |j        di |	¤Ž|¦  «         Œ2d S r¹  )r   r  r¢  r�   r   Úget_multi_table_comment)
rz   r·  rO   r1   r¦   r  rƒ   r´  r;  rq   s
             r<   Útest_get_multi_table_commentz4ComponentReflectionTest.test_get_multi_table_commentH  s‡   € ð
 '˜ØØØØÝÔ'ØÔñ
ô 
‰ˆˆc�3ð ð 	9ð 	9ˆBØ×ÒÑÔÐÝÐ,�Ô,Ð2Ð2¨rÐ2Ð2°CÑ8Ô8Ð8Ð8ð	9ð 	9r>   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['\" ]r)  )ÚreÚsubrø  )r   s    r<   Ú_cleanz:ComponentReflectionTest._check_expressions.<locals>._cleanZ  s"   € Ý”6˜) R¨Ñ.Ô.×4Ò4Ñ6Ô6Ð6r>   c                 ó.   •— i | ]\  }} ‰|¦  «        |“ŒS rC   rC   )r�  Úer�  rÄ  s      €r<   r“  z>ComponentReflectionTest._check_expressions.<locals>.<dictcomp>^  s'   ø€ Ð9Ð9Ð9¡$ ! Q��˜‘”˜AÐ9Ð9Ð9r>   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rC   rC   )r�  rÆ  rÄ  s     €r<   rÙ  z>ComponentReflectionTest._check_expressions.<locals>.<listcomp>`  s!   ø€ Ð+Ð+Ð+˜q��˜‘”Ð+Ð+Ð+r>   )rý  rõ   r8   r   r–  )rz   r»  r;  Úerr_msgrÄ  s       @r<   Ú_check_expressionsz*ComponentReflectionTest._check_expressionsY  s”   ø€ ð	7�ð 	7ð 	7ð 	7ð 	7õ �c�4Ñ Ô ð 	;ÝÐ9Ð9Ð9Ð9¨&¯,ª,©.¬.Ð9Ñ9Ô9¸3ÀÑHÔHÐHÐHÐHåÐ+Ð+Ð+Ð+ FÐ+Ñ+Ô+¨S°'Ñ:Ô:Ð:Ð:Ð:r>   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?  ry  rÉ  )	rz   r»  r;  Úreq_keysÚmsgÚrrÆ  r­   rÈ  s	            r<   ra  z#ComponentReflectionTest._check_listb  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ð 5r>   c                 ó  — t          t          |                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        ¦  «         |D ]2}||         ||         }}|r|g|g}}|                      ||||¦  «         Œ3d S r“   )r   ry  Úkeysra  )rz   r»  r;  rË  Ú
make_listsr­   rÍ  rÆ  s           r<   Ú_check_table_dictz)ComponentReflectionTest._check_table_dictp  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ð 	0r>   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_columnsx  sš   € ð '˜ØØØØÝÔ!ØÔñ
ô 
‰ˆˆc�3ð ð 	Lð 	LˆBØ×ÒÑÔÐØ+�TÔ+Ð1Ð1¨bÐ1Ð1ˆFØ×"Ò" 6¨3°Ô0JÑKÔKÐKÐKð	Lð 	Lr>   c                 óÔ   —  |||||t           j        | j        ¦  «        \  }}}|D ]A}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|| j        d¬¦  «         ŒBd S )NT)rÐ  rC   )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Àð #ñ ô ð ð ð	ð 	r>   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 )ri   N)r¤  r)   r  )r�  r�  s     r<   ú	<genexpr>z7ComponentReflectionTest._adjust_sort.<locals>.<genexpr>¢  sI   è è € ð ,ð ,Ø>?˜Ÿš˜f™œ¨$µ´Ð)9Ð9ð,ð ,ð ,ð ,ð ,ð ,r>   r‰  )r   rP   rg  r5   r—  r@  ÚanyÚsort)rz   r»  r€  rÇ   Úobjr¹  s         r<   Ú_adjust_sortz$ComponentReflectionTest._adjust_sortž  s§   € ÝÔÔ<ÔDð 	*Ø Ð)ð *ð *�ØŸ:š:™<œ<ð *ð *�CÝ˜3‘x”x !’|�|­ð ,ð ,ØCFð,ñ ,ô ,ñ )ô )�|ð Ÿš S˜Ñ)Ô)Ð)øð	*ð	*ð 	*ð*ð *r>   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€ r>   rC   )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r>   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r>   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€ r>   rC   )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r>   c                 ó   —  |||||t           j        | j        ¦  «        \  }}}|D ]W}	|                     ¦   «           |j        di |	¤Ž}
|                      |
|d„ ¦  «         |                      |
|| j        ¦  «         ŒXd S )Nc                 ó,   — t          | d         ¦  «        S )Nrû  rá  rã  s    r<   r®   zJComponentReflectionTest.test_get_multi_check_constraints.<locals>.<lambda>ñ  s   € µU¸1¸Y¼<Ñ5HÔ5H€ r>   rC   )r   r  rþ  r�   Úget_multi_check_constraintsrÞ  rÑ  r   rº  s              r<   Ú test_get_multi_check_constraintsz8ComponentReflectionTest.test_get_multi_check_constraintsá  sµ   € ð
 '˜ØØØØÝÔ+ØŒLñ
ô 
‰ˆˆc�3ð ð 	Hð 	HˆBØ×ÒÑÔÐØ5�TÔ5Ð;Ð;¸Ð;Ð;ˆFØ×Ò˜f cÐ+HÐ+HÑIÔIÐIØ×"Ò" 6¨3°Ô0FÑGÔGÐGÐGð		Hð 	Hr>   rô   rþ   r  r  r  r  r  r  Ú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   )rz   rò  r�   rƒ   r¸   s        r<   Útest_not_existing_tablez/ComponentReflectionTest.test_not_existing_tableô  s¤   € õ0 �zÑ"Ô"ˆÝ�t˜VÑ$Ô$ˆÝÕ+Ñ,Ô,ð 	*ð 	*ØˆDÐ(Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ´AÁAÁAc           	      ó|  ‡— t           j        Šˆfd„}t          j                             t           d|¦  «        5  t          t          d¦  «        5  t          |¦  «                             t          dt          ¦   «         ¦  «        d ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  ód   •— |                      di ¦  «        }t          d¦  «        |d<    ‰| i |¤ŽS )NÚunreflectableÚerr)NÚ
some_table)Ú
setdefaultr    )r¬   r­   ÚurÚmcs      €r<   Úpatchedz;ComponentReflectionTest.test_unreflectable.<locals>.patched	  s;   ø€ Ø—’˜o¨rÑ2Ô2ˆBÝ'>¸uÑ'EÔ'EˆBÐ#Ñ$Ø�2�q�;˜A�;�;Ðr>   rÓ  rú  rû  )r   rÓ  r)   ÚpatchÚobjectr   r    r   Úreflect_tabler   r   )rz   r�   rÿ  rþ  s      @r<   Útest_unreflectablez*ComponentReflectionTest.test_unreflectable	  s>  ø€ ÝÔ(ˆð	ð 	ð 	ð 	ð 	õ
 ŒZ×Ò�yÐ*=¸wÑGÔGð 	ð 	Ý&Õ'>ÀÑFÔFð ð Ý˜
Ñ#Ô#×1Ò1Ý˜,­©
¬
Ñ3Ô3°Tñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s5   ¹B1Á>BÂB1ÂB	ÂB1Â B	Â!B1Â1B5Â8B5rœ   c                 óÄ  ‡— t          ¦   «         }|rt          j        nd Š|                     |‰|d¬¦  «         t	          |¦  «        }|                     ‰¦  «        }|rB||                     ‰¦  «        z  }	 ||                     ‰¦  «        z  }n# t          $ r Y nw xY w‰rˆfd„|D ¦   «         }t          t          |j        ¦  «        t          |¦  «        ¦  «         d S )NF)rO   rœ   Úresolve_fksc                 ó   •— g | ]	}‰› d |› �‘Œ
S )r(  rC   )r�  r!  rO   s     €r<   rÙ  z9ComponentReflectionTest.test_metadata.<locals>.<listcomp>1	  s#   ø€ Ð6Ð6Ð6¨!˜�o�o !�o�oÐ6Ð6Ð6r>   )r   r   rR   Úreflectr   r$  r*  r+  rö   r   r%  r¶   )rz   r�   r  rœ   Úmrƒ   r¶   rO   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   Ã©è©¦è›‡áºŸÎ©rN  Úemojiu	   â˜�ï¸�âœ¨u   è©¦è›‡áºŸÎ©âœ¨r   c                 ó,   — i | ]}|d          |d         “ŒS r6  rC   r£  s     r<   r“  zAComponentReflectionTest.test_comments_unicode.<locals>.<dictcomp>E	  s"   € Ð7Ð7Ð7¨Q��6”˜A˜iœLÐ7Ð7Ð7r>   )r  r  ©r   r   r   rÓ   r   r  r   rþ   )rz   r�   rX   rƒ   Útcr¶  Úvaluer;  s           r<   Útest_comments_unicodez-ComponentReflectionTest.test_comments_unicode4	  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‰Œˆˆˆr>   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&   ðŸ��ðŸ§™ðŸ��ðŸ§™â€�â™‚ï¸�ðŸ§™â€�â™€ï¸�rN  u&   ðŸŽ©ðŸ�°ðŸ�‘ðŸ¤·â€�â™€ï¸�ðŸ¤·â€�â™‚ï¸�r   r   ri   râ   r  )rz   r�   rX   rƒ   r  r£   s         r<   Útest_comments_unicode_fullz2ComponentReflectionTest.test_comments_unicode_fullI	  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Ñ[Ô[Ð[Ð[Ð[r>   r“   r*   )NF)mr?   r@   rA   Úrun_insertsÚrun_deletesr›   rB   rY   r&  rf   rV   rT   r‚  r…  r˜  r   r  r   rž  r¢  r®  Úpropertyr±  rº  r¼  rÍ  rÏ  rã  rå  rî  rð  rþ  r   r   rP   Úschema_reflectionr  r  r  r  Úschema_create_deleter  r  r  r¿   Ú!foreign_key_constraint_reflectionrQ   r(  r,  r•  r0  rS   ro   r3  r  r7  r9  r5  rÿ   rl  rX  rZ  rë   r^  Ú!primary_key_constraint_reflectionr  r  rf  rp  rh  r	  ri  rj  rw  r  rz  Útemp_table_reflect_indexesr�  r  rü   r   Útable_reflectionr§  rø   r¬  Úfixturer·  ró   r"  r¼  r¿  rÉ  ra  rÑ  rÔ  r×  rÞ  ræ  ré  rí  r  rñ  rö  r  rœ   r	  r  Úcomment_reflection_full_unicoder  rC   r>   r<   r$  r$    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ðTDð TDñ 3Ô2ñô ðTDðl ÔÔ%Ø€WÔØ�4˜Ô)Ô1Ð2¸\ðñ ô ðð ñô ñ &Ô%ðð ÔÔ%ð.ð .ñ &Ô%ð.ð ÔÔ&ð2ð 2ñ 'Ô&ð2ð0 €WÔØ	ˆwÔÔ'Ð(¨(¸\ðñ ô ðEð Eñô ðEð €WÔ˜4 Ô!1Ô!9Ð:¸EÑBÔBð5ð 5ñ CÔBð5ð „_ð/ð /ñ „_ð/ð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ð\ð \ð \r>   r$  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Ó   ©rz   r�   rX   s      r<   Útable_no_columnsz#TableNoColumnsTest.table_no_columns_	  s,   € åˆg�xÑ Ô Ð Ø×Ò˜JÑ'Ô'Ð'Ð'Ð'r>   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   r^   r!   rÓ   r%  s      r<   Úview_no_columnsz"TableNoColumnsTest.view_no_columnsd	  sz   € åˆg�xÑ Ô Ð ÝŒØØÝÐ<Ñ=Ô=ñ	
ô 	
ð 	
õ 	ŒØ�m¥SÐ)FÑ%GÔ%Gñ	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'Ð'Ð'r>   c                 ó†   — t          dt          ¦   «         |¬¦  «        }t          t          |j        ¦  «        g ¦  «         d S )Nr¡  rÎ   ©r   r   r   rµ  r£   )rz   r�   r&  Út2s       r<   Útest_reflect_table_no_columnsz0TableNoColumnsTest.test_reflect_table_no_columnst	  s8   € Ý�7�H™JœJ°jÐAÑAÔAˆÝ�D�”‰JŒJ˜ÑÔÐÐÐr>   c                 ó¶   — t          |¦  «        }t          |                     d¦  «        g ¦  «         |                     ¦   «         }t          |dg i¦  «         d S )Nr¡  r$  )r   r   rþ   rÓ  )rz   r�   r&  rƒ   Úmultis        r<   Ú!test_get_columns_table_no_columnsz4TableNoColumnsTest.test_get_columns_table_no_columnsx	  sY   € Ý�zÑ"Ô"ˆÝˆD×Ò˜WÑ%Ô% rÑ*Ô*Ð*Ø×&Ò&Ñ(Ô(ˆÝˆE�O RÐ(Ñ)Ô)Ð)Ð)Ð)r>   c                 ó    — t          ¦   «         }|                     |¦  «         t          |j        ¦  «                             dg¦  «        sJ ‚d S r$  )r   r  ry  r¶   rI  )rz   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Ð4r>   c                 ó†   — t          dt          ¦   «         |¬¦  «        }t          t          |j        ¦  «        g ¦  «         d S )NÚempty_vrÎ   r*  )rz   r�   r(  r+  s       r<   Útest_reflect_view_no_columnsz/TableNoColumnsTest.test_reflect_view_no_columnsƒ	  s8   € å�9�h™jœj¸
ÐCÑCÔCˆÝ�D�”‰JŒJ˜ÑÔÐÐÐr>   c                 óÎ   — t          |¦  «        }t          |                     d¦  «        g ¦  «         |                     t          j        ¬¦  «        }t          |dg i¦  «         d S )Nr3  )r¦   )Nr3  )r   r   rþ   rÓ  r   r  )rz   r�   r(  rƒ   r.  s        r<   Ú test_get_columns_view_no_columnsz3TableNoColumnsTest.test_get_columns_view_no_columnsˆ	  sa   € å�zÑ"Ô"ˆÝˆD×Ò˜YÑ'Ô'¨Ñ,Ô,Ð,Ø×&Ò&­J¬OÐ&Ñ<Ô<ˆÝˆEÐ% rÐ*Ñ+Ô+Ð+Ð+Ð+r>   N)r?   r@   rA   Ú__requires__r›   r   r  r&  r(  r,  r/  r1  rP   rœ   r4  r6  rC   r>   r<   r!  r!  [	  sÇ   € € € € € Ø1€LØ€Kà„_ð(ð (ñ „_ð(ð „_ð(ð (ñ „_ð(ðð ð ð*ð *ð *ð5ð 5ð 5ð
 ÔÔðð ñ Ôðð ÔÔð,ð ,ñ Ôð,ð ,ð ,r>   r!  c                   óF  — e Zd ZdZ ej        dej        j        fdd¬¦  «        ej        j        d„ ¦   «         ¦   «         Z	ej        j
        d„ ¦   «         Zej        j        d„ ¦   «         Zd„ Zej        j        d	„ ¦   «         Zej        j        d
„ ¦   «         Zej        j        d„ ¦   «         Z ej        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dS )ÚComponentReflectionTestExtraTr_  r  r§   c           
      ó–  ‡— |rt           j        }nd }t          d|t          dt	          ¦   «         ¦  «        t          j        dd¬¦  «        t          j        dd¬¦  «        |¬¦  «         t          d	|t          d
t          j        d¦  «        ¦  «        |¬¦  «         |                     |¦  «         t          |¦  «        }t          |                     d|¬¦  «        t          j        d¦  «        ¬¦  «        }d„ Šˆfd„|D ¦   «         }t          |dddœdddœg¦  «         d	}t          |                     ||¬¦  «        g ¦  «         d S )NÚsa_ccr¬   za > 1 AND a < 5Úcc1rá   za = 1 OR (a > 2 AND a < 5)Ú
UsesCasingrN   rU  rK   rG  ri   r‰  c                 óŒ   — d                      t          j        d|                      ¦   «         t          j        ¦  «        ¦  «        S )Nú zand|\d|=|a|or|<|>)ÚjoinrÂ  Úfindallrø  ÚI)rû  s    r<   Ú	normalizezJComponentReflectionTestExtra.test_get_check_constraints.<locals>.normalize¹	  s4   € Ø—8’8Ý”
Ð/°·²±´Å"Ä$ÑGÔGñô ð r>   c                 óD   •— g | ]}|d           ‰|d         ¦  «        dœ‘ŒS )ri   rû  ©ri   rû  rC   )r�  ÚitemrC  s     €r<   rÙ  zKComponentReflectionTestExtra.test_get_check_constraints.<locals>.<listcomp>¾	  sC   ø€ ð 
ð 
ð 
àð ˜&”\¨i¨i¸¸Y¼Ñ.HÔ.HÐIÐIð
ð 
ð 
r>   za = 1 or a > 2 and a < 5rE  za > 1 and a < 5)r   rR   r   r   r   rl   ré   r   rÓ   r   r%  r  r�  r�  r   )	rz   rX   r�   r  rO   rƒ   ry  r<  rC  s	           @r<   r  z7ComponentReflectionTestExtra.test_get_check_constraints“	  sª  ø€ ð
 ð 	ÝÔ'ˆFˆFàˆFåØØÝ�3�™	œ	Ñ"Ô"ÝÔÐ0°uÐ=Ñ=Ô=ÝÔØ,°<ðñ ô ð ð		
ñ 		
ô 		
ð 		
õ 	ØØÝ�6�2œ9 R™=œ=Ñ)Ô)Øð		
ñ 	
ô 	
ð 	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆÝØ×&Ò& w°vÐ&Ñ>Ô>ÝÔ# FÑ+Ô+ð
ñ 
ô 
ˆ	ð	ð 	ð 	ð

ð 
ð 
ð 
à!ð
ñ 
ô 
ˆ	õ 	Øà%Ð2LÐMÐMØÐ+<Ð=Ð=ðñ	
ô 	
ð 	
ð "ˆÝˆD×&Ò& v°fÐ&Ñ=Ô=¸rÑBÔBÐBÐBÐBr>   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!  Úxr?  Ú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)ri   rÔ  r@  rÕ  c                 ó–   •— t           j        j        j        rg | d<   ‰j        j        › d�g i| d<   d S |                      di ¦  «         d S )NrÖ  Ú_includerÕ  )r   rP   r~  r5   r  ri   rü  )Úentryr�   s    €r<   ÚcompleteIndexzYComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.completeIndexè	  se   ø€ ÝÔÔ?ÔGð 8Ø+-�Ð'Ñ(à!Ô(Ô-Ð7Ð7Ð7¸ð,�Ð'Ñ(Ð(Ð(ð × Ò Ð!2°BÑ7Ô7Ð7Ð7Ð7r>   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ø  rH  rI  ©rø  )rz   rË   Úols      r<   rÁ  zbComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_str.__eq__ô	  s+   € Ø—[’[‘]”]�à "�}ÐA¨#°¨)Ð*@°s¸b°yÐAr>   NrÂ  rC   r>   r<   Úlower_index_strrS  ó	  s(   € € € € € ðBð Bð Bð Bð Br>   rW  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ÚcoalescerU  )rz   rË   Úlong_strs     €r<   rÁ  zeComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_str.__eq__ú	  s    ø€ à! U§[¢[¡]¤]Ð2ÐH°xÀ5Ð7HÐHr>   NrÂ  )r\  s   €r<   Úcoalesce_index_strrY  ù	  s5   ø€ € € € € ðIð Ið Ið Ið Ið Ið Ir>   r]  )NrJ  Nzlower(x)zlower(y))ri   rÔ  r×  r@  zcoalesce(x, 'z')rÎ   z>Skipped unsupported reflection of expression-based index t_idx)r   r   r   r"   r   rø  r£   rH  rJ  rI  r[  rÓ   r   rý  r   rP   Ú reflect_indexes_with_expressionsr5   Úinsertr±  r   r  r   r	   Ú!compare_table_index_with_expectedr  ri   )rz   rX   r�   r!  rƒ   r€  rQ  rW  r]  Ú
expr_indexÚexpr_index_longrÕ   r+  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!  rH  r?  rI  rK  ÚincludeF)ri   rÔ  rÖ  r@  rÕ  r   rÕ  z
%s_includerÎ   )r   r   r   r"   r£   rH  rÕ  r  ri   rÓ   r   r  r   r)   r  r   rµ  rr  )rz   rX   r�   r!  r¹   rƒ   r  r+  s           r<   Útest_reflect_covering_indexz8ComponentReflectionTestExtra.test_reflect_covering_index'
  s{  € åØØÝ�3�˜r™
œ
Ñ#Ô#Ý�3�˜r™
œ
Ñ#Ô#ñ	
ô 
ˆõ �G˜QœSœUÑ#Ô#ˆØBEÀˆÔ˜JÔ-Ô2Ô3°IÑ>à×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆà×&Ò& sÑ+Ô+ˆÝØð $Ø%( EØ(+ uØ#Ý'+¤xðð ðñ	
ô 	
ð 	
õ 	Ø˜ŒNÐ,Ô-Ø˜zÔ0Ô5Ñ5ôð ˆEñ		
ô 	
ð 	
õ �3�™
œ
°*Ð=Ñ=Ô=ˆÝÝ�”ÑÔ˜QÔÔ/°
Ô0AÔ0FÔGØôð ˆEñ		
ô 	
ð 	
ð 	
ð 	
r>   c                 óÎ   — t          d|gd„ t          |¦  «        D ¦   «         ¢R Ž }|                     |¦  «         d„ t          |¦  «                             d¦  «        D ¦   «         S )Nr!  c                 ó:   — g | ]\  }}t          d |z  |¦  «        ‘ŒS )zt%dr   )r�  rQ  Útype_s      r<   rÙ  zAComponentReflectionTestExtra._type_round_trip.<locals>.<listcomp>V
  s*   € ÐHÐHÐH©8¨1¨e�f�U˜Q‘Y Ñ&Ô&ÐHÐHÐHr>   c                 ó   — g | ]
}|d          ‘ŒS )r¦  rC   r£  s     r<   rÙ  zAComponentReflectionTestExtra._type_round_trip.<locals>.<listcomp>Z
  s   € ÐHÐHÐH˜a��&”	ÐHÐHÐHr>   )r   rA  r€   r   rþ   )rz   r�   rX   r   r!  s        r<   Ú_type_round_tripz-ComponentReflectionTestExtra._type_round_tripR
  s{   € ÝØØð
ð IÐHµyÀÑ7GÔ7GÐHÑHÔHð
ð 
ð 
ˆð
 	
�Š�ÑÔÐàHÐH¥7¨:Ñ#6Ô#6×#BÒ#BÀ3Ñ#GÔ#GÐHÑHÔHÐHr>   c                 óì   — |                       ||t          j        dd¦  «        ¦  «        D ]H}t          |t          j        ¦  «        sJ ‚t	          |j        d¦  «         t	          |j        d¦  «         ŒId S )Né   r.  )rk  rE  rJ  rõ   r   Ú	precisionÚscale©rz   r�   rX   Útyps       r<   Útest_numeric_reflectionz4ComponentReflectionTestExtra.test_numeric_reflection\
  s�   € à×(Ò(Ø˜¥)Ô"3°B¸Ñ":Ô":ñ
ô 
ð 	ð 	ˆCõ ˜c¥9Ô#4Ñ5Ô5Ð5Ð5Ð5Ý�”˜rÑ"Ô"Ð"Ý�”	˜1ÑÔÐÐð	ð 	r>   c                 óÆ   — |                       ||t          j        d¦  «        ¦  «        d         }t          |t          j        ¦  «        sJ ‚t	          |j        d¦  «         d S )Né4   r   )rk  rE  r   rõ   r   Úlengthrp  s       r<   Útest_varchar_reflectionz4ComponentReflectionTestExtra.test_varchar_reflectione
  sd   € à×#Ò#Ø˜¥)Ô"2°2Ñ"6Ô"6ñ
ô 
à
ôˆõ ˜#�yÔ/Ñ0Ô0Ð0Ð0Ð0ÝˆCŒJ˜ÑÔÐÐÐr>   c           
      ó"  — t          d|t          dt          d¬¦  «        t          dt          d¬¦  «        ¦  «        }|                     |¦  «         t	          d„ t          |¦  «                             d¦  «        D ¦   «         dddœ¦  «         d S )	Nr!  r¬   Tr/  r…  Fc                 ó,   — i | ]}|d          |d         “ŒS )ri   r0  rC   r]  s     r<   r“  zIComponentReflectionTestExtra.test_nullable_reflection.<locals>.<dictcomp>w
  s2   € ð ð ð àð �F”˜S œ_ðð ð r>   )r¬   r…  )r   r   r   r€   r   r   rþ   )rz   r�   rX   r!  s       r<   Útest_nullable_reflectionz5ComponentReflectionTestExtra.test_nullable_reflectionm
  sª   € åØØÝ�3�¨$Ð/Ñ/Ô/Ý�3�¨%Ð0Ñ0Ô0ñ	
ô 
ˆð 	
�Š�ÑÔÐÝðð å" :Ñ.Ô.×:Ò:¸3Ñ?Ô?ðñ ô ð ˜UÐ#Ð#ñ	
ô 	
ð 	
ð 	
ð 	
r>   NÚ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ÚonupdaterH  rH   TrI   rÈ   rO  Úx_idzx.idÚxidrá   Útesté
   Úuserri   rL   Fr/  Útidztable.idÚmyfkr   r2   c                 ó2   •— i | ]}‰|         ¯
|‰|         “ŒS rC   rC   )r�  r­   Úoptss     €r<   r“  zMComponentReflectionTestExtra.test_get_foreign_key_options.<locals>.<dictcomp>Õ
  s(   ø€ Ð1Ð1Ð1˜A¨¨a¬Ð1ˆQ��Q”Ð1Ð1Ð1r>   )r   r   r   r   r   rl   rÒ   rÓ   r   r  r   )	rz   r�   rX   r€  r}  r~  r2   rƒ   r‡  s	           @r<   Útest_get_foreign_key_optionsz9ComponentReflectionTestExtra.test_get_foreign_key_options~
  sò  ø€ ðT ˆØð 	+Ø"*ˆG�JÑØð 	+Ø"*ˆG�JÑàÐØˆHåØØÝ�4�¨dÐ3Ñ3Ô3Øð		
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�7¥J¨v¸EÐ$BÑ$BÔ$BÑCÔCÝ�6�6 "™:œ:Ñ&Ô&Øð	
ñ 	
ô 	
ð 	
õ 	ØØÝ�4�¨dÐ3Ñ3Ô3Ý�6�6 "™:œ:°Ð6Ñ6Ô6Ý�5�'Ñ"Ô"ÝÔ#Ø�˜*˜ðð Ø,2ðØ6=ðð ð ð
	
ñ 
	
ô 
	
ð 
	
ð 	×Ò˜JÑ'Ô'Ð'å�zÑ"Ô"ˆð ×$Ò$ WÑ-Ô-¨aÔ0°Ô;ˆåÐ1Ð1Ð1Ð1 Ð1Ñ1Ô1°2Ñ6Ô6Ð6à×$Ò$ VÑ,Ô,¨QÔ/°	Ô:ˆÝˆD�(ÑÔÐÐÐr>   )r?   r@   rA   r›   r   r¿   rP   rQ   r  r  Úindexes_with_expressionsrc  r~  rf  rk  r  rr  rv  ry  Ú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ˆ  rC   r>   r<   r9  r9  �	  s  € € € € € Ø€Kà€WÔØ	ˆwÔÔ'Ð(¨(¸\ðñ ô ð ÔÔ1ð3Cð 3Cñ 2Ô1ñô ð3Cðj ÔÔ.ðX
ð X
ñ /Ô.ðX
ðt ÔÔ5ð(
ð (
ñ 6Ô5ð(
ðTIð Ið Ið ÔÔ&ðð ñ 'Ô&ðð ÔÔ&ðð ñ 'Ô&ðð ÔÔ&ð
ð 
ñ 'Ô&ð
ð  €WÔàØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð ØØØÔÔNð		
ð .ðK&ñ &ô &ðN3ð 3ñO&ô &ðN3ð 3ð 3r>   r9  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í   rH   rI   r+  Út1idzt1.id)r   r#   r   r   r   rW   s     r<   rY   z NormalizedNameTest.define_tablesà
  s‘   € åÝ˜ DÐ)Ñ)Ô)ØÝ�4�¨dÐ3Ñ3Ô3ñ	
ô 	
ð 	
õ
 	Ý˜ DÐ)Ñ)Ô)ØÝ�4�¨dÐ3Ñ3Ô3Ý�6�: gÑ.Ô.Ñ/Ô/ñ		
ô 	
ð 	
ð 	
ð 	
r>   c                 óÊ  — t          ¦   «         }t          t          dd¬¦  «        |t          j        ¬¦  «        }|j        d         }|j        j                             |j        j	        ¦  «        sJ ‚t          ¦   «         }| 
                    t          j        d„ ¬¦  «         |j        d         j        j                             |j        d         j        j	        ¦  «        sJ ‚d S )Nr+  Tr“  rÎ   r×   c                 ó.   — |                       ¦   «         dv S )N©r×   r+  rU  )ri   r  s     r<   r®   zINormalizedNameTest.test_reflect_lowercase_forced_tables.<locals>.<lambda>ø
  s   € ¨D¯JªJ©L¬L¸LÐ,H€ r>   )Úonly)r   r   r#   r   r:   r¶   r£   r”  rÔ   rH   r  )rz   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ÐFr>   c                 óp  — d„ t          t          j        ¦  «                             ¦   «         D ¦   «         }t	          |d                              ¦   «         |d                              ¦   «         ¦  «         t	          |d                              ¦   «         |d                              ¦   «         ¦  «         d S )Nc                 ó>   — g | ]}|                      ¦   «         d v ¯|‘ŒS )r—  rU  )r�  r!  s     r<   rÙ  z;NormalizedNameTest.test_get_table_names.<locals>.<listcomp>ý
  s5   € ð 
ð 
ð 
àØ�wŠw‰yŒy˜LÐ(Ð(ð à(Ð(Ð(r>   r   rÐ   )r   r   r:   r$  r   Úupperrø  )rz   Ú
tablenamess     r<   r(  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Ð9r>   N)	r?   r@   rA   r7  r›   rB   rY   rœ  r(  rC   r>   r<   r�  r�  Ü
  sX   € € € € € Ø*€LØ€Kàð
ð 
ñ „[ð
ðGð Gð Gð:ð :ð :ð :ð :r>   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á   rC   r£  s     r<   r“  zLComputedReflectionTest.test_computed_col_default_not_set.<locals>.<dictcomp>  s   € Ð/Ð/Ð/ Q�A�f”I˜qÐ/Ð/Ð/r>   Ú42Úwith_defaultr§  ÚnormalÚcomputed_col)r   r   r:   rþ   r(   r   )rz   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Ð6r>   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á   rC   r£  s     r<   r“  zKComputedReflectionTest.test_get_column_returns_computed.<locals>.<dictcomp>  ó   € Ð+Ð+Ð+ ��&”	˜1Ð+Ð+Ð+r>   )rH   r¨  r§  Úcomputedr©  rû  ú	normal+42Ú	persisted)r   r   r:   rþ   r(   r   rC  r   rP   Ú"computed_columns_reflect_persistedr5   Ú"computed_columns_default_persisted)rz   rƒ   r¶  rK   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ñô ð ð ð ð	ð 	r>   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   rP   r²  r5   r   )rz   rK   Ú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ð 	2r>   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á   rC   r£  s     r<   r“  zLComputedReflectionTest.test_get_column_returns_persisted.<locals>.<dictcomp>2  r®  r>   Úcomputed_no_flagr°  Úcomputed_virtualznormal+2FÚcomputed_storedz	normal-42T)r   r   r:   rþ   r¸  r   rP   r³  r5   Úcomputed_columns_virtualÚcomputed_columns_stored©rz   rƒ   r¶  rK   s       r<   Ú!test_get_column_returns_persistedz8ComputedReflectionTest.test_get_column_returns_persisted.  sç   € Ý•v”yÑ!Ô!ˆà×ÒÐ 7Ñ8Ô8ˆØ+Ð+ dÐ+Ñ+Ô+ˆà×ÒØØØÝÔÔ?ÔGñ		
ô 	
ð 	
õ ÔÔ4Ô<ð 	Ø×ÒØØ"ØØñ	ô ð õ ÔÔ3Ô;ð 	Ø×ÒØØ!ØØñ	ô ð ð ð ð	ð 	r>   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º  rN   c                 ó    — i | ]}|d          |“ŒS rá   rC   r£  s     r<   r“  zXComputedReflectionTest.test_get_column_returns_persisted_with_schema.<locals>.<dictcomp>P  r®  r>   r¼  z	normal/42r½  znormal/2Fr¾  z	normal*42T)r   r   r:   rþ   rR   r¸  r   rP   r³  r5   r¿  rÀ  rÁ  s       r<   Ú-test_get_column_returns_persisted_with_schemazDComputedReflectionTest.test_get_column_returns_persisted_with_schemaI  s÷   € å•v”yÑ!Ô!ˆà×ÒØ#­FÔ,>ð  ñ 
ô 
ˆð ,Ð+ dÐ+Ñ+Ô+ˆà×ÒØØØÝÔÔ?ÔGñ		
ô 	
ð 	
õ ÔÔ4Ô<ð 	Ø×ÒØØ"ØØñ	ô ð õ ÔÔ3Ô;ð 	Ø×ÒØØ!ØØñ	ô ð ð ð ð	ð 	r>   N)r?   r@   rA   r«  rµ  r¸  rÂ  r   rP   rQ   rÅ  rC   r>   r<   r¢  r¢    sr   € € € € € ð7ð 7ð 7ðð ð ð*2ð 2ð 2ðð ð ð6 ÔÔðð ñ Ôðð ð r>   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)Úidentity_columnsr  c                 óÚ  — t          d|t          dt          ¦  «        t          dt          t          ¦   «         ¦  «        ¦  «         t          d|t          dt          t          dddd	d
dd¬¦  «        ¦  «        ¦  «         t          j        j        j        rVt          d|t          dt          ¦  «        t          dt          t          dd¬¦  «        ¦  «        t          j	        ¬¦  «         d S d S )Nr×   r¨  Úid1r+  rÊ   Tr   r   éþÿÿÿrR  é   ©ÚalwaysÚstartÚ	incrementÚminvalueÚmaxvalueÚcycleÚcacherG  )rÎ  rÏ  rN   )
r   r   r   r   r   rP   rQ   r5   r   rR   rW   s     r<   rY   z$IdentityReflectionTest.define_tablesn  s  € åØØÝ�8�WÑ%Ô%Ý�5�'¥8¡:¤:Ñ.Ô.ñ		
ô 	
ð 	
õ 	ØØÝØÝÝØØØØØØØðñ ô ñô ñ	
ô 	
ð 	
õ" ÔÔ#Ô+ð 	ÝØØÝ�x¥Ñ)Ô)Ý�u�g¥x°tÀ2Ð'FÑ'FÔ'FÑGÔGÝÔ)ðñ ô ð ð ð ð	ð 	r>   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   rP   Úidentity_columns_standardr5   rµ  r©  r   r@  r(   )rz   r  r;  Ú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Ð5r>   c                 óÒ  — t          t          j        ¦  «        }|                     d¦  «        |                     d¦  «        z   }|D �]}|d         dk    rt	          d|v ¦  «         Œ!|d         dk    rsd|v rt          |d         ¦  «         t          |d         d ¦  «         t          d|v ¦  «         |                      |d         t          d	d
d
d
dd	d
¬¦  «        d¬¦  «         Œ |d         dk    rrd|v rt          |d         ¦  «         t          |d         d ¦  «         t          d|v ¦  «         |                      |d         t          ddddddd¬¦  «        d	¬¦  «         �Œ d S )Nr×   r+  ri   r¨  ÚidentityrÊ  r¥  r§  FrÐ   éÿÿÿrÍ  T©r×  rÊ   r   r   rË  rR  rÌ  )	r   r   r:   rþ   r'   r(   r   rÙ  r8   ©rz   rƒ   r¶  r   s       r<   Útest_reflect_identityz,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&	ð &	r>   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×   rN   ri   r¨  rÛ  rÊ  r¥  r§  TrG  rÐ   rÜ  FrÍ  rÝ  )
r   r   r:   rþ   rR   r'   r(   r   rÙ  r8   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ÝØ#Ø Ø"#Ø!"Ø!+Ø#Øðñ ô ð  ð ñ ô ð øð	ð 	r>   )r?   r@   rA   r  r  r›   r7  rB   rY   rÙ  rß  r   rP   rQ   rá  rC   r>   r<   rÇ  rÇ  h  sƒ   € € € € € Ø $Ð$€K�+à€KØ;€Làðð ñ „[ððB6ð 6ð 6ð:*ð *ð *ðX ÔÔðð ñ Ôðð ð r>   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Útb1rH   Úattrri   rG  Úpk_tb1rá   Tr8  Útb2rI   ÚpidÚpattrÚpname©rë  ré  rê  Úfk_tb1_name_id_attr)r   r   r   rE  rn   rl   rç   rÒ   r£   ri   rH   ræ  )r;   rX   rå  s      r<   rY   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Ø*ðñ ô ð
 Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r>   c                 ó¶   — t          |¦  «        }|                     | j        j        j        ¦  «        }t          |                     d¦  «        g d¢¦  «         d S )Nr´  ©ri   rH   ræ  )r   r  r¶   rå  ri   r   r¤  )rz   r�   rƒ   rJ   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ÐKr>   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´  rì  )r   r  r¶   rè  ri   r   r@  r¤  )rz   r�   rƒ   Úforeign_keysrj  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ÐHr>   N)r?   r@   rA   r›   rB   rY   r   rP   r  rð  r  ró  rC   r>   r<   rã  rã  õ  s~   € € € € € Ø€Kàð
ð 
ñ „[ð
ð6 ÔÔ7ðLð Lñ 8Ô7ðLð ÔÔ7ðIð Iñ 8Ô7ðIð Ið Ir>   rã  )r$  r9  r!  rÜ   rÁ   rE   rž   r�  r¢  rÇ  rã  )Cr�  rÂ  r6   rl   r)  r   r   r   r   r   r	   r
   r   Ú	provisionr   r   rO   r   r   r   r   r   r   r   r   r   r   r   r   rE  r  r   r   r   Úexcr   r    r!   r"   Úsql.elementsr#   Ú
sql.schemar$   r%   r&   r'   r(   r)   rX   r+  Ú
TablesTestr,   rE   rž   ÚTestBaserÁ   rÜ   r"  r$  r!  r9  r�  ÚComputedReflectionFixtureTestr¢  rÇ  rã  Ú__all__rC   r>   r<   ú<module>rü     sA  ðð €€€Ø 	€	€	€	à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð �€ˆ%ðð ð ð ð ˜hÔ1ñ ô ð ð S:ð S:ð S:ð S:ð S:Ð*ñ S:ô S:ð S:ðlI
ð I
ð I
ð I
ð I
�8Ô&ñ I
ô I
ð I
ðX81ð 81ð 81ð 81ð 81 xÔ'8ñ 81ô 81ð 81ðvR0ð R0ð R0ð R0ð R0˜XÔ0ñ R0ô R0ð R0ðj1ð 1ð 1ð<H\ð H\ð H\ð H\ð H\˜nÐ.Eñ H\ô H\ð H\ðV:2,ð 2,ð 2,ð 2,ð 2,˜Ô*ñ 2,ô 2,ð 2,ðjHð Hð Hð Hð H ?°HÔ4Eñ Hô Hð HðX
(:ð (:ð (:ð (:ð (:˜Ô,ñ (:ô (:ð (:ð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€€€r>   