Ë
    V.jé¸ ã                   ó¼  — d dl Z d dlZd dlZd dlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddl#m$Z$ ddl#m%Z% ddlm&Z& dd lm'Z' dd!l(m)Z) dd"l*m+Z+ dd#lm,Z, dd$lm-Z- dd%lm.Z. dd&lm/Z/ dd'lm0Z0 d(\  Z1Z2 G d)„ d*ejf                  «      Z4 G d+„ d,e4«      Z5 G d-„ d.ejf                  «      Z6 G d/„ d0ejn                  «      Z8 G d1„ d2ejf                  «      Z9d3„ Z: G d4„ d5e-e4«      Z; G d6„ d7ejn                  «      Z< G d8„ d9e,ejn                  «      Z= G d:„ d;ejf                  «      Z> G d<„ d=ej~                  «      Z@ G d>„ d?ejf                  «      ZA G d@„ dAejf                  «      ZBdBZCy)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y)ÚOneConnectionTablesTestc                 óÌ   — t         j                  j                  j                  r1d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     újC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\sqlalchemy/testing/suite/test_reflection.pyÚ
setup_bindz"OneConnectionTablesTest.setup_bind8   sI   € ô
 ×Ñ×6Ñ6×>Ò>Ý'ä×)Ñ)Ü t§¡¸gÔFôð ô —9‘9Ðó    N)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr<   © r=   r;   r+   r+   7   s   „ Øñó ñr=   r+   c                   óB  — 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y)ÚHasTableTestTc                 óò  — t        d|t        dt        d¬«      t        dt        d«      «      «       t        j
                  j                  j                  rAt        d|t        dt        d¬«      t        dt        d«      «      t        j                  ¬«       t        j
                  j                  r| j                  |«       t        j
                  j                  j                  r| j                  |«       y y )	NÚ
test_tableÚidT©Úprimary_keyÚdataé2   Útest_table_s©Úschema)r   r   r   r   r   ÚrequiresÚschemasr4   r   Útest_schemaÚview_reflectionÚdefine_viewsÚhas_temp_tableÚdefine_temp_tables©r:   Úmetadatas     r;   Údefine_tableszHasTableTest.define_tablesJ   s¹   € äØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&ô		
ô ×Ñ×#Ñ#×+Ò+ÜØØÜ�tœW°$Ô7Ü�vœv b›zÓ*Ü×)Ñ)õô ×Ñ×+Ò+Ø×Ñ˜XÔ&Ü×Ñ×*Ñ*×2Ò2Ø×"Ñ" 8Õ,ð 3r=   c                 ó¾  — d}t        j                  |dt        |«      «       t        j                  |dt        d«      «       t        j                  j
                  j                  rwdt        j                  ›dt        j                  ›d�}t        j                  |dt        |«      «       t        j                  |dt        dt        j                  z  «      «       y y )	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   rO   rP   r4   r   rQ   )r:   rW   Úquerys      r;   rS   zHasTableTest.define_views`   s¤   € àCˆä�‰�X˜~¬s°5«zÔ:Ü�‰�X˜}¬c°.Ó.AÔBä×Ñ×#Ñ#×+Ó+ô ×&Ó&Ü×&Ó&ðð ô �L‰L˜ >´3°u³:Ô>Ü�L‰LØØÜÐ%¬×);Ñ);Ñ<Ó=õð ,r=   c                 ób   — t        t        t        j                  dt        j                  › �«      S ©NÚ	user_tmp_©r   r   r9   Úident©r:   s    r;   Útemp_table_namezHasTableTest.temp_table_namev   ó%   € ä"Ü”F—I‘I ¬6¯<©<¨.Ð9ó
ð 	
r=   c                 ó"  — t        t        t        j                  «      }| j                  «       }t	        ||t        dt        j                  d¬«      t        dt        j                  d«      «      fi |¤Ž}t        j                  j                  j                  rwt        j                  j                  j                  rRt        j                  |dt!        dt        j"                  z  «      «       t        j                  |dt!        d	«      «       y y y )
NrG   TrH   ÚnamerK   rZ   ú=create temporary view user_tmp_v as select * from user_tmp_%sr[   údrop view user_tmp_v)r   r   r9   re   r   r   ÚsaÚINTÚVARCHARr   rO   rR   r4   Útemporary_viewsr   r]   r    rc   ©r:   rW   ÚkwÚ
table_nameÚuser_tmps        r;   rU   zHasTableTest.define_temp_tables|   sÕ   € ä$¤V¬V¯Y©YÓ7ˆØ×(Ñ(Ó*ˆ
ÜØØÜ�4œŸ™¨TÔ2Ü�6œ2Ÿ:™: b›>Ó*ñ	
ð
 ñ
ˆô ×Ñ×,Ñ,×4Ò4Ü× Ñ ×0Ñ0×8Ò8ä�L‰LØØÜð0Ü28·,±,ñ?óôô �L‰L˜ =´#Ð6LÓ2MÕNð 9ð 5r=   c                 óœ  — t         j                  j                  «       5 }t        t         j                  j                  j                  |d«      «       t        t         j                  j                  j                  |d«      «       t        t         j                  j                  j                  |d«      «       d d d «       y # 1 sw Y   y xY w)NrF   rL   Únonexistent_table)r   r9   Úbeginr'   ÚdialectÚ	has_tabler&   ©ÚselfÚconns     r;   Útest_has_tablezHasTableTest.test_has_table•   s|   € Ü�Y‰Y�_‰_Ô $Ü”F—I‘I×%Ñ%×/Ñ/°°lÓCÔDÜ”V—Y‘Y×&Ñ&×0Ñ0°°~ÓFÔGÜ”V—Y‘Y×&Ñ&×0Ñ0°Ð7JÓKÔL÷ ×Ñús   ŸBCÃCc                 ó"  — t        t        j                  «      }t        |j	                  d«      «       t        d|t        dt        «      «      }t        |j	                  d«      «       |j                  t        j                  «       	 t        |j	                  d«      «       |j                  «        t        |j	                  d«      «       |j                  t        j                  «       y # |j                  t        j                  «       w xY w)NrF   Ú	new_tableÚcol)r   r   r9   r'   rw   r   r   r   r&   ÚcreateÚclear_cacheÚdrop)ry   rW   ÚinspÚnts       r;   Útest_has_table_cachez!HasTableTest.test_has_table_cache›   s«   € Ü”v—y‘yÓ!ˆÜ�—‘˜|Ó,Ô-Ü�; ¬&°¼Ó*@ÓAˆÜ�—‘ Ó,Ô-Ø
�	‰	”&—)‘)Ôð	Ü�T—^‘^ KÓ0Ô1Ø×ÑÔÜ�D—N‘N ;Ó/Ô0à�G‰G”F—I‘IÕøˆB�G‰G”F—I‘IÕús   Â	AC- Ã-!Dc                 óü  — t         j                  j                  «       5 }t        t         j                  j                  j                  |dt         j                  ¬«      «       t        t         j                  j                  j                  |dt         j                  ¬«      «       t        t         j                  j                  j                  |dt         j                  ¬«      «       d d d «       y # 1 sw Y   y xY w)NrF   rM   rL   rt   )r   r9   ru   r&   rv   rw   rQ   r'   rx   s     r;   Útest_has_table_schemaz"HasTableTest.test_has_table_schema¨   s¹   € ä�Y‰Y�_‰_Ô $ÜÜ—	‘	×!Ñ!×+Ñ+Ø˜,¬v×/AÑ/Að ,ó ôô
 Ü—	‘	×!Ñ!×+Ñ+Ø˜.´×1CÑ1Cð ,ó ôô
 Ü—	‘	×!Ñ!×+Ñ+ØÐ-´f×6HÑ6Hð ,ó ô÷ ×Ñús   ŸC
C2Ã2C;c                 óÔ   — t         j                  j                  «       5 }t        t         j                  j                  j                  |dd¬«      «       d d d «       y # 1 sw Y   y xY w)NrF   Únonexistent_schemarM   )r   r9   ru   r&   rv   rw   rx   s     r;   Ú!test_has_table_nonexistent_schemaz.HasTableTest.test_has_table_nonexistent_schema»   sK   € ä�Y‰Y�_‰_Ô $ÜÜ—	‘	×!Ñ!×+Ñ+Ø˜,Ð/Cð ,ó ô÷ ×Ñús   Ÿ6AÁA'c                 óN   — t        |«      }t        |j                  d«      «       y ©NÚvv©r   r'   rw   ©ry   Ú
connectionr‚   s      r;   Útest_has_table_viewz HasTableTest.test_has_table_viewÄ   s   € ä�zÓ"ˆÜ�—‘˜tÓ$Õ%r=   c                 ón   — t        |«      }| j                  «       }t        |j                  |«      «       y ©N)r   re   r'   rw   )ry   r�   r‚   re   s       r;   Útest_has_table_temp_tablez&HasTableTest.test_has_table_temp_tableÉ   s+   € ä�zÓ"ˆØ×.Ñ.Ó0ˆÜ�—‘˜Ó/Õ0r=   c                 óN   — t        |«      }t        |j                  d«      «       y ©NÚ
user_tmp_vr�   rŽ   s      r;   Útest_has_table_temp_viewz%HasTableTest.test_has_table_temp_viewÏ   s   € ô �zÓ"ˆÜ�—‘˜|Ó,Õ-r=   c                 ól   — t        |«      }t        |j                  dt        j                  «      «       y r‹   )r   r'   rw   r   rQ   rŽ   s      r;   Útest_has_table_view_schemaz'HasTableTest.test_has_table_view_schemaÖ   s'   € ô �zÓ"ˆÜ�—‘˜t¤V×%7Ñ%7Ó8Õ9r=   N)r>   r?   r@   Ú__backend__rA   rX   rS   re   rU   r{   r„   r   rO   rP   r†   r‰   Úviewsr�   rT   r“   rR   rn   r—   r™   rB   r=   r;   rD   rD   G   s^  „ Ø€Kàñ-ó ð-ð* ñó ðð* ñ
ó ð
ð
 ñOó ðOò0Mòð ×Ñ×Ññó ðð$ ×Ñ×Ññó ðð ×Ñ×Ññ&ó ð&ð ×Ñ×$Ñ$ñ1ó %ð1ð
 ×Ñ×$Ñ$Ø×Ñ×%Ñ%Ø×Ñ×%Ñ%ñ.ó &ó &ó %ð.ð ×Ñ×ÑØ×Ñ×Ññ:ó ó ñ:r=   rD   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y
)ÚHasIndexTestTc                 óÚ  — t        d|t        dt        d¬«      t        dt        d«      «      t        dt        d«      «      «      }t	        d|j
                  j                  «       t        j                  j                  j                  rbt        d|t        dt        d¬«      t        dt        d«      «      t        j                  ¬	«      }t	        d
|j
                  j                  «       y y )NrF   rG   TrH   rJ   rK   Údata2Úmy_idxrM   Úmy_idx_s)r   r   r   r   r!   ÚcrJ   r   rO   rP   r4   r   rQ   )r:   rW   Útts      r;   rX   zHasIndexTest.define_tablesà   s¯   € äØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&Ü�7œF 2›JÓ'ó
ˆô 	ˆh˜Ÿ™Ÿ	™	Ô"ä×Ñ×#Ñ#×+Ò+ÜØØÜ�tœW°$Ô7Ü�vœv b›zÓ*Ü×)Ñ)ôˆBô �*˜bŸd™dŸi™iÕ(ð ,r=   rv   Ú	inspectorÚkind©Úargnamesc                 óB   ‡— |dk(  rˆfd„S t        ‰«      j                  S )Nrv   c                  ó^   •— t        j                  j                  j                  ‰g| ¢­i |¤ŽS r’   )r   r9   rv   Ú	has_index)ÚaÚkrz   s     €r;   Ú<lambda>z)HasIndexTest._has_index.<locals>.<lambda>ù   s$   ø€ ¤6§9¡9×#4Ñ#4×#>Ñ#>¸tÐ#MÀaÒ#MÈ1Ò#Mr=   )r   rª   )ry   r¥   rz   s     `r;   Ú
_has_indexzHasIndexTest._has_index÷   s!   ø€ Ø�9ÒÛMÐMä˜4“=×*Ñ*Ð*r=   c           	      óØ  — | j                  ||«      } |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	«      «      }|j                  |«       |j                  |«       	 |d
k(  r0 |dd«      rJ ‚ |dd«      rJ ‚|j                  j                  «         |dd«      du sJ ‚ |dd«      du sJ ‚	 |j                  |«       |j                  |«       y # |j                  |«       |j                  |«       w xY w)NrF   r    r¡   rt   Únonexistent_idxÚmy_idx_2Útest_table_2Úmy_idx_3Úfoor¤   T)r®   r!   ÚtablesrF   r¢   rŸ   r   r   r   r   Ú__self__r€   r�   )ry   r¥   r�   rW   ÚmethÚidxÚtbls          r;   Útest_has_indexzHasIndexTest.test_has_indexý   so  € à�‰˜t ZÓ0ˆÙ�L (Ô+Ð+Ð+Ù˜ jÔ1Ð1Ð1ÙÐ+¨XÔ6Ð6Ð6Ù˜Ð&7Ô8Ð8Ð8á˜ jÔ1Ð1Ð1Ù˜¨
Ô3Ð3Ð3Ü�J §¡× 6Ñ 6× 8Ñ 8× >Ñ >Ó?ˆÜØØÜ�5œ'Ó"Ü�*˜eÓ$ó	
ˆð 	�
‰
�:ÔØ�
‰
�:Ôð		!Ø�{Ò"Ù ¨jÔ9Ð9Ð9Ù °
Ô;Ð;Ð;Ø—‘×)Ñ)Ô+Ù˜ jÓ1°TÑ9Ð9Ð9Ù˜¨
Ó3°tÑ;Ð;Ñ;à�H‰H�ZÔ Ø�H‰H�ZÕ øð �H‰H�ZÔ Ø�H‰H�ZÕ ús   ÃAE Å$E)c                 ó   — | j                  ||«      } |ddt        j                  ¬«      sJ ‚ |ddt        j                  ¬«      rJ ‚ |ddt        j                  ¬«      rJ ‚ |ddt        j                  ¬«      rJ ‚y )NrF   r¡   rM   r    rt   Únonexistent_idx_s)r®   r   rQ   )ry   r¥   r�   r·   s       r;   Útest_has_index_schemaz"HasIndexTest.test_has_index_schema  sŠ   € ð �‰˜t ZÓ0ˆÙ�L *´V×5GÑ5GÕHÐHÐHÙ˜ h´v×7IÑ7IÕJÐJÐJÙØ ´F×4FÑ4Fõ
ð 	
ð 
ñ ØÐ-´f×6HÑ6Hõ
ð 	
ð 
ð 
r=   N)r>   r?   r@   rš   rA   rX   r   Úcombinationsr¥   r®   rº   rO   rP   r½   rB   r=   r;   r�   r�   Ý   sr   „ Ø€Kàñ)ó ð)ð(  ˆ7×Ñ 	¨;ÀÔH€Dò+ð 
ñ!ó 
ð!ð: ×Ñ×ÑØ	ñ	
ó 
ó ñ	
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y)Ú BizarroCharacterFKResolutionTestztests for #10275T)rG   )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!|j                  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¬«       nGt        d|t        dt        d¬«      t        dt        |j                  j                  «      «      d¬«       |j                  |«       t        «       }t        d||¬
«      }|j                  |   }	|j                  j                  j                  |	j                  d   «      sJ ‚|r5|j                  j                  j                  |	j                  d   «      sJ ‚y y )NrG   T)ÚkeyrI   ©Útest_needs_fkÚid2rH   ÚotherÚrefÚref2©Úautoload_withr   é   )r   r   r   Úappend_columnrk   ÚForeignKeyConstraintr¢   rG   rÉ   r   Ú
create_allr   rµ   rË   Ú
referencesrÌ   )
ry   r�   rW   rÂ   rÄ   rÁ   r£   Úm2Úo2Út1s
             r;   Útest_fk_refz,BizarroCharacterFKResolutionTest.test_fk_ref.  sW  € ô ØØÜ�:œw¨D¸dÔCØô	
ˆñ Ø×ÑœV E¬7ÀÔEÔFáÜØØÜ�tœW°$Ô7Ü�uœgÓ&Ü�vœwÓ'Ü×'Ñ'¨°¨¸"¿$¹$¿'¹'À2Ç4Á4Ç8Á8Ð9LÓMØ"öô ØØÜ�tœW°$Ô7Ü�uœj¨¯©¯©Ó1Ó2Ø"õð 	×Ñ˜JÔ'ä‹Zˆä�7˜B¨jÔ9ˆØ�Y‰Y�yÑ!ˆà�t‰t�x‰x×"Ñ" 2§4¡4¨¡7Ô+Ð+Ð+ÙØ—4‘4—9‘9×'Ñ'¨¯©¨Q©Ô0Ð0Ñ0ð r=   N)	r>   r?   r@   Ú__doc__rš   r   r¾   Ú	variationr×   rB   r=   r;   rÀ   rÀ   )  su   „ Ùà€Kà€W×ÑØ�˜: |¸lôð €W×Ñ�¨¨u¨Ó6Ø€W×ÑØØØØØôñ(1óó 7óñ(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y)ÚQuotedNameArgumentTestÚonceTc                 ó6  — 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$                  j'                  d|z  «      ›dt        j                   j"                  j$                  j'                  |«      ›�}t)        j*                  |dt-        |«      «       t)        j*                  |d t-        d!t        j                   j"                  j$                  j'                  d|z  «      z  «      «       Œè y y )"Núquote ' onerG   rh   rK   rJ   Ú
related_idzpk quote ' one©rh   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ÚrelatedrH   rÇ   r\   úview %sú AS SELECT * FROM rZ   r[   zDROP VIEW %s)r   r   r   r   rk   ÚPrimaryKeyConstraintr!   ÚUniqueConstraintrÑ   ÚCheckConstraintr   rO   Úsymbol_names_w_double_quoter4   Úview_column_reflectionr   r9   rv   Úidentifier_preparerÚquoter   r]   r    )r:   rW   Únamesrh   r^   s        r;   rX   z$QuotedNameArgumentTest.define_tablesh  s‘  € äØØÜ�4œÓ!Ü�6œ6 "›:Ó&Ü�6œ6 "›:Ó&Ü�<¤Ó)Ü×#Ñ# DÐ/?Ô@Ü�H‰HÐ% vÓ.Ü×ÑØØ$ôô ×#Ñ#Ø�˜˜Ð-=ôô ×Ñ˜Ð5EÔFØ.Øõ%	
ô* ×Ñ×7Ñ7×?Ò?ÜØØÜ�tœWÓ%Ü�vœv b›zÓ*Ü�vœv b›zÓ*Ü�|¤WÓ-Ü×'Ñ'¨Ð3CÔDÜ—‘Ð)¨6Ó2Ü×#Ñ#ØØ(ôô ×'Ñ'Ø�F˜\˜NÐ1Aôô ×"Ñ" ?Ð9JÔKØ2Ø"õ%ô* 	ØØÜ�4œ¨dÔ3Ü�9œgÓ&Øõ	
ô ×Ñ×2Ñ2×:Ó:Ü×Ñ×;Ñ;×CÒCà!Ø!ð‘ð "ð�ó ‘ä—I‘I×%Ñ%×9Ñ9×?Ñ?Ø! DÑ(õô —I‘I×%Ñ%×9Ñ9×?Ñ?ÀÔEð	�ô —‘˜X ~´s¸5³zÔBÜ—‘ØØ!ÜØ&Ü Ÿ)™)×+Ñ+×?Ñ?×EÑEØ%¨Ñ,óñóõ	ñ ð ;r=   c                 ón   —  t        j                  ddt         j                  j                  f«      | «      S )N)rÞ   râ   )r   r¾   rO   ré   )Úfns    r;   Úquote_fixturesz%QuotedNameArgumentTest.quote_fixtures»  s:   € ð
Œw×#Ñ#ØØœG×,Ñ,×HÑHÐIó
ð óð 	r=   c                 ó>  — t        t        j                  «      }t        j                  j
                  j                  r+|j                  |«      }t        t        |t        «      «       y t        t        «      5  |j                  |«      }d d d «       y # 1 sw Y   y xY wr’   )r   r   r9   r   rO   Úreflect_table_optionsr4   Úget_table_optionsr'   Ú
isinstancer7   r   ÚNotImplementedError)ry   rh   r‚   Úress       r;   Útest_get_table_optionsz-QuotedNameArgumentTest.test_get_table_optionsÁ  si   € ä”v—y‘yÓ!ˆä×Ñ×1Ñ1×9Ò9Ø×(Ñ(¨Ó.ˆCÜ”J˜s¤DÓ)Õ*äÔ2Õ3Ø×,Ñ,¨TÓ2�÷ 4×3Ñ3ús   Á8BÂBc                 ób   — t        t        j                  «      }|j                  d|z  «      sJ ‚y )Nrä   )r   r   r9   Úget_view_definition©ry   rh   r‚   s      r;   Útest_get_view_definitionz/QuotedNameArgumentTest.test_get_view_definitionÌ  s+   € ô ”v—y‘yÓ!ˆØ×'Ñ'¨	°DÑ(8Ô9Ð9Ñ9r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_columnsrú   s      r;   Útest_get_columnsz'QuotedNameArgumentTest.test_get_columnsÒ  ó$   € ä”v—y‘yÓ!ˆØ×Ñ Ô%Ð%Ñ%r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_pk_constraintrú   s      r;   Útest_get_pk_constraintz-QuotedNameArgumentTest.test_get_pk_constraint×  s$   € ä”v—y‘yÓ!ˆØ×%Ñ% dÔ+Ð+Ñ+r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_foreign_keysrú   s      r;   Útest_get_foreign_keysz,QuotedNameArgumentTest.test_get_foreign_keysÜ  s$   € ä”v—y‘yÓ!ˆØ×$Ñ$ TÔ*Ð*Ñ*r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_indexesrú   s      r;   Útest_get_indexesz'QuotedNameArgumentTest.test_get_indexesá  rÿ   r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_unique_constraintsrú   s      r;   Útest_get_unique_constraintsz2QuotedNameArgumentTest.test_get_unique_constraintsæ  s&   € ô ”v—y‘yÓ!ˆØ×*Ñ*¨4Ô0Ð0Ñ0r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_table_commentrú   s      r;   Útest_get_table_commentz-QuotedNameArgumentTest.test_get_table_commentì  s&   € ô ”v—y‘yÓ!ˆØ×%Ñ% dÔ+Ð+Ñ+r=   c                 ó\   — t        t        j                  «      }|j                  |«      sJ ‚y r’   )r   r   r9   Úget_check_constraintsrú   s      r;   Útest_get_check_constraintsz1QuotedNameArgumentTest.test_get_check_constraintsò  s&   € ô ”v—y‘yÓ!ˆØ×)Ñ)¨$Ô/Ð/Ñ/r=   N)r>   r?   r@   Úrun_create_tablesrš   rA   rX   rð   r÷   r   rO   rê   rû   rþ   r  r  r  Úunique_constraint_reflectionr  Úcomment_reflectionr  Úcheck_constraint_reflectionr  rB   r=   r;   rÛ   rÛ   d  s+  „ ØÐØ€KàñPó ðPòdð ñ3ó ð3ð Ø×Ñ×,Ñ,ñ:ó -ó ð:ð ñ&ó ð&ð ñ,ó ð,ð ñ+ó ð+ð ñ&ó ð&ð Ø×Ñ×2Ñ2ñ1ó 3ó ð1ð Ø×Ñ×(Ñ(ñ,ó )ó ð,ð Ø×Ñ×1Ñ1ñ0ó 2ó ñ0r=   rÛ   c           
      ó”  — 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   rQ   rB   r=   r;   r­   z$_multi_combination.<locals>.<lambda>ý  s
   € ”F×&Ò&r=   rN   r¦   r0   r¥   TFÚ
use_filter)r   r¾   rO   rP   r   ÚDEFAULTÚ	TEMPORARYÚANYr   ÚTABLEÚVIEWÚMATERIALIZED_VIEWÚANY_VIEW)rï   rN   r0   r¥   Úfilter_namess        r;   Ú_multi_combinationr!  ù  só   € Ü×!Ñ!Øá&Ü×Ñ×$Ñ$ð	
ð ô€Fô × Ñ Ü×ÑÜ×ÑÜ�‰Øô	€Eô ×ÑÜ×ÑÜ�‰Ü×$Ñ$Ü�‰Ü×ÑÜ×Ñœ:Ÿ?™?Ñ*Ü×Ñœ:×7Ñ7Ñ7Øô	€Dô ×'Ñ'¨¨e¸lÔK€Lá‘%™™\¨"Ó-Ó.Ó/Ó0Ð0r=   c                   óH  — 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!jD                  jF                  d„ «       Z$e!jD                  jF                  d„ «       Z%e!jD                  jF                  d„ «       Z&e!jD                  jF                  d„ «       Z'e!jD                  jF                  e!jD                  jP                  d„ «       «       Z)e!jD                  jF                  d„ «       Z*e!jD                  jF                  d „ «       Z+ e!jX                  dd!e!jD                  jZ                  fd"¬#«       e!jX                  de!jD                  j\                  fdd$¬#«      d%„ «       «       Z/ e!jX                  de!jD                  j\                  fdd$¬#«      d&„ «       Z0e!jD                  jb                  d'„ «       Z2e!jD                  jf                  e!jD                  jh                  d(„ «       «       Z5e!jD                  jl                  d)„ «       Z7e!jD                  jl                  e!jD                  j\                  d*„ «       «       Z8d_d+„Z9 e!jX                  d,dde!jD                  j\                  fdde!jD                  jf                  fdde!jD                  j\                  e!jD                  jf                  z   fd-¬#«      d.„ «       Z:e!jD                  jv                  d/„ «       Z<e!jD                  jv                  d0„ «       Z=e!jD                  jv                  e!jD                  j|                  e!jD                  jh                  d1„ «       «       «       Z? e!jX                  d2de!jD                  j\                  fd$¬#«      e!jD                  j€                  d3„ «       «       ZA e!jX                  d2de!jD                  j\                  fd$¬#«      e!jD                  jZ                  d4„ «       «       ZBe!jD                  j†                  e!jD                  j\                  d5„ «       «       ZD e!jX                  d2de!jD                  j\                  fd$¬#«      e!jD                  jŠ                  d6„ «       «       ZF e!jX                  d7d8d9¬#«      e!jD                  jŠ                  e!jD                  jŽ                  e!jD                  j�                  d:„ «       «       «       «       ZIe!jD                  jv                  e!jD                  j”                  d;„ «       «       ZKe!jD                  j˜                  d<„ «       ZM e!jX                  de!jD                  j\                  fd2d$¬#«      e!jD                  j”                  d=„ «       «       ZNe!jD                  jf                   e!jX                  d2de!jD                  j\                  fd$¬#«      d>„ «       «       ZOe!jD                  jf                  d?„ «       ZPe!jD                  j¢                  d@„ «       ZR e!jX                  de!jD                  j\                  fd2d$¬#«      dA„ «       ZS e!jX                  de!jD                  j\                  fd«      dB„ «       ZTe!jª                  dC„ «       ZVe!jD                  j®                  eXdD„ «       «       ZYe!jD                  jl                  eXdE„ «       «       ZZdF„ Z[d`dG„Z\dadH„Z]eXdI„ «       Z^e!jD                  j€                  eXdJ„ «       «       Z_dK„ Z`e!jD                  jZ                  eXdL„ «       «       Zae!jD                  jŠ                  eXdM„ «       «       Zbe!jD                  j”                  eXdN„ «       «       Zce!jD                  jÈ                  eXdO„ «       «       Ze e!jX                  dPe!jD                  j®                  fdQdRe!jD                  j€                  fdSe!jD                  jZ                  fdTe!jD                  jŠ                  fdUe!jD                  j”                  fdVe!jD                  jÈ                  fdWe!jD                  jl                  fdX¬#«	      dY„ «       ZfdZ„ Zg e!jX                  ddd$¬#«       e!jX                  de!jD                  jÐ                  fdd[¬#«      d\„ «       «       Zie!jD                  jl                  d]„ «       Zje!jD                  jÖ                  d^„ «       Zly)bÚComponentReflectionTestNTc                 óÆ   — | j                  |d «       t        j                  j                  j                  r+| j                  |t        j
                  j                  «       y y r’   )Údefine_reflected_tablesr   rO   rP   r4   r   rQ   rV   s     r;   rX   z%ComponentReflectionTest.define_tables  sF   € à×#Ñ# H¨dÔ3Ü×Ñ×#Ñ#×+Ò+Ø×'Ñ'¨´'·.±.×2LÑ2LÕMð ,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|¢­Ž 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                  j0                  j                  �r›t3        dC|j                  j4                  |j                  j6                  d	¬ «       t3        dD|j                  j                   |j                  j6                  |j                  j4                  «       |�st        dE|t        dFt        j                  d«      «      d	¬G«      }t        dH|t        d-t        j                  d	¬
«      t        dFt        j                  d«      «      d	¬G«      }t         j                  j8                  j                  r€t         j                  j:                  j                  r\t3        dI|j                  j<                  j?                  «       «       t3        dJ|j                  j<                  j?                  «       «       t         j                  j@                  j                  r| jC                  ||«       |s7t         j                  jD                  j                  r| jG                  |«       y y y )KNÚ.Ú z%susers.user_idÚ
user_id_fkrà   rB   ÚusersÚuser_idTrH   Útest1é   F©ÚnullableÚtest2Úparent_user_idú	test2 > 0Úzz_test2_gt_zeroúusers check constraint©rh   rá   útest2 <= 1000©rN   rÈ   Ú
dingalingsÚdingaling_idÚ
address_idz%semail_addresses.address_idÚzz_email_add_id_fgúdi fk commentÚid_userrJ   é   )Ú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_testrG   ú
id comment)rI   rá   údata % comment©rá   Úd2ú)Comment types type speedily ' " \ '' Fun!Úd3é*   úComment
withescapesúthe test % ' " \ table comment)rN   rá   Úno_constraintsú"no
constraintshasescapedcommentÚlocal_tableÚ	remote_idz%s.remote_table_2.id)rÈ   rN   Ú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   rO   Úself_referential_foreign_keysr4   r   r   r   rk   rl   ÚCHARÚFloatr   rè   r   rç   r¢   r+  ræ   Úcross_schema_fk_reflectionr   rQ   r9   rv   Údefault_schema_nameÚindex_reflectionr!   r,  r0  Úindexes_with_ascdescÚreflect_indexes_with_ascdescr^  Údescrê   rS   Útemp_table_reflectionrU   )r:   rW   rN   Úschema_prefixÚparent_id_argsr*  r]  r_  s           r;   r%  z/ComponentReflectionTest.define_reflected_tables"  s4  € áØ" S™L‰MàˆMä×Ñ×9Ñ9×AÒAäØ%¨Ñ5¸Lôð‰Nð  ˆNÜØØÜ�9œbŸf™f°$Ô7Ü�7œBŸG™G A›J°Ô7Ü�7œBŸH™H›J°Ô7ÜÐ#¤R§Z¡ZÐA°.ÒAÜ×ÑØØ'Ø0ôô
 ×Ñ˜Ó/ØØô
ˆô" 	ØØÜ�>¤2§:¡:¸4Ô@ÜØÜ—
‘
ÜØ2°]ÑBØ-Ø+ôóô ØÜ—
‘
ÜÐ,¨}Ñ<Ó=óô
 �6œ2Ÿ9™9 R›=°Ô6Ü×ÑØ6Ø)ôô ×ÑØØØ-Ø+ô	ð Øõ=	
ô@ 	ØØÜ�<¤§¡Ó,ÜÐ#¤R§Z¡Z´¸E¿G¹G¿O¹OÓ1LÓMÜ�?¤B§I¡I¨b£M¸Ô>Ü×#Ñ#Ø =¸/ôð Øõ	
ô 	ØØÜ�4œŸ™°¸|ÔLÜ�6œ2Ÿ9™9 R›=Ð2BÔCÜØÜ—	‘	˜"“ØHôô
 �4œŸ™ 2›Ð0HÔIØØ9õ	
ô 	ØØÜ�6œ2Ÿ9™9 R›=Ó)ØØ<õ	
ô ×Ñ×6Ñ6×>Ó>Øˆ~ÜØ!ØÜ˜4¤§¡¸Ô>Ü˜6¤2§9¡9¨R£=Ó1ÜØ#Ü"Ø2´W·^±^×5OÑ5OÑOóóð #'Ü!Ÿ9™9×,Ñ,×@Ñ@öô Ø"ØÜ˜4¤§¡¸Ô>ÜØ"Ü"Ø/Ü$Ÿi™i×/Ñ/×CÑCñDóóô ˜6¤2§9¡9¨R£=Ó1Ø!Ø"&õô Ø$ØÜ˜4¤§¡¸Ô>Ü˜6¤2§9¡9¨R£=Ó1Ø!Ø"&õô ×Ñ×,Ñ,×4Ó4Ü�- §¡§¡°·±·±ÀdÕKÜØ §¡§¡°%·'±'·-±-ÀÇÁÇÁôò ä',Ø*ØÜ˜3¤§	¡	¨!£Ó-Ø"&ô	(Ð$ô &+Ø(ØÜ˜4¤§¡¸Ô>Ü˜3¤§	¡	¨!£Ó-Ø"&ô&Ð"ô ×$Ñ$×9Ñ9×AÒAÜ×(Ñ(×EÑE×MÒMäÐ+Ð-A×-CÑ-C×-EÑ-E×-JÑ-JÓ-LÔMÜ˜/Ð+=×+?Ñ+?×+AÑ+A×+FÑ+FÓ+HÔIä×Ñ×2Ñ2×:Ò:Ø×Ñ˜X vÔ.Ùœ'×*Ñ*×@Ñ@×HÒHØ×"Ñ" 8Õ,ð Iˆvr=   c                 ób   — t        t        t        j                  dt        j                  › �«      S r`   rb   rd   s    r;   re   z'ComponentReflectionTest.temp_table_nameÐ  rf   r=   c                 óÌ  — t        t        t        j                  «      }| 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                  rwt        j                  j                   j                  rRt#        j$                  |d
t'        dt        j                  z  «      «       t#        j$                  |dt'        d«      «       y y y )NrG   TrH   rh   rK   r´   Úuser_tmp_uq_rà   Úuser_tmp_ixrZ   ri   r[   rj   )r   r   r9   re   r   r   rk   rl   rm   rç   rc   r!   r   rO   rR   r4   rn   r   r]   r    ro   s        r;   rU   z*ComponentReflectionTest.define_temp_tablesÖ  s  € ä$¤V¬V¯Y©YÓ7ˆØ×(Ñ(Ó*ˆ
ÜØØÜ�4œŸ™¨TÔ2Ü�6œ2Ÿ:™: b›>Ó*Ü�5œ"Ÿ&™&Ó!ô ×Ñ ¨|¼F¿L¹L¸>Ð-JÔKÜ�H‰H�] EÓ*ñ
ð ñ
ˆô" ×Ñ×,Ñ,×4Ò4Ü× Ñ ×0Ñ0×8Ò8ä�L‰LØØÜð0Ü28·,±,ñ?óôô �L‰L˜ =´#Ð6LÓ2MÕNð 9ð 5r=   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 rId}	|rt        j                  d«      r|› d|	› �}	d|	› d|› d�}
t        j                  |d
t        |
«      «       t        j                  |dt        d|› d|› �«      «       Œº y )Nr8  ©r*  rC  r8  r'  Ú_vzMATERIALIZED r(  zCREATE zVIEW rå   rZ   Ú	mat_indexÚoraclezCREATE INDEX z ON z(data)r[   zDROP )	r   rO   Úmaterialized_viewsr4   Úsetr   r]   r    Úagainst)r:   rW   rN   Úmaterializedrq   ÚfullnameÚ	view_nameÚprefixr^   Ú
index_namer¸   s              r;   rS   z$ComponentReflectionTest.define_viewsø  s	  € ä×Ñ×.Ñ.×6Ò6Ø(˜>‰Lä›5ˆLÛDˆJØ!ˆHÙØ$˜X Q z lÐ3�Ø  4™ˆIØ(2°lÑ(B‘_ÈˆFà˜&˜  y kÐ1CÀHÀ:ÐNð ô �L‰L˜ >´3°u³:Ô>Ø˜\Ñ)Ø(�
ÙœgŸo™o¨hÔ7Ø$* 8¨1¨Z¨LÐ!9�JØ% j \°°i°[ÀÐG�Ü—‘˜X ~´s¸3³xÔ@Ü�L‰LØ˜-¬¨u°V°H¸EÀ)ÀÐ-MÓ)Nõñ# Er=   c                 óÜ   — i }t         j                  |v r|j                  |«       t         j                  |v r|j                  |«       t         j                  |v r|j                  |«       |S r’   )r   r  Úupdater  r  )ry   r¥   rµ   r›   rz  rö   s         r;   Ú_resolve_kindz%ComponentReflectionTest._resolve_kind  sX   € ØˆÜ×Ñ˜tÑ#Ø�J‰J�vÔÜ�?‰?˜dÑ"Ø�J‰J�uÔÜ×'Ñ'¨4Ñ/Ø�J‰J�|Ô$Øˆ
r=   c                 ó  — t         j                  j                  j                  s!|j	                  «        |j	                  «        y t         j                  j
                  j                  s"|j                  |«       |j	                  «        y y r’   )r   rO   rê   r4   Úclearrw  r€  )ry   r›   rz  s      r;   Ú_resolve_viewsz&ComponentReflectionTest._resolve_views  s^   € Ü×Ñ×6Ñ6×>Ò>Ø×ÑÔ Ø�K‰K�MÜ×!Ñ!×4Ñ4×<Ò<Ø�L‰L˜Ô&Ø×ÑÕ ð =r=   c           	      óØ  — d„ }|t         j                  u rd„ }|t         j                  u rd„ }d ddht        j                  j
                  dddd	| j                  «       hi}t        j                  j                  j                  sB|d    j                  d«       |t        j                  j
                     j                  ddg«       t        j                  j                  j                  s|d    j                  ddg«       t        j                  j                  j                  r$t        j                  j                  j                  s$|d    j                  d	| j                  «       g«       t        j                  j                  j                  s|d    j                  d	g«       |j!                  «       D ��ci c]#  \  }} ||«      r|d
   ||   vr|r|d
   |v r||“Œ% }	}}|	S c c}}w )Nc                  ó   — y)NTrB   )Ú_s    r;   r­   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>&  s   €  r=   c                 ó   — d| d   vS ©NÚtmprÏ   rB   ©r¬   s    r;   r­   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>(  s   €  U°!°A±$Ñ%6r=   c                 ó   — d| d   v S r‰  rB   r‹  s    r;   r­   z8ComponentReflectionTest._resolve_names.<locals>.<lambda>*  s   €  U¨a°©d¡]r=   rX  rZ  rV  r]  r_  r–   rÏ   )r   r  r  r   r   rQ   re   rO   re  r4   Úaddr€  rg  rk  Útemp_table_namesrn   Úitems)
ry   rN   r0   r   ÚvaluesÚscope_filterÚremovedr¬   Úvrö   s
             r;   Ú_resolve_namesz&ComponentReflectionTest._resolve_names%  sÂ  € Ù%ˆØ”K×'Ñ'Ñ'Ù6ˆLØ”K×)Ñ)Ñ)Ù2ˆLð �>Ð#3Ð4Ü�N‰N×&Ñ&ØØ&Ø$ØØ×$Ñ$Ó&ð)ð	
ˆô ×Ñ×:Ñ:×BÒBØ�D‰M×Ñ˜mÔ,Ø”G—N‘N×.Ñ.Ñ/×6Ñ6ØÐ!1Ð2ôô ×Ñ×0Ñ0×8Ò8Ø�D‰M× Ñ Ø'Ð)=Ð>ôô × Ñ ×6Ñ6×>Ò>Ü×#Ñ#×4Ñ4×<Ò<à�D‰M× Ñ  ,°×0DÑ0DÓ0FÐ!GÔHÜ×Ñ×/Ñ/×7Ò7Ø�D‰M× Ñ  , Ô0ð Ÿ™œô
á&‘��1Ù˜AŒØ�!‘˜G F™OÑ+Ù! Q q¡T¨\Ñ%9ð	 ˆq‰DØ&ð 	ñ 
ð ˆ
ùó
s   Æ9(G&c                 ó¾  — |dft         j                  i}|dft         j                  |dft         j                  |dft         j                  i}| 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                  |dft         j                  || j                  «       ft         j                  i}| j	                  ||||«      }| j                  ||||«      }|S )NÚdingalings_vÚemail_addresses_vÚusers_vr–   r*  r8  rC  rJ  rT  rV  rX  rZ  r]  r_  ©r(   r  r„  re   r�  r”  )	ry   rN   r0   r¥   r   rz  r›   rµ   rö   s	            r;   Úexp_optionsz#ComponentReflectionTest.exp_optionsP  s=  € ð   Ð0´$·(±(Ð;ˆàÐ(Ð)¬4¯8©8Ø�YÐ¤§¡Ø�\Ð"¤D§H¡Hð
ˆð
 	×Ñ˜E <Ô0à�WÐœtŸx™xØ�\Ð"¤D§H¡HØÐ&Ð'¬¯©Ø�^Ð$¤d§h¡hØÐ%Ð&¬¯©Ø�]Ð#¤T§X¡XØ�^Ð$¤d§h¡hØÐ%Ð&¬¯©ØÐ+Ð,¬d¯h©hØÐ)Ð*¬D¯H©HØ�T×)Ñ)Ó+Ð,¬d¯h©hð
ˆð × Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓCˆØˆ
r=   c                 ó*  — dd i}|df|i}|df||df||df|i}| j                  ||«       |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||| j                  «       f|i}| j                  ||||«      }	| j                  ||||	«      }	|	S )NÚtextr–  r—  r˜  r–   r*  r8  rC  rJ  rS  rT  rU  rV  rX  rZ  r]  r_  )r„  re   r�  r”  )
ry   rN   r0   r¥   r   Úemptyrz  r›   rµ   rö   s
             r;   Úexp_commentsz$ComponentReflectionTest.exp_commentso  s   € ð ˜�ˆØ Ð0°%Ð8ˆàÐ(Ð)¨5Ø�YÐ Ø�\Ð" Eð
ˆð
 	×Ñ˜E <Ô0à�WÐ˜uØ�\Ð" EØÐ&Ð'¨Ø�^Ð$ØÐ=ð'ð Ð%Ð&ØÐ@ð)ð �]Ð# UØ�^Ð$ eØÐ%Ð&¨ØÐ+Ð,¨eØÐ)Ð*¨EØ�T×)Ñ)Ó+Ð,¨eð
ˆð" × Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓ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}| j                  ||«       |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|| j                  «       f |d«       ‰
d«       ‰
d«      gi}| j	                  ||||«      }	| j                  ||||	«      }	|	S )-NFTc                 ó`   — | |t         j                  |||dœ}|dk(  r|j                  d«       |S )N)rh   ÚautoincrementÚtypeÚdefaultrá   r/  Úomitr¡  )r(   r  Úpop)rh   Úautor£  rá   r/  rö   s         r;   r~   z0ComponentReflectionTest.exp_columns.<locals>.colš  s;   € ð Ø!%ÜŸ™Ø"Ø"Ø$ñˆCð �vŠ~Ø—‘˜Ô(ØˆJr=   c                 óB   •— dt         j                  ddœ|¥} ‰| fi |¤ŽS )NTF)r¦  r£  r/  ©r(   r  )rh   rp   r~   s     €r;   Úpkz/ComponentReflectionTest.exp_columns.<locals>.pk©  s&   ø€ Ø¬4¯8©8ÀÑMÈ"ÐMˆBÙ�t‘?˜r‘?Ð"r=   r–  r9  r¤  )r¦  r/  r:  r=  rJ   r—  rD  rE  r˜  r+  r,  r.  r0  r1  r–   rG   rh   r´   r*  r8  rC  rJ  rK  rM  rL  rN  rO  rP  rR  rT  rV  rW  rX  rY  rZ  r]  r^  r_  r™  )ry   rN   r0   r¥   r   r©  rz  r›   rµ   rö   r~   s             @r;   Úexp_columnsz#ComponentReflectionTest.exp_columns“  sÏ  ø€ ð ¤d§h¡h¸Àtó	ô	#ð
 �^Ð$Ù�N¨¼$¿(¹(ÔCÙ�LÓ!Ù�I“Ù�F“ð	'ð
ˆð Ð(Ð)Ù�L v¼¿¹ÔAÙÐ$Ó%Ù�OÓ$ð,ð
 �YÐÙ�I F´T·X±XÔ>Ù�G¤d§h¡hÔ/Ù�G¤d§h¡hÔ/ÙÐ$Ó%ð	"ð �\Ð"Ù�D˜v´·±Ô9Ù�F“Ù�E“
ð%ð
ˆð$ 	×Ñ˜E <Ô0à�WÐÙ�9“Ù�G eÔ,Ù�G eÔ,ÙÐ$Ó%ð	 ð �\Ð"Ù�>Ó"Ù�LÓ!Ù�I“Ù�F“ð	%ð Ð&Ð'Ù�<Ó ÙÐ$Ó%Ù�OÓ$ð*ð
 �^Ð$Ù�4 Ô.Ù�FÐ$4Ô5ÙØØLôñ �DÐ":Ô;ð'ð Ð%Ð&©¨V«¨Ø�]Ð#¡b¨£h±°F³¹SÀÓ=MÐ%NØ�^Ð$¡r¨$£x±°Z³Á#ÀfÃ+Ð&NØÐ%Ð&©¨D«±3°v³;Ð(?ØÐ+Ð,©s°3«x¨jØÐ)Ð*©R°«X±s¸3³xÐ,@Ø�T×)Ñ)Ó+Ð,Ù�4“Ù�F“Ù�E“
ð/ðC&
ˆðN × Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓCˆØˆ
r=   c                 ó
   — h d£S )N>   rh   r¢  r£  r/  rB   ©ry   s    r;   Ú_required_column_keysz-ComponentReflectionTest._required_column_keysó  s   € â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}| j                  ||«       |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«      || j                  «       f |d«      i}	t        j                  j                  j
                  s.|	j                  «       D ]  }
|
d   €Œ	t         j                  |
d<   Œ | j                  ||	||«      }| j                  ||||«      }|S )Nr5  c                 ó    — t        |«      | |dœS )N)Úconstrained_columnsrh   rá   )Úlist)rh   rá   Úcolss      r;   r©  z+ComponentReflectionTest.exp_pks.<locals>.pkþ  s   € ä'+¨D£zØØ"ñð r=   rà   r–  r9  r—  r˜  r–   r*  r+  r8  rC  r:  rH  rI  rJ  rG   rT  rV  rX  rZ  r]  r_  rh   )r(   r  r   rO   Úmaterialized_views_reflect_pkr4   r„  re   Úreflects_pk_namesr�  r�  r”  )ry   rN   r0   r¥   r   r©  r�  rz  r›   rµ   Úvalrö   s               r;   Úexp_pkszComponentReflectionTest.exp_pks÷  s°  € ô  Ÿ8™8¨Tô 	ñ ˜”ˆÜ×Ñ×9Ñ9×AÒAØ# ^Ð4±b¸Ó6HÐI‰Là# ^Ð4°eÐ<ˆLàÐ(Ð)¨5Ø�YÐ Ø�\Ð" Eð
ˆð
 	×Ñ˜E <Ô0à�WÐ™r )›}Ø�\Ð"¡B ~Ó$6ØÐ&Ð'©Ø =¸/ô*ð �^Ð$¡b¨£hØÐ%Ð&¨Ø�]Ð#¡R¨£XØ�^Ð$¡b¨£hØÐ%Ð&©¨4«ØÐ+Ð,¨eØÐ)Ð*©B¨t«HØ�T×)Ñ)Ó+Ð,©b°«hð
ˆô ×Ñ×1Ñ1×9Ò9Ø—}‘}–�Ø�v‘;Ñ*Ü"&§(¡(�C˜’Kð 'ð × Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓCˆØˆ
r=   c                 ó
   — ddhS )Nrh   r°  rB   r¬  s    r;   Ú_required_pk_keysz)ComponentReflectionTest._required_pk_keys'  s   € àÐ-Ð.Ð.r=   c                 óT  ‡—  G d„ d«      Š|t         j                  d fˆfd„	}|dfg i}|dfg |dfg |dfg i}| j                  ||«       |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 || j                  «       fg i}t        j                  j                  j                  s||df   j                  «        t        j                  j                  j                  sE|j                  «       D ]2  }	|	D ]+  }
|
d    t         j                  usŒt         j                  |
d <   Œ- Œ4 | j                  ||||«      }| j                  ||||«      }|S )!Nc                   ó   — e Zd Zd„ Zy)ú+ComponentReflectionTest.exp_fks.<locals>.ttc                 ó\   — |d u xs' t         j                  j                  j                  |k(  S r’   )r   r9   rv   rf  )ry   rÊ   s     r;   Ú__eq__z2ComponentReflectionTest.exp_fks.<locals>.tt.__eq__3  s,   € à˜T�Mò FÜ—y‘y×(Ñ(×<Ñ<ÀÑEðr=   N©r>   r?   r@   r½  rB   r=   r;   r£   r»  2  s   „ ór=   r£   c                 óF   •— | ||t         j                  |�|n ‰«       ||dœS )N)r°  Úreferred_columnsrh   r1   Úreferred_schemaÚreferred_tablerá   r¨  )r²  Úref_colÚ	ref_tableÚ
ref_schemarh   rá   r£   s         €r;   Úfkz+ComponentReflectionTest.exp_fks.<locals>.fk9  s1   ø€ ð (,Ø$+ØÜŸ8™8à",Ð"8‘J¹b»dà"+Ø"ñ
ð 
r=   r–  r—  r˜  r–   r*  r1  r+  r)  rà   r8  r=  r:  rC  r;  r<  r5  rD  rJ  rT  rV  rW  rG   rZ  )rÅ  rX  rY  r]  r_  rh   )r(   r  r„  r   rQ   re   r   rO   rb  r4   rƒ  Únamed_constraintsr�  r�  r”  )ry   rN   r0   r¥   r   rÆ  rz  r›   rµ   Úvalsrµ  rö   r£   s               @r;   Úexp_fkszComponentReflectionTest.exp_fks+  s5  ø€ ÷	ñ 	ð Ü—‘Øõ	ð(   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ñ˜E <Ô0à�WÐÙÐ$Ð%¨	 {°GÀ,ÔOð ð �\Ð"Ù�I�;  ¨WÓ5ÙØ!�NØ!�NØ%Ø-Ø+ôð	%ð Ð&Ð'ÙÐ$Ð%¨	 {°GÓ<ð*ð �^Ð$ bØÐ%Ð&¨Ø�]Ð#ÙØ �MØ�FØ$Ü%×1Ñ1ô	ð&ð �^Ð$Ù�J�< $ ¨À4ÔHð'ð Ð%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ�T×)Ñ)Ó+Ð,¨bðC"
ˆôF ×Ñ×=Ñ=×EÒEØ�F˜GÐ$Ñ%×+Ñ+Ô-Ü×Ñ×1Ñ1×9Ò9ØŸ™ž�Û�CØ˜6‘{¬$¯(©(Ò2Ü&*§h¡h˜˜Fšñ  ð (ð
 × Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓCˆØˆ
r=   c                 ó
   — h d£S )N>   rh   rÂ  rÁ  rÀ  r°  rB   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}| j                  ||«       |r||df   j                   |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¬*«      ¢|| j	                  «       fg  |d-d.¬
«      ¢ |d/d0t
        j                  › �dd¬1«      ¢i}t        j                  j                  j                  r$t        j                  j                  j                  s*||d&f   j                  «        ||d+f   j                  «        | j                  ||||«      }	| j                  ||||	«      }	|	S )2NF)r?  Úcolumn_sortingÚ
duplicatesrÆ  c                 ó   — t         j                  j                  }t         j                  j                  }t         j                  j                  }|r|j
                  r|r|j
                  sy|t        |«      | t        j                  g dœ}	|r4||	d<   |j
                  r#|	d   x|	d<   }
|
D �cg c]
  }||v rd n|‘Œ c}|	d<   |r| |	d<   |	gS c c}w )NrB   )r?  Úcolumn_namesrh   Údialect_optionsÚinclude_columnsrÍ  rÐ  ÚexpressionsÚduplicates_constraint)	r   rO   Úforeign_keys_reflect_as_indexÚ#unique_constraints_reflect_as_indexÚ*reflect_indexes_with_ascdesc_as_expressionr4   r±  r(   r  )rh   r?  rÍ  rÎ  rÆ  r²  Úfk_reqÚdup_reqÚsorting_expressionrö   Úorigr¢   s               r;   r¸   z0ComponentReflectionTest.exp_indexes.<locals>.idx”  sâ   € ô ×%Ñ%×CÑCˆFÜ×&Ñ&×JÑJˆGä× Ñ ×KÑKð ñ ˜6Ÿ>š>Ù 7§?¢?àà Ü $ T£
ØÜ#'§8¡8Ø#%ñˆCñ Ø(6�Ð$Ñ%Ø%×-Ò-Ø03°NÑ0CÐC�C˜Ñ&¨áDHó+ÙDH¸q  ^Ñ 3™¸Ñ:ÀDñ+�C˜Ñ'ñ Ø/3�Ð+Ñ,Ø�5ˆLùò+s   Â,Cr–  r—  r˜  r–   rJ   ru  rà   r*  r1  r)  T)rh   rÆ  r+  r0  r,  r\  r[  )rh   r?  r8  )rh   r?  rÎ  r=  r:  r9  rA  rC  rE  rD  rJ  rT  rV  rW  rX  rY  rZ  r]  r^  r`  )rj  )rh   rÍ  r_  ra  r´   rq  rh   rp  )rh   rÎ  r?  )r„  Úextendr(   r  re   r   rc   r   rO   rh  r4   ri  rƒ  r�  r”  )
ry   rN   r0   r¥   r   r¸   rz  r›   rµ   rö   s
             r;   Úexp_indexesz#ComponentReflectionTest.exp_indexes�  sú  € ð ØØØô#	ðJ   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ñ˜E <Ô0ÙØ˜& .Ð1Ñ2×9Ñ9Ù�F Ô-ôð �WÐð  ÙÐ%¨L¸TÔBð á�Y ¨°ÔGð ñ �W˜g¨MÀ$ÔGð ð
 �\Ð"ð 
%Ù�V¤$§(¡(°4ÀDÔIð
%á�Y¤T§X¡X°$Ô7ð
%ñ Ø Ø"Ø1ØØ#ôð
%ð Ð&Ð'ð *Ù�_¬4¯8©8Ô4ð*áÐ%¬D¯H©H¸Ô>ð*ð �^Ð$ bØÐ%Ð&¨Ø�]Ð#ð &Ù�[¤t§x¡x°DÔ9ð&ð �^Ð$ð 'Ù�Z¤d§h¡h°4Ô8ð'ð Ð%Ð&¨ØÐ+Ð,ð /ÙØØ*Ø$'¨Ð#3ôð/ð Ð)Ð*ð -ÙØ˜o¸sÀIÐ>Nôð-ð
 �T×)Ñ)Ó+Ð,ð /Ù�U Ô/ð/áØØ'¬¯© ~Ð6Ø#Øô	ð/ðU3
ˆôj × Ñ ×5Ñ5×=Ò=Ü×#Ñ#×@Ñ@×HÒHà�FÐ2Ð3Ñ4×:Ñ:Ô<Ø�FÐ0Ð1Ñ2×8Ñ8Ô:Ø× Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓCˆØˆ
r=   c                 ó
   — h d£S )N>   rh   r?  rÐ  rB   r¬  s    r;   Ú_required_index_keysz,ComponentReflectionTest._required_index_keys  s   € â1Ð1r=   Fc                 óö  — d dd dœd„}|dfg i}|dfg |dfg |dfg i}| j                  ||«       |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 || j                  «       fg  |ddt        j
                  › �¬ «      ¢i}	|ri |¥|¥|	¥S | j                  ||	||«      }
| j                  ||||
«      }
|
S )!NF)Úduplicates_indexÚis_indexrá   c                 ó†   — t         j                  j                  }|r|j                  syt	        |«      | |dœ}|r||d<   |gS )NrB   )rÐ  rh   rá   rá  )r   rO   Ú*unique_index_reflect_as_unique_constraintsr4   r±  )rh   rá  râ  rá   r²  Úreqrö   s          r;   Úucz+ComponentReflectionTest.exp_ucs.<locals>.uc  sL   € ô ×"Ñ"×MÑMˆCÙ §¢Øä $ T£
ØØ"ñˆCñ
  Ø*:�Ð&Ñ'Ø�5ˆLr=   r–  r—  r˜  r–   r*  r,  r0  r[  T)rh   rá  râ  r8  rJ   )rh   rá  r:  r9  rA  rB  )rh   rá  rá   rC  rJ  rT  rV  rX  rZ  r]  r_  rh   rp  rà   )r„  r(   r  re   r   rc   r�  r”  )ry   rN   r0   r¥   r   Úall_ræ  rz  r›   rµ   rö   s              r;   Úexp_ucszComponentReflectionTest.exp_ucs  s   € ð +/¸Èô	ð   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ñ˜E <Ô0à�WÐð  ÙØØØ&Ø%2Ø!ôð ð �\Ð"ð 	%Ù�F¤§¡¼D¿H¹HÔEð	%áØ Ø"Ø1Ø%=Ø/ôð	%ð Ð&Ð'¨Ø�^Ð$ bØÐ%Ð&¨Ø�]Ð# RØ�^Ð$ bØÐ%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ�T×)Ñ)Ó+Ð,ð /Ù�F <´·±¨~Ð!>Ô?ð/ð9
ˆñ@ Ø6�lÐ6 eÐ6¨vÐ6Ð6à×$Ñ$ T¨6°5¸,ÓGˆCØ×%Ñ% f¨e°\À3ÓGˆCØˆJr=   c                 ó
   — ddhS )Nrh   rÐ  rB   r¬  s    r;   Ú_required_unique_cst_keysz1ComponentReflectionTest._required_unique_cst_keysK  s   € à˜Ð'Ð'r=   c                 ó˜  ‡
—  G d„ dt         «      Š
dˆ
fd„	}|dfg i}|dfg |dfg |dfg i}| j                  ||«       |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 || j	                  «       fg i}| j                  ||||«      }	| j                  ||||	«      }	|	S )Nc                   ó   — e Zd Zd„ Zy)ú+ComponentReflectionTest.exp_ccs.<locals>.ttc                 óŠ   — |j                  «       j                  dd«      j                  dd«      j                  dd«      }| |v S )NÚ(r(  Ú)Ú`)ÚlowerÚreplace)ry   rÊ   rö   s      r;   r½  z2ComponentReflectionTest.exp_ccs.<locals>.tt.__eq__W  s@   € à—K‘K“Mß‘W˜S "Ó%ß‘W˜S "Ó%ß‘W˜S "Ó%ð	 ð ˜s�{Ð"r=   Nr¾  rB   r=   r;   r£   rí  V  s   „ ó#r=   r£   c                 ó   •—  ‰| «      ||dœS )N)Úsqltextrh   rá   rB   )rœ  rh   rá   r£   s      €r;   Úccz+ComponentReflectionTest.exp_ccs.<locals>.cc`  s   ø€ Ù! $›x°À'ÑJÐJr=   r–  r—  r˜  r–   r*  r6  r2  r3  r4  rM  r8  z$address_id > 0 and address_id < 1000r@  rà   rC  rJ  rT  rV  rX  rZ  r]  r_  r’   )Ústrr„  r(   r  re   r�  r”  )ry   rN   r0   r¥   r   rö  rz  r›   rµ   rö   r£   s             @r;   Úexp_ccszComponentReflectionTest.exp_ccsO  sK  ø€ ô	#”ô 	#õ	Kð
   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ñ˜E <Ô0à�WÐÙ�?¤D§H¡HÓ-ÙØØ&Ø4ôð ð �\Ð"ÙØ:Ø-ôð%ð Ð&Ð'¨Ø�^Ð$ bØÐ%Ð&¨Ø�]Ð# RØ�^Ð$ bØÐ%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ�T×)Ñ)Ó+Ð,¨bð/
ˆð2 × Ñ   v¨u°lÓCˆØ×!Ñ! &¨%°¸sÓCˆØˆ
r=   c                 ó
   — ddhS )Nrh   rõ  rB   r¬  s    r;   Ú_required_cc_keysz)ComponentReflectionTest._required_cc_keys‰  s   € à˜	Ð"Ð"r=   c                 ó€   — t        |«      }t        t        j                  j                  |j                  «       v «       y r’   )r   r'   r   r   rQ   Úget_schema_namesrŽ   s      r;   Útest_get_schema_namesz-ComponentReflectionTest.test_get_schema_names�  s,   € ä�zÓ"ˆä”—‘×*Ñ*¨d×.CÑ.CÓ.EÐEÕFr=   c                 ó²   — t        |«      }t        |j                  t        j                  j
                  «      «       t        |j                  d«      «       y )NÚsa_fake_schema_foo)r   r'   Ú
has_schemar   r   rQ   r&   rŽ   s      r;   Útest_has_schemaz'ComponentReflectionTest.test_has_schema“  s9   € ä�zÓ"ˆä�—‘¤§¡× :Ñ :Ó;Ô<Ü�—‘Ð!5Ó6Õ7r=   c                 óä   — |j                  ddt        t        j                  j                  i¬«      }t        |«      }t        t        j                  j                  |j                  «       v «       y)z
test #7300r´   Úbar©Úschema_translate_mapN)Úexecution_optionsr#   r   r   rQ   r   r'   rü  rŽ   s      r;   Ú%test_get_schema_names_w_translate_mapz=ComponentReflectionTest.test_get_schema_names_w_translate_mapš  s^   € ð  ×1Ñ1à�uÜœgŸn™n×8Ñ8ð"ð 2ó 
ˆ
ô �zÓ"ˆä”—‘×*Ñ*¨d×.CÑ.CÓ.EÐEÕFr=   c                 ó  — |j                  ddt        t        j                  j                  i¬«      }t        |«      }t        |j                  t        j                  j                  «      «       t        |j                  d«      «       y )Nr´   r  r  rÿ  )	r  r#   r   r   rQ   r   r'   r   r&   rŽ   s      r;   Útest_has_schema_w_translate_mapz7ComponentReflectionTest.test_has_schema_w_translate_map¨  si   € à×1Ñ1à�uÜœgŸn™n×8Ñ8ð"ð 2ó 
ˆ
ô �zÓ"ˆä�—‘¤§¡× :Ñ :Ó;Ô<Ü�—‘Ð!5Ó6Õ7r=   c                 ó   — t        |«      }t        d|j                  «       v «       t        |j                  d«      «       |j	                  t        d«      «       	 t        d|j                  «       v «       t        |j                  d«      «       |j                  «        t        d|j                  «       v «       t        |j                  d«      «       |j	                  t        d«      «       y # |j	                  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µ  sÑ   € ô �zÓ"ˆä�˜d×3Ñ3Ó5Ð5Ô6Ü�—‘ Ó+Ô,Ø×Ñœ3Ð6Ó7Ô8ð	;Ü�Y $×"7Ñ"7Ó"9Ð9Ô:Ü�T—_‘_ YÓ/Ô0Ø×ÑÔÜ�I ×!6Ñ!6Ó!8Ð8Ô9Ü�D—O‘O IÓ.Ô/à×ÑœsÐ#8Ó9Õ:øˆJ×ÑœsÐ#8Ó9Õ:ús   ÁA:C1 Ã1Dc                 ór   — t        j                  «       }t        |«       t        |j                  d«      sJ ‚y )Nrf  )r   r6   r   Úhasattrrv   )ry   Úengines     r;   Útest_dialect_initializez/ComponentReflectionTest.test_dialect_initializeÆ  s,   € ä×'Ñ'Ó)ˆÜ�ŒÜ�v—~‘~Ð'<Ô=Ð=Ñ=r=   c                 ón   — t        |«      }t        |j                  |j                  j                  «       y r’   )r   r   rf  rv   rŽ   s      r;   Útest_get_default_schema_namez4ComponentReflectionTest.test_get_default_schema_nameÌ  s(   € ä�zÓ"ˆÜˆD×$Ñ$ j×&8Ñ&8×&LÑ&LÕMr=   Úforeign_keyÚorder_byr¦   Ú
use_schemac                 óZ  — |rt         j                  }nd }h d£}t        |«      }|r'|j                  |«      D �cg c]  }|d   r|d   ‘Œ }}n|j	                  |«      }|D �	cg c]	  }	|	|vsŒ|	‘Œ }
}	|dk(  rg d¢}t        |
|«       y g d¢}t        t        |
«      |«       y c c}w c c}	w )N>   rV  rJ  rX  rT  rZ  r_  r]  r   r  rs  )r8  rC  r*  )r   rQ   r   Úget_sorted_table_and_fkc_namesÚget_table_namesr   Úsorted)ry   r�   r  r  rN   Ú_ignore_tablesr‚   Úrecrµ   ÚtÚtable_namesÚanswers               r;   Útest_get_table_namesz,ComponentReflectionTest.test_get_table_namesÑ  sÈ   € ñ Ü×'Ñ'‰FàˆFò
ˆô �zÓ"ˆáð  ×>Ñ>¸vÔFóáF�CØ�q’6ð �A“ØFð ñ ð ×)Ñ)¨&Ó1ˆFÙ"(ÓD¡&˜Q¨A°^Ò,C’q &ˆÐDà�}Ò$Ú?ˆFÜ�˜VÕ$â?ˆFÜ”�{Ó# VÕ,ùòùò Es   ºB#Á#	B(Á-B(c                 óH  — t        |«      }|rt        j                  }nd }|j                  |«      }t        j
                  j                  j                  r4t        t        |«      ddg«       t        |j                  |«      dg«       y g d¢}t        t        |«      |«       y )Nr—  r˜  r–  )r–  r—  r˜  )r   r   rQ   Úget_view_namesr   rO   rw  r4   r   r  Úget_materialized_view_names)ry   r�   r  r‚   rN   r  r  s          r;   Útest_get_view_namesz+ComponentReflectionTest.test_get_view_namesü  s‡   € ô �zÓ"ˆÙÜ×'Ñ'‰FàˆFØ×)Ñ)¨&Ó1ˆÜ×Ñ×.Ñ.×6Ò6Ü”�{Ó#Ð&9¸9Ð%EÔFÜ�×0Ñ0°Ó8¸>Ð:JÕKâEˆFÜ”�{Ó# VÕ,r=   c                 óˆ   — t        |«      }|j                  «       }t        t        |«      dt        j
                  › �g«       y r`   )r   Úget_temp_table_namesr   r  r   rc   ©ry   r�   r‚   rŽ  s       r;   Útest_get_temp_table_namesz1ComponentReflectionTest.test_get_temp_table_names  s9   € ä�zÓ"ˆØ×4Ñ4Ó6ÐÜŒFÐ#Ó$¨´6·<±<°.Ð'AÐ&BÕCr=   c                 óf   — t        |«      }|j                  «       }t        t        |«      dg«       y r•   )r   Úget_temp_view_namesr   r  r'  s       r;   Útest_get_temp_view_namesz0ComponentReflectionTest.test_get_temp_view_names  s/   € ô �zÓ"ˆØ×3Ñ3Ó5ÐÜŒFÐ#Ó$ | nÕ5r=   c                 ó&   — | j                  |«       y r’   )Ú_test_get_comments©ry   r�   s     r;   Útest_get_commentsz)ComponentReflectionTest.test_get_comments  s   € à×Ñ 
Õ+r=   c                 óX   — | j                  |t        j                  j                  «       y r’   )r-  r   r   rQ   r.  s     r;   Útest_get_comments_with_schemaz5ComponentReflectionTest.test_get_comments_with_schema  s   € ð 	×Ñ 
¬G¯N©N×,FÑ,FÕGr=   c                 óŽ  — t        |«      }| j                  |¬«      }t        |j                  d|¬«      ||df   «       t        |j                  d|¬«      ||df   «       t        |j                  d|¬«      ||df   «       | j                  j
                  j                  }t        |j                  ||¬«      |||f   «       y )NrM   rJ  r*  )r   rž  r   r  rµ   rT  rh   )ry   r�   rN   r‚   ÚexpÚno_csts         r;   r-  z*ComponentReflectionTest._test_get_comments#  sÚ   € Ü�zÓ"ˆØ×Ñ vÐÓ.ˆÜØ×"Ñ" >¸&Ð"ÓAØ�˜Ð(Ñ)ô	
ô
 	Ø×"Ñ" 7°6Ð"Ó:Ø�˜Ð!Ñ"ô	
ô
 	Ø×"Ñ" >¸&Ð"ÓAØ�˜Ð(Ñ)ô	
ð
 —‘×+Ñ+×0Ñ0ˆÜØ×"Ñ" 6°&Ð"Ó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 �]  \  }	}
|}|j                  |	|¬«      }t        t        |«      dkD  t        |«      «       t        |
j                  «      D �]±  \  }}t        |j                  ||   d   «       ||   d   j                  }|j                  }t!        |t"        j$                  j&                  «      r|j                  }t)        j*                  d«      r2|t,        j.                  t,        j0                  fv rt,        j.                  }t        t        t3        |j4                  «      j7                  |j4                  «      j7                  t,        j8                  t,        j:                  t,        j0                  t,        j.                  t,        j<                  t,        j>                  t,        j@                  g«      «      dkD  |j                  ›d	|j                  ›d
||   d   ›d	|›d�«       |jB                  r�Œ¨||   d   €�Œ²J ‚ �Œ	 y )N©r˜  r—  r–  r*  rC  rM   r   rh   r¢  rv  rï  z), rð  r£  )"r   rQ   rµ   r*  rC  r   Úziprý   r'   ÚlenÚ	enumerateÚcolumnsr   rh   Ú	__class__r¢  rô   rk   r   Ú
TypeEnginer   ry  Ú	sql_typesÚDateÚDateTimerx  Ú__mro__Úintersectionr   ÚNumericÚTimer   Ú_BinaryrI   )ry   r�   Ú	use_viewsr  rN   r*  Ú	addressesr  r‚   rq   ÚtableÚschema_namer²  Úir~   ÚctypeÚ	ctype_defs                    r;   rþ   z(ComponentReflectionTest.test_get_columns;  sþ  € ñ Ü×'Ñ'‰FàˆFà ŸK™K×-Ñ-¨t¯{©{×/JÑ/JˆyˆÙÚJ‰Kà"Ð$5Ð6ˆKä�zÓ"ˆÜ!$ [°5¸)Ð2D×!EÑˆJ˜Ø ˆKØ×#Ñ# J°{Ð#ÓCˆDÜ”C˜“I ‘M¤3 t£9Ô-ô $ E§M¡M×2‘��3Ü�C—H‘H˜d 1™g f™oÔ.Ø˜Q™ ™×1Ñ1�ØŸH™H�	Ü˜i¬¯©×)<Ñ)<Ô=Ø )× 3Ñ 3�Iô —?‘? 8Ô,°Ü—N‘NÜ×&Ñ&ð?ñ 2ô !*§¡�Iô
 ÜÜ˜EŸM™MÓ*ß%™ i×&7Ñ&7Ó8ß%™ä )× 1Ñ 1Ü )× 1Ñ 1Ü )× 2Ñ 2Ü )§¡Ü )§¡Ü )× 0Ñ 0Ü )× 1Ñ 1ðó
óð ñð" —x“x §£¨4°©7°6«?ºEðCô#ð* —”Ø ™7 9Ñ-Ò5Ð5Ð5òQ 3ñ "Fr=   c                 ó–   — | j                  «       }| j                  |   }t        |t        «       |¬«      }| j	                  ||d¬«       y )NrÍ   F)Ústrict_constraints)re   rµ   r   r   Úassert_tables_equal)ry   r�   rq   rr   Úreflected_user_tmps        r;   Útest_reflect_table_temp_tablez5ComponentReflectionTest.test_reflect_table_temp_table‡  sO   € à×)Ñ)Ó+ˆ
Ø—;‘;˜zÑ*ˆä"Øœ›
°*ô
Ðð 	× Ñ ØÐ(¸Uð 	!õ 	
r=   c                 ó.  — | j                  «       }| j                  |   }t        |«      }|j                  |«      }t	        t        |«      dkD  t        |«      «       t        |j                  «      D ]!  \  }}t        |j                  ||   d   «       Œ# y )Nr   rh   )
re   rµ   r   rý   r'   r8  r9  r:  r   rh   )ry   r�   rq   rr   r‚   r²  rI  r~   s           r;   Útest_get_temp_table_columnsz3ComponentReflectionTest.test_get_temp_table_columns“  s}   € à×)Ñ)Ó+ˆ
Ø—;‘;˜zÑ*ˆÜ�zÓ"ˆØ×Ñ 
Ó+ˆÜ”�D“	˜A‘œs 4›yÔ)ä × 0Ñ 0Ö1‰FˆAˆsÜ�—‘˜$˜q™' &™/Õ*ñ 2r=   c                 ó„   — t        |«      }|j                  d«      }t        |D �cg c]  }|d   ‘Œ	 c}g d¢«       y c c}w )Nr–   rh   )rG   rh   r´   )r   rý   r   )ry   r�   r‚   r²  r~   s        r;   Útest_get_temp_view_columnsz2ComponentReflectionTest.test_get_temp_view_columnsž  s?   € ô �zÓ"ˆØ×Ñ Ó-ˆÜ¡DÓ)¡D˜SˆS�‹[ DÑ)Ò+@ÕAùÒ)s   ¦=)Fc                 ó,  — |rt         j                  j                  }nd }| j                  j                  | j                  j
                  }}t        |«      }| j                  |¬«      }|j                  |j                  |¬«      }| j                  |g|||j                  f   g| j                  «       |j                  |j                  |¬«      }	|||j                  f   d   }
t        |	d   |
«       t         j                  j                  j                  «       5  t        |	d   d«       d d d «       | j                  j                   j                  }| j                  |j                  ||¬«      g|||f   g| j                  «       y # 1 sw Y   Œ_xY w)NrM   r°  rh   rH  )r   r   rQ   rµ   r*  rC  r   r¶  r  rh   Ú_check_listr¸  r   rO   r´  Úfail_ifrT  )ry   r�   r  rN   r*  rF  r‚   r3  Ú
users_consÚ	addr_consÚexp_colsr4  s               r;   r  z.ComponentReflectionTest.test_get_pk_constraint¦  sf  € ñ
 Ü—^‘^×/Ñ/‰FàˆFàŸ;™;×,Ñ,¨d¯k©k×.IÑ.IˆyˆÜ�zÓ"ˆØ�l‰l &ˆlÓ)ˆà×+Ñ+¨E¯J©J¸vÐ+ÓFˆ
Ø×ÑØˆL˜3 ¨¯
©
Ð3Ñ4Ð5°t×7MÑ7Mô	
ð ×*Ñ*¨9¯>©>À&Ð*ÓIˆ	Ø˜ 	§¡Ð/Ñ0Ð1FÑGˆÜˆIÐ+Ñ,¨hÔ7ä×Ñ×/Ñ/×7Ñ7Õ9Ü�	˜&Ñ! =Ô1÷ :ð —‘×+Ñ+×0Ñ0ˆØ×ÑØ×#Ñ# F°6Ð#Ó:Ð;Ø�&˜&Ð!Ñ"Ð#Ø×"Ñ"õ	
÷	 :Ð9ús   ÄF
Æ
Fc                 ó>  — |rt         j                  }nd }| j                  j                  | j                  j                  }}t        |«      }|}t        j                  j                  j                  rª|j                  |j                  |¬«      }|d   }	t        j                  j                  j                  «       5  t        |	d   d«       d d d «       t        |	d   |«       t        |	d   |j                  «       t        |	d   dg«       t        |	d	   d
g«       |j                  |j                  |¬«      }
|
d   }	t        j                  j                  j                  «       5  t!        |	d   d u«       d d d «       t        |	d   |«       t        |	d   |j                  «       t        |	d   dg«       t        |	d	   dg«       | j                  j"                  j                  }t        |j                  ||¬«      g «       y # 1 sw Y   �Œ;xY w# 1 sw Y   ŒœxY w)NrM   r   rh   r)  rÁ  rÂ  rÀ  r+  r°  r1  rD  )r   rQ   rµ   r*  rC  r   r   rO   rb  r4   r  rh   rÇ  rW  r   Úimplicitly_named_constraintsr'   rT  )ry   r�   r  rN   r*  rF  r‚   Úexpected_schemaÚusers_fkeysÚfkey1Ú
addr_fkeysr4  s               r;   r  z-ComponentReflectionTest.test_get_foreign_keysÇ  sÔ  € ñ
 Ü×'Ñ'‰FàˆFà ŸK™K×-Ñ-¨t¯{©{×/JÑ/JˆyˆÜ�zÓ"ˆØ ˆô ×Ñ×9Ñ9×AÒAØ×/Ñ/°·
±
À6Ð/ÓJˆKØ ‘NˆEä×!Ñ!×3Ñ3×;Ñ;Õ=Ü�E˜&‘M <Ô0÷ >ô �Ð'Ñ(¨/Ô:Ü�Ð&Ñ'¨¯©Ô4Ü�Ð(Ñ)¨I¨;Ô7Ü�Ð+Ñ,Ð/?Ð.@ÔAð ×*Ñ*¨9¯>©>À&Ð*ÓIˆ
Ø˜1‘ˆä×Ñ×:Ñ:×BÑBÕDÜ�E˜&‘M¨Ð-Ô.÷ Eô 	ˆEÐ#Ñ$ oÔ6ÜˆEÐ"Ñ# U§Z¡ZÔ0ÜˆEÐ$Ñ%¨	 {Ô3ÜˆEÐ'Ñ(Ð+;Ð*<Ô=à—‘×+Ñ+×0Ñ0ˆÜˆD×!Ñ! &°Ð!Ó8¸"Õ=÷+ >Ñ=ú÷ EÐDús   Â=HÅ'HÈHÈHc                 óh  — | j                  d|j                  j                  z  dt        j                  j
                  z  dt        j                  j
                  z  «      \  }}}t        |«      }|j                  |j                  «      }t        t        |«      d«       |d   }t        |d   t        j                  j
                  «       t        |d   |j                  «       t        |d   d	g«       t        |d
   dg«       |j                  |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«       y )Nz%s.local_tablez%s.remote_tablez%s.remote_table_2rÏ   r   rÁ  rÂ  rÀ  rG   r°  rW  rM   rY  )rµ   rv   rf  r   r   rQ   r   r  rh   r   r8  r'   )
ry   r�   rV  rX  rZ  r‚   Úlocal_fkeysr_  Úremote_fkeysÚfkey2s
             r;   Ú"test_get_inter_schema_foreign_keysz:ComponentReflectionTest.test_get_inter_schema_foreign_keysñ  sŒ  € ð 59·K±KØ˜z×1Ñ1×EÑEÑEØ¤§¡× :Ñ :Ñ:Ø¤'§.¡.×"<Ñ"<Ñ<ó5
Ñ1ˆ�\ >ô �zÓ"ˆà×+Ñ+¨K×,<Ñ,<Ó=ˆÜŒC�Ó˜aÔ à˜A‘ˆÜˆEÐ#Ñ$¤g§n¡n×&@Ñ&@ÔAÜˆEÐ"Ñ# ^×%8Ñ%8Ô9ÜˆEÐ$Ñ%¨ vÔ.ÜˆEÐ'Ñ(¨;¨-Ô8à×,Ñ,Ø×Ñ¤g§n¡n×&@Ñ&@ð -ó 
ˆô 	ŒC�Ó˜qÔ!à˜Q‘ˆäØÐ#Ñ$àØ×"Ñ"×6Ñ6ððô	
ô 	ˆEÐ"Ñ# [×%5Ñ%5Ô6ÜˆEÐ$Ñ%¨ vÔ.ÜˆEÐ'Ñ(¨:¨,Õ7r=   c                 óx  — |rt         j                  }nd }t        |«      }|j                  d|¬«      }| j	                  |¬«      }| j                  |||df   | j                  «       | j                  j                  j                  }| j                  |j                  ||¬«      |||f   | j                  «       y )Nr*  rM   )
r   rQ   r   r  rÝ  rV  rß  rµ   rT  rh   )ry   r�   r  rN   r‚   Úindexesr3  r4  s           r;   r  z(ComponentReflectionTest.test_get_indexes  s¾   € ñ
 Ü×'Ñ'‰FàˆFô �zÓ"ˆØ×"Ñ" 7°6Ð"Ó:ˆØ×Ñ fÐÓ-ˆØ×ÑØ�S˜& 'Ð*Ñ+¨T×-FÑ-Fô	
ð —‘×+Ñ+×0Ñ0ˆØ×ÑØ×Ñ˜V¨FÐÓ3Ø�˜Ð Ñ!Ø×%Ñ%õ	
r=   )r]  r`  )r_  ra  ztname,ixnamec                 óº  — t        |«      }|j                  |«      }| j                  «       d |f   }| j                  ||| j                  «       t        |t        «       |¬«      }t        t        |j                  «      d«       t        t        |j                  «      d   j                  |«       t        t        |j                  «      d   j                  |«       y )NrÍ   rÏ   r   )r   r  rÝ  rV  rß  r   r   r   r8  rg  r   r±  rG  rh   )ry   r�   ÚtnameÚixnamer‚   rg  Úexpected_indexesr  s           r;   Útest_get_noncol_indexz-ComponentReflectionTest.test_get_noncol_index1  s­   € ô �zÓ"ˆØ×"Ñ" 5Ó)ˆð  ×+Ñ+Ó-¨t°U¨mÑ<ÐØ×Ñ˜Ð"2°D×4MÑ4MÔNä�%œ›°:Ô>ˆÜŒC�—	‘	‹N˜AÔÜŒD�—‘‹O˜AÑ×$Ñ$ aÔ(ÜŒD�—‘‹O˜AÑ×#Ñ# VÕ,r=   c                 óÄ   — t        |«      }| j                  «       }|j                  |«      }| j                  d¬«      d |f   }| j	                  ||| j
                  «       y )NT)rç  )r   re   r
  rè  rV  rß  )ry   r�   r‚   rh   Ú	reflectedr3  s         r;   Ú&test_get_temp_table_unique_constraintsz>ComponentReflectionTest.test_get_temp_table_unique_constraintsG  s]   € ô �zÓ"ˆØ×#Ñ#Ó%ˆØ×/Ñ/°Ó5ˆ	Ø�l‰l ˆlÓ% t¨T lÑ3ˆØ×Ñ˜ C¨×)BÑ)BÕCr=   c                 óF  — t        |«      }| j                  «       }|j                  |«      }|D ]  }|j                  dd «       Œ ddgddœg}t        j
                  j                  j                  rg |d   d<   t        |D �cg c]  }|d   dk(  sŒ|‘Œ c}|«       y c c}w )	NrÑ  Fr´   rq  )r?  rÐ  rh   r   rÒ  rh   )	r   re   r  r¥  r   rO   Úindex_reflects_included_columnsr4   r   )ry   r�   r‚   rq   rg  ÚindÚexpectedr¸   s           r;   Útest_get_temp_table_indexesz3ComponentReflectionTest.test_get_temp_table_indexesP  s©   € ä�zÓ"ˆØ×)Ñ)Ó+ˆ
Ø×"Ñ" :Ó.ˆÛˆCØ�G‰GÐ% tÕ,ð ð ¨u¨g¸}ÑMð
ˆô ×Ñ×;Ñ;×CÒCØ-/ˆH�Q‰KÐ)Ñ*ÜÙ#ÓD™G�S s¨6¡{°mÓ'CŠS˜GÑDØõ	
ùÚDs   ÂBÂBc                 ó  — |rt         j                  }nd }t        ddgdœdg d¢dœdg d¢dœdd	d
gdœddgdœddgdœgt        j                  d«      ¬«      }t        d|t        dt        j                  d«      «      t        dt        j                  d«      «      t        dt        j                  «      t        d	t        j                  d«      «      t        d
t        j                  d«      «      |¬«      }|D ],  }|j                  t        j                  |d   d|d   iŽ«       Œ. |j                  |«       t        |«      }t        |j                  d|¬«      t        j                  d«      ¬«      }	t        «       }
t!        t#        |«      t#        |	«      «       t%        ||	«      D ]R  \  }}|j'                  dd «      }|r|
j)                  |«       t!        |j'                  dd «      d «       t!        ||«       ŒT t+        «       }t        d|||¬«      }	|	j,                  D �ch c]  }|j.                  ’Œ }}|	j0                  D �ch c](  }t3        |t        j                  «      r|j.                  ’Œ* c}j5                  dg«      }|j7                  |«      rJ ‚|
r t!        |
|«       t!        |t        «       «       | j8                  j:                  j.                  }t!        |j                  ||¬«      g «       y c c}w c c}w )NÚunique_ar«   )rh   rÐ  Úunique_a_b_c)r«   Úbr¢   Úunique_c_a_b)r¢   r«   rx  Úunique_asc_keyÚascrÆ   zi.have.dotsrx  zi have spacesr¢   rh   ©rÆ   ÚtesttblrF  r>  rM   rÐ  rá  rá   )rÎ   rN   )r   rQ   r  ÚoperatorÚ
itemgetterr   r   rk   r   r   Úappend_constraintrç   r   r   r
  rx  r   r8  r7  r¥  r�  r   rg  rh   Úconstraintsrô   Ú
differencerA  rµ   rT  )ry   rW   r�   r  rN   ÚuniquesrG  ræ  r‚   rn  Únames_that_duplicate_indexrÛ  ÚreflÚdupeÚreflected_metadatar¸   Ú	idx_namesÚuqÚuq_namesr4  s                       r;   r  z3ComponentReflectionTest.test_get_unique_constraintsa  s½  € ñ Ü×'Ñ'‰FàˆFÜà#°c°UÑ;Ø'ºÑIØ'ºÑIØ)¸EÀ5¸>ÑJØ&¸¸Ñ>Ø(¸3¸%Ñ@ðô ×#Ñ# FÓ+ô

ˆô ØØÜ�3œŸ	™	 "›Ó&Ü�3œŸ	™	 "›Ó&Ü�3œŸ
™
Ó#ä�5œ"Ÿ)™) B›-Ó(Ü�5œ"Ÿ)™) B›-Ó(Øô

ˆó ˆBØ×#Ñ#Ü×#Ñ# R¨Ñ%7ÐI¸bÀ¹jÑIõð ð 	�‰�ZÔ ä�zÓ"ˆÜØ×'Ñ'¨	¸&Ð'ÓAÜ×#Ñ# FÓ+ô
ˆ	ô
 &)£UÐ"äŒC�‹Lœ#˜i›.Ô)ä˜g yÖ1‰JˆD�$ð —8‘8Ð.°Ó5ˆDÙØ*×.Ñ.¨tÔ4Ü�—‘˜ DÓ)¨4Ô0Ü��d�Oð 2ô &›ZÐÜØØØ$Øô	
ˆ	ð *3×):Ò):Ó;Ñ): #�S—X“XÐ):ˆ	Ð;ð  ×+Ò+ó
á+�Ü˜"œb×1Ñ1Ô2ð �G‹GØ+ñ
÷ ‰*�nÐ%Ó
&ð	 	ð ×)Ñ)¨(Ô3Ð3Ð3Ù%ÜÐ*¨IÔ6Ü�œ#›%Ô à—‘×+Ñ+×0Ñ0ˆÜˆD×'Ñ'¨°vÐ'Ó>ÀÕCùò <ùò
s   È$K:É-K?c                 ó    — |rt         j                  }nd }t        |«      }dD ])  }|j                  ||¬«      }t	        t        |«      «       Œ+ y )Nr6  rM   )r   rQ   r   rù   r'   Úbool)ry   r�   r  rN   r‚   Úviewr“  s          r;   rû   z0ComponentReflectionTest.test_get_view_definition»  sM   € ñ
 Ü×'Ñ'‰FàˆFÜ�zÓ"ˆÛDˆDØ×(Ñ(¨°fÐ(Ó=ˆAÜ”D˜“GÕñ Er=   c                 óî   — t        |«      }t        t        «      5  |j                  d«       d d d «       t        t        «      5  |j                  d«       d d d «       y # 1 sw Y   Œ3xY w# 1 sw Y   y xY w)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É  sX   € ä�zÓ"ˆÜÔ+Õ,Ø×$Ñ$Ð%:Ô;÷ -äÔ+Õ,Ø×$Ñ$ WÔ-÷ -Ð,÷ -Ð,úç,Ð,ús   ›AÁA+ÁA(Á+A4c                 ó°   — t        |«      }dD ]A  \  }}|j                  |«      }|D �ci c]  }|d   |“Œ
 c}|   }|j                  dd«      rŒAJ ‚ yc c}w )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+  )rC  r:  )r8  r9  rh   r¡  TN)r   rý   Úget)ry   r�   r‚   ri  Úcnamer²  r¢   Úid_s           r;   Útest_autoincrement_colz.ComponentReflectionTest.test_autoincrement_colÑ  sj   € ô �zÓ"ˆó
‰LˆE�5ð
 ×#Ñ# EÓ*ˆDÙ)-Ó.© A�1�V‘9˜a‘<¨Ñ.¨uÑ5ˆCØ—7‘7˜?¨DÕ1Ð1Ð1ñ
ùò /s   ©Ac                 óÆ  — t        t        j                  «      }|rt        j                  nd }t        j
                  j                  j                  rY|j                  d|¬«      }t        t        |t        «      «       |j                  d|¬«      }t        t        |t        «      «       y t        t        «      5  |j                  d|¬«      }d d d «       y # 1 sw Y   y xY w)Nr*  rM   rT  )r   r   r9   rQ   r   rO   rò   r4   ró   r'   rô   r7   r   rõ   )ry   r  r‚   rN   rö   s        r;   r÷   z.ComponentReflectionTest.test_get_table_optionsê  s©   € ô ”v—y‘yÓ!ˆÙ'1”×#Ò#°tˆä×Ñ×1Ñ1×9Ò9Ø×(Ñ(¨¸Ð(Ó@ˆCÜ”J˜s¤DÓ)Ô*à×(Ñ(Ð)9À&Ð(ÓIˆCÜ”J˜s¤DÓ)Õ*äÔ2Õ3Ø×,Ñ,¨W¸VÐ,ÓD�÷ 4×3Ñ3ús   Â:CÃC c                 ó¼  — t        t        j                  «      }t        j                  j
                  j                  rf|rt        j                  nd }|j                  |¬«      }|j                  |¬«      D �ci c]  }||f|j                  ||¬«      “Œ }}t        ||«       y t        t        «      5  |j                  «       }d d d «       y c c}w # 1 sw Y   y xY w)NrM   )r   r   r9   r   rO   rò   r4   rQ   Úget_multi_table_optionsr  ró   r   r   rõ   )ry   r  r‚   rN   rö   rG  r3  s          r;   Útest_multi_get_table_optionsz4ComponentReflectionTest.test_multi_get_table_optionsû  sÈ   € ä”v—y‘yÓ!ˆÜ×Ñ×1Ñ1×9Ò9Ù+5”V×'Ò'¸4ˆFØ×.Ñ.°fÐ.Ó=ˆCð "×1Ñ1¸Ð1Ô@óá@�Eð ˜� ×!7Ñ!7¸ÀfÐ!7Ó!MÑMØ@ð ð ô ��S�MäÔ2Õ3Ø×2Ñ2Ó4�÷ 4Ð3ùò÷ 4Ð3ús   Á8CÂ3CÃCc                 ó   ‡— ˆfd„}|S )Nc                 ó²  •— t        ‰«      } ||d«       ||dœ}| r | «       } g }t        j                  |v r|j                  g d¢«       t        j                  |v r|j                  ddg«       t        j
                  |v r|j                  ddg«       | r| |d<   |r||d<    || |||j                  d«      ¬	«      }	|g}
|t        j                  k(  r2|j                  «       }|j                  d
«       |
j                  |«       |t        j                  k(  r2|j                  «       }|j                  d«       |
j                  |«       t        ‰«      |
|	fS )NrC  )r0   r¥   )rJ  r*  údoes-not-existr—  rœ  r–  rN   r   )rN   r0   r¥   r   r0   r¥   )r   r   r  rÜ  r  r  r’  r   r  Úcopyr¥  Úappend)rN   r0   r¥   r  Úsingle_reflect_fnÚ
exp_methodr‚   rp   r   r3  ÚkwsÚnkwr�   s               €r;   Úprovide_fixturez>ComponentReflectionTest.get_multi_exp.<locals>.provide_fixture  sK  ø€ ô ˜:Ó&ˆDñ ˜dÐ$5Ô6Ø ¨$Ñ/ˆBÙÙ›�àˆLä×Ñ 4Ñ'Ø×#Ñ#Ú?ôô �‰ $Ñ&Ø×#Ñ#Ð%8Ð:JÐ$KÔLÜ×+Ñ+¨tÑ3Ø×#Ñ# ^Ð5EÐ$FÔGáØ%��8‘ÙØ%1��>Ñ"áØØØØŸV™V NÓ3ô	ˆCð �$ˆCØœ×+Ñ+Ò+Ø—g‘g“i�Ø—‘˜Ô Ø—
‘
˜3”Ø”z×'Ñ'Ò'Ø—g‘g“i�Ø—‘˜”Ø—
‘
˜3”ä˜:Ó&¨¨SÐ0Ð0r=   rB   )ry   r�   r£  s    ` r;   Úget_multi_expz%ComponentReflectionTest.get_multi_exp  s   ø€ ô,	1ð\ Ðr=   c                 óÀ   —  |||||t         j                  | j                  «      \  }}}|D ]0  }	|j                  «         |j                  di |	¤Ž}
t        |
|«       Œ2 y ©NrB   )r   ró   rš  r€   r˜  r   ©ry   r¤  rN   r0   r¥   r  r‚   r¡  r3  rp   Úresults              r;   Ú#test_multi_get_table_options_tablesz;ComponentReflectionTest.test_multi_get_table_options_tables=  si   € ñ
 'ØØØØÜ×'Ñ'Ø×Ñó
‰ˆˆc�3ó ˆBØ×ÑÔØ1�T×1Ñ1Ñ7°BÑ7ˆFÜ�˜Õñ r=   c                 ó¼   —  |||||t         j                  | j                  «      \  }}}|D ].  }	|j                  «        t	         |j
                  di |	¤Ž|«       Œ0 y r¦  )r   r  rž  r€   r   Úget_multi_table_comment)
ry   r¤  rN   r0   r¥   r  r‚   r¡  r3  rp   s
             r;   Útest_get_multi_table_commentz4ComponentReflectionTest.test_get_multi_table_commentO  se   € ñ
 'ØØØØÜ×'Ñ'Ø×Ñó
‰ˆˆc�3ó ˆBØ×ÑÔÜÐ,�×,Ñ,Ñ2¨rÑ2°CÕ8ñ r=   c           	      óü   — dt         fd„}t        |t        «      r6t        |j	                  «       D ��ci c]  \  }} ||«      |“Œ c}}||«       y t        |D �cg c]
  } ||«      ‘Œ c}||«       y c c}}w c c}w )Nrœ  c                 óL   — t        j                  dd| «      j                  «       S )Nz['\" ]r(  )ÚreÚsubrò  )rœ  s    r;   Ú_cleanz:ComponentReflectionTest._check_expressions.<locals>._cleana  s   € Ü—6‘6˜) R¨Ó.×4Ñ4Ó6Ð6r=   )r÷  rô   r7   r   r�  )ry   r¨  r3  Úerr_msgr±  Úer“  s          r;   Ú_check_expressionsz*ComponentReflectionTest._check_expressions`  sn   € ð	7œó 	7ô �cœ4Ô Ü¨&¯,©,¬.Ô9©.¡$ ! Q‘˜“˜A‘¨.Ò9¸3ÀÕHä¡FÓ+¡F˜q‘˜• FÑ+¨S°'Õ:ùó :ùâ+s   ³A3
ÁA9c                 óT  — |€t        |||«       y t        t        |«      t        |«      |«       t        ||«      D ]j  \  }}t        |«      t        |«      z  D ]K  }||v s
||v sŒ||v sŒ|› d|› d|› �}|dv r| j	                  ||   ||   |«       Œ9t        ||   ||   |«       ŒM Œl y )Nz - )rÓ  rÍ  )r   r8  r7  rx  r´  )	ry   r¨  r3  Úreq_keysÚmsgÚrr³  r¬   r²  s	            r;   rV  z#ComponentReflectionTest._check_listi  s³   € ØÐÜ�˜˜SÕ!ä”�F“œS ›X sÔ+Ü˜F CÖ(‘��1Ü˜Q›¤# a£&œ�AØ˜H‘}¨¨aª°A¸²FØ%( E¨¨Q¨C¨s°1°#Ð"6˜ØÐ AÑAØ ×3Ñ3°A°a±D¸!¸A¹$ÀÕHä  !¡ a¨¡d¨GÕ4ñ )ñ )r=   c                 óÒ   — t        t        |j                  «       «      t        |j                  «       «      «       |D ](  }||   ||   }}|r|g|g}}| j                  ||||«       Œ* y r’   )r   rx  ÚkeysrV  )ry   r¨  r3  r¶  Ú
make_listsr¬   r¸  r³  s           r;   Ú_check_table_dictz)ComponentReflectionTest._check_table_dictw  s`   € ÜŒC�—‘“Ó¤ C§H¡H£J£Ô0ÛˆAØ˜!‘9˜c !™fˆqˆAÙØ�s˜Q˜C�1�Ø×Ñ˜Q  8¨QÕ/ñ	 r=   c                 óâ   —  |||||t         j                  | j                  «      \  }}}|D ]A  }	|j                  «         |j                  di |	¤Ž}
| j                  |
|| j                  «       ŒC y r¦  )r   rý   rª  r€   Úget_multi_columnsr¼  r­  r§  s              r;   Útest_get_multi_columnsz.ComponentReflectionTest.test_get_multi_columns  sw   € ñ 'ØØØØÜ×!Ñ!Ø×Ñó
‰ˆˆc�3ó ˆBØ×ÑÔØ+�T×+Ñ+Ñ1¨bÑ1ˆFØ×"Ñ" 6¨3°×0JÑ0JÕKñ r=   c                 óæ   —  |||||t         j                  | j                  «      \  }}}|D ]C  }	|j                  «         |j                  di |	¤Ž}
| j                  |
|| j                  d¬«       ŒE y )NT)r»  rB   )r   r  r¶  r€   Úget_multi_pk_constraintr¼  r¸  r§  s              r;   Útest_get_multi_pk_constraintz4ComponentReflectionTest.test_get_multi_pk_constraint‘  s   € ñ
 'ØØØØÜ×'Ñ'Ø�L‰Ló
‰ˆˆc�3ó ˆBØ×ÑÔØ1�T×1Ñ1Ñ7°BÑ7ˆFØ×"Ñ"Ø˜˜T×3Ñ3Àð #õ ñ r=   c                 óò   — t         j                  j                  j                  sS||fD ]K  }|j	                  «       D ]6  }t        |«      dkD  sŒt        d„ |D «       «      sŒ%|j                  |¬«       Œ8 ŒM y y )NrÏ   c              3   ób   K  — | ]'  }|j                  d «      dt        j                  fv –— Œ) y­w)rh   N)r’  r(   r  )Ú.0r“  s     r;   Ú	<genexpr>z7ComponentReflectionTest._adjust_sort.<locals>.<genexpr>©  s*   è ø€ ð ,ÙCF¸a˜Ÿ™˜f›¨$´·±Ð)9Ô9Á3ùs   ‚-/r|  )r   rO   r\  r4   r�  r8  ÚanyÚsort)ry   r¨  rs  rÆ   Úobjrµ  s         r;   Ú_adjust_sortz$ComponentReflectionTest._adjust_sort¥  sk   € Ü×Ñ×<Ñ<×DÒDØ Ó)�ØŸ:™:ž<�CÜ˜3“x !“|¬ñ ,ÙCFó,õ )ð Ÿ™ S˜Õ)ñ	 (ñ *ð Er=   c                 ó
  —  |||||t         j                  | j                  «      \  }}}|D ]U  }	|j                  «         |j                  di |	¤Ž}
| j                  |
|d„ «       | j                  |
|| j                  «       ŒW y )Nc                 ó   — t        | d   «      S )Nr°  ©Útuple©Úds    r;   r­   zEComponentReflectionTest.test_get_multi_foreign_keys.<locals>.<lambda>¿  s   € ¤u¨QÐ/DÑ-EÔ'Fr=   rB   )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‰Ló
‰ˆˆc�3ó ˆBØ×ÑÔØ0�T×0Ñ0Ñ6°2Ñ6ˆFØ×ÑØ˜ÑFôð ×"Ñ" 6¨3°×0FÑ0FÕGñ r=   c                 óâ   —  |||||t         j                  | j                  «      \  }}}|D ]A  }	|j                  «         |j                  di |	¤Ž}
| j                  |
|| j                  «       ŒC y r¦  )r   r  rÝ  r€   Úget_multi_indexesr¼  rß  r§  s              r;   Útest_get_multi_indexesz.ComponentReflectionTest.test_get_multi_indexesÃ  sw   € ñ
 'ØØØØÜ×!Ñ!Ø×Ñó
‰ˆˆc�3ó ˆBØ×ÑÔØ+�T×+Ñ+Ñ1¨bÑ1ˆFØ×"Ñ" 6¨3°×0IÑ0IÕJñ r=   c                 ó
  —  |||||t         j                  | j                  «      \  }}}|D ]U  }	|j                  «         |j                  di |	¤Ž}
| j                  |
|d„ «       | j                  |
|| j                  «       ŒW y )Nc                 ó   — t        | d   «      S )NrÐ  rÍ  rÏ  s    r;   r­   zKComponentReflectionTest.test_get_multi_unique_constraints.<locals>.<lambda>å  s   € ´U¸1¸^Ñ;LÔ5Mr=   rB   )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‰Ló
‰ˆˆc�3ó ˆBØ×ÑÔØ6�T×6Ñ6Ñ<¸Ñ<ˆFØ×Ñ˜f cÑ+MÔNØ×"Ñ" 6¨3°×0NÑ0NÕOñ	 r=   c                 ó
  —  |||||t         j                  | j                  «      \  }}}|D ]U  }	|j                  «         |j                  di |	¤Ž}
| j                  |
|d„ «       | j                  |
|| j                  «       ŒW y )Nc                 ó   — t        | d   «      S ©Nrõ  rÍ  rÏ  s    r;   r­   zJComponentReflectionTest.test_get_multi_check_constraints.<locals>.<lambda>ø  s   € ´U¸1¸Y¹<Ô5Hr=   rB   )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‰Ló
‰ˆˆc�3ó ˆBØ×ÑÔØ5�T×5Ñ5Ñ;¸Ñ;ˆFØ×Ñ˜f cÑ+HÔIØ×"Ñ" 6¨3°×0FÑ0FÕGñ	 r=   ró   rý   r  r  r  r
  r  r  Úmethodc                 óŠ   — t        |«      }t        ||«      }t        t        «      5   |d«       d d d «       y # 1 sw Y   y xY w)NÚtable_does_not_exists)r   Úgetattrr   r   )ry   rß  r�   r‚   r·   s        r;   Útest_not_existing_tablez/ComponentReflectionTest.test_not_existing_tableû  s8   € ô0 �zÓ"ˆÜ�t˜VÓ$ˆÜÔ+Õ,ÙÐ(Ô)÷ -×,Ñ,ús	   §	9¹Ac           	      óH  ‡— t         j                  Šˆfd„}t        j                  j	                  t         d|«      5  t        t        d«      5  t        |«      j                  t        dt        «       «      d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                  óT   •— |j                  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	  s1   ø€ Ø—‘˜o¨rÓ2ˆBÜ'>¸uÓ'EˆBÐ#Ñ$Ù�q�;˜A‘;Ðr=   r¾  rç  rè  )r   r¾  r(   ÚpatchÚobjectr   r   r   Úreflect_tabler   r   )ry   r�   rì  rë  s      @r;   Útest_unreflectablez*ComponentReflectionTest.test_unreflectable	  sx   ø€ Ü×(Ñ(ˆô	ô
 �Z‰Z×ÑœyÐ*=¸wÕGÜ&Ô'>ÀÕFÜ˜
Ó#×1Ñ1Ü˜,¬«
Ó3°Tô÷ G÷ HÐGßFÐFú÷ HÐGús#   ¼BÁ.BÁ;BÂB	ÂBÂB!r›   c                 óœ  — t        «       }|rt        j                  nd }|j                  |||d¬«       t	        |«      }|j                  |«      }|r)||j                  |«      z  }	 ||j                  |«      z  }|r|D �cg c]	  }|› d|› �‘Œ }}t        t        |j                  «      t        |«      «       y # t        $ r Y ŒJw xY wc c}w )NF)rN   r›   Úresolve_fksr'  )r   r   rQ   Úreflectr   r  r"  r#  rõ   r   r  rµ   )	ry   r�   r  r›   ÚmrN   r‚   rµ   r  s	            r;   Útest_metadataz%ComponentReflectionTest.test_metadata&	  sÌ   € ô
 ‹JˆÙ'1”×#Ò#°tˆØ	�	‰	�* V°5Àeˆ	ÔLä�zÓ"ˆØ×%Ñ% fÓ-ˆÙØ�d×)Ñ)¨&Ó1Ñ1ˆFðØ˜$×:Ñ:¸6ÓBÑB�ñ Ù/5Ó6©v¨!˜˜  ! ’o¨vˆFÐ6ÜŒF�1—8‘8Óœf V›nÕ-øô	 'ò Ùðüò 7s   Á'B: ÂC	Â:	CÃCc           
      óT  — t        d|t        dt        d¬«      t        dt        d¬«      d¬«       |j                  |«       t	        |«      }|j                  d«      }t        |ddi«       |j                  d«      }|D �ci c]  }|d	   |d
   “Œ }}dddœ}t        ||«       y c c}w )NÚunicode_commentsÚunicodeu   Ã©è©¦è›‡áºŸÎ©rM  Úemojiu	   â˜�ï¸�âœ¨u   è©¦è›‡áºŸÎ©âœ¨rœ  rh   rá   )rø  rù  ©r   r   r   rÒ   r   r  r   rý   )	ry   r�   rW   r‚   Útcr²  r¢   Úvaluer3  s	            r;   Útest_comments_unicodez-ComponentReflectionTest.test_comments_unicode;	  s°   € äØØÜ�9œg¨Ô?Ü�7œG¨[Ô9Ø$õ	
ð 	×Ñ˜JÔ'ä�zÓ"ˆØ×#Ñ#Ð$6Ó7ˆÜˆB�Ð)Ð*Ô+à×ÑÐ 2Ó3ˆÙ26Ó7±$¨Q��6‘˜A˜i™LÑ(°$ˆÐ7Ø)°KÑ@ˆÜˆE�3�ùò 8s   ÂB%c           	      ó  — t        d|t        dt        d¬«      d¬«       |j                  |«       t	        |«      }|j                  d«      }t        |ddi«       |j                  d«      d   }t        |d   |d	   iddi«       y )
Nr÷  rù  u&   ðŸ��ðŸ§™ðŸ��ðŸ§™â€�â™‚ï¸�ðŸ§™â€�â™€ï¸�rM  u&   ðŸŽ©ðŸ�°ðŸ�‘ðŸ¤·â€�â™€ï¸�ðŸ¤·â€�â™‚ï¸�rœ  r   rh   rá   rú  )ry   r�   rW   r‚   rû  r¢   s         r;   Útest_comments_unicode_fullz2ComponentReflectionTest.test_comments_unicode_fullP	  sŽ   € äØØÜ�7œGÐ-UÔVØ<õ		
ð 	×Ñ˜JÔ'ä�zÓ"ˆØ×#Ñ#Ð$6Ó7ˆÜˆB�ÐAÐBÔCØ×ÑÐ/Ó0°Ñ3ˆÜˆQˆv‰Y˜˜)™Ð%¨Ð1YÐ'ZÕ[r=   r’   r)   )NF)mr>   r?   r@   Úrun_insertsÚrun_deletesrš   rA   rX   r%  re   rU   rS   r�  r„  r”  r   r  r   rš  rž  rª  Úpropertyr­  r¶  r¸  rÉ  rË  rÝ  rß  rè  rê  rø  rú  r   rO   Úschema_reflectionrý  r  r  r	  Úschema_create_deleter  r  r  r¾   Ú!foreign_key_constraint_reflectionrP   r   r$  rŽ  r(  rR   rn   r+  r  r/  r1  r-  rþ   rk  rP  rR  rê   rT  Ú!primary_key_constraint_reflectionr  r  re  re  rg  r  rh  ri  rl  r  ro  Útemp_table_reflect_indexesrt  r  rû   r�  Útable_reflectionr•  r÷   r™  Úfixturer¤  rò   r!  r©  r¬  r´  rV  r¼  r¿  rÂ  rÊ  rÒ  rÕ  rÙ  r  rÞ  rã  rð  r›   rõ  rý  Úcomment_reflection_full_unicoderÿ  rB   r=   r;   r#  r#    s9  „ Ø $Ð$€K�+à€KàñNó ðNð
 ñk-ó ðk-ðZ ñ
ó ð
ð
 ñOó ðOðB ñó ðò4ò!ò)ðZ Ø�o‰oØ�^‰^ØóðB Ø�o‰oØ�^‰^Øó"ðL Ø�o‰oØ�^‰^Øó^ð@ ñ7ó ð7ð
 Ø�o‰oØ�^‰^Øó.ð` ñ/ó ð/ð
 Ø�o‰oØ�^‰^ØóVðp ñ
ó ð
ð Ø�o‰oØ�^‰^Øósðj ñ2ó ð2ð
 Ø�o‰oØ�^‰^ØØóCðJ ñ(ó ð(ð
 Ø�o‰oØ�^‰^Øó8ðt ñ#ó ð#ð ×Ñ×'Ñ'ñGó (ðGð
 ×Ñ×'Ñ'ñ8ó (ð8ð ×Ñ×'Ñ'ñGó (ðGð ×Ñ×'Ñ'ñ
8ó (ð
8ð ×Ñ×'Ñ'Ø×Ñ×*Ñ*ñ;ó +ó (ð;ð ×Ñ×'Ñ'ñ>ó (ð>ð
 ×Ñ×'Ñ'ñNó (ðNð €W×ÑØØ	˜×(Ñ(×JÑJÐKØôð
 €W×ÑØ	ˆw×Ñ×'Ñ'Ð(¨%¸,ôñ!-óóð!-ðF €W×ÑØ	ˆw×Ñ×'Ñ'Ð(¨%¸,ôñ-óð-ð ×Ñ×&Ñ&ñDó 'ðDð
 ×Ñ×%Ñ%Ø×Ñ×%Ñ%ñ6ó &ó &ð6ð
 ×Ñ×(Ñ(ñ,ó )ð,ð ×Ñ×(Ñ(Ø×Ñ×ÑñHó ó )ðHó
ð0 €W×ÑØØ	��g×&Ñ&×.Ñ.Ð/Ø	ˆu�g×&Ñ&×6Ñ6Ð7àØØ×Ñ×$Ñ$ w×'7Ñ'7×'GÑ'GÑGð	
ð
 (ô
ñ<6ó
ð<6ðB ×Ñ×+Ñ+ñ	
ó ,ð	
ð ×Ñ×+Ñ+ñ+ó ,ð+ð ×Ñ×+Ñ+Ø×Ñ×,Ñ,Ø×Ñ×%Ñ%ñBó &ó -ó ,ðBð
 €W×ÑØ�4˜×)Ñ)×1Ñ1Ð2¸\ôð ×Ñ×7Ñ7ñ
ó 8óð
ð: €W×ÑØ�4˜×)Ñ)×1Ñ1Ð2¸\ôð ×Ñ×7Ñ7ñ$>ó 8óð$>ðL ×Ñ×0Ñ0Ø×Ñ×Ññ"8ó ó 1ð"8ðH €W×ÑØ�4˜×)Ñ)×1Ñ1Ð2¸\ôð ×Ñ×&Ñ&ñ
ó 'óð
ð, €W×ÑØ3Ø/Øôð
 ×Ñ×&Ñ&Ø×Ñ×*Ñ*Ø×Ñ×2Ñ2ñ-ó 3ó +ó 'óð-ð ×Ñ×+Ñ+Ø×Ñ×2Ñ2ñDó 3ó ,ðDð ×Ñ×0Ñ0ñ
ó 1ð
ð  €W×ÑØ	ˆw×Ñ×'Ñ'Ð(¨(¸\ôð ×Ñ×2Ñ2ñTDó 3óðTDðl ×Ñ×%Ñ%Ø€W×ÑØ�4˜×)Ñ)×1Ñ1Ð2¸\ôñóó &ðð ×Ñ×%Ñ%ñ.ó &ð.ð ×Ñ×&Ñ&ñ2ó 'ð2ð0 €W×ÑØ	ˆw×Ñ×'Ñ'Ð(¨(¸\ôñEóðEð €W×Ñ˜4 ×!1Ñ!1×!9Ñ!9Ð:¸EÓBñ5ó Cð5ð ‡_�_ñ/ó ð/ðb ×Ñ×+Ñ+Øñó ó ,ðð  ×Ñ×(Ñ(Øñ9ó ó )ð9ò;ó5ó0ð ñLó ðLð" ×Ñ×7Ñ7Øñó ó 8ðò$*ð ×Ñ×7Ñ7ØñHó ó 8ðHð& ×Ñ×&Ñ&ØñKó ó 'ðKð  ×Ñ×2Ñ2ØñPó ó 3ðPð" ×Ñ×1Ñ1ØñHó ó 2ðHð" €W×ÑØ	˜g×.Ñ.×DÑDÐEØàØ×Ñ×>Ñ>ð	
ð
 Ø×Ñ×>Ñ>ð	
ð 
˜×(Ñ(×9Ñ9Ð:à$Ø×Ñ×9Ñ9ð	
ð
 $Ø×Ñ×8Ñ8ð	
ð 
˜g×.Ñ.×AÑAÐBØô+ñ.*ó/ð.*òð €W×Ñ˜$ °Ô=Ø€W×ÑØ	ˆw×Ñ×%Ñ%Ð&¨¸ôñ.óó >ð.ð" ×Ñ×(Ñ(ñó )ðð( ×Ñ×5Ñ5ñ\ó 6ñ\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y
)ÚTableNoColumnsTest)Úreflect_tables_no_columnsTc                 ó>   — t        d|«       |j                  |«       y ©Nr�  )r   rÒ   ©ry   r�   rW   s      r;   Útable_no_columnsz#TableNoColumnsTest.table_no_columnsf	  s   € äˆg�xÔ Ø×Ñ˜JÕ'r=   c                 ó¾   — t        d|«       t        j                  |dt        d«      «       t        j                  |dt        d«      «       |j	                  |«       y )Nr�  rZ   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_columnsk	  sR   € äˆg�xÔ Ü�‰ØØÜÐ<Ó=ô	
ô 	�‰Ø�m¤SÐ)FÓ%Gô	
ð 	×Ñ˜JÕ'r=   c                 ón   — t        dt        «       |¬«      }t        t        |j                  «      g «       y )Nr�  rÍ   ©r   r   r   r±  r¢   )ry   r�   r  Út2s       r;   Útest_reflect_table_no_columnsz0TableNoColumnsTest.test_reflect_table_no_columns{	  s$   € Ü�7œH›J°jÔAˆÜŒD�—‘‹J˜Õr=   c                 óŒ   — t        |«      }t        |j                  d«      g «       |j                  «       }t        |dg i«       y )Nr�  r  )r   r   rý   r¾  )ry   r�   r  r‚   Úmultis        r;   Ú!test_get_columns_table_no_columnsz4TableNoColumnsTest.test_get_columns_table_no_columns	  s>   € Ü�zÓ"ˆÜˆD×Ñ˜WÓ% rÔ*Ø×&Ñ&Ó(ˆÜˆE�O RÐ(Õ)r=   c                 óˆ   — t        «       }|j                  |«       t        |j                  «      j	                  dg«      sJ ‚y r  )r   ró  rx  rµ   rA  )ry   r�   r  rô  s       r;   Ú"test_reflect_incl_table_no_columnsz5TableNoColumnsTest.test_reflect_incl_table_no_columns…	  s3   € Ü‹JˆØ	�	‰	�*ÔÜ�1—8‘8‹}×)Ñ)¨7¨)Ô4Ð4Ñ4r=   c                 ón   — t        dt        «       |¬«      }t        t        |j                  «      g «       y )NÚempty_vrÍ   r  )ry   r�   r  r  s       r;   Útest_reflect_view_no_columnsz/TableNoColumnsTest.test_reflect_view_no_columnsŠ	  s$   € ä�9œh›j¸
ÔCˆÜŒD�—‘‹J˜Õr=   c                 ó¬   — t        |«      }t        |j                  d«      g «       |j                  t        j
                  ¬«      }t        |dg i«       y )Nr  )r¥   )Nr  )r   r   rý   r¾  r   r  )ry   r�   r  r‚   r  s        r;   Ú test_get_columns_view_no_columnsz3TableNoColumnsTest.test_get_columns_view_no_columns�	  sH   € ä�zÓ"ˆÜˆD×Ñ˜YÓ'¨Ô,Ø×&Ñ&¬J¯O©OÐ&Ó<ˆÜˆEÐ% rÐ*Õ+r=   N)r>   r?   r@   Ú__requires__rš   r   r	  r  r  r  r  r  rO   r›   r  r!  rB   r=   r;   r  r  b	  s‰   „ Ø1€LØ€Kà‡_�_ñ(ó ð(ð ‡_�_ñ(ó ð(òò*ò5ð
 ×Ñ×Ññó ðð ×Ñ×Ññ,ó ñ,r=   r  c                   ó:  — e Zd ZdZ ej
                  ddg¬«      d„ «       Z ej
                  «       d„ «       Zd„ Zej                  j                  d„ «       Zej                  j                   ej                  dd	d
d¬«      d„ «       «       Zej                  j                   ej                  ddd
d¬«      d„ «       «       Zej                  j                  d„ «       Zej                  j"                  d„ «       Zej                  j&                  d„ «       Zd„ Zej                  j,                  d„ «       Zej                  j,                  d„ «       Zej                  j,                  d„ «       Z ej                  d
dd
ej                  j4                  fd
d
dej                  j6                  fi d
dej                  j6                  fi dd
ej                  j8                  fd
d
dej                  j:                  fd
dd
ej                  j<                  fd¬«      d„ «       Zy
)ÚComponentReflectionTestExtraTF)Úparamsc                 ó<   — |j                   rt        j                  S y r’   )Úparamr   rQ   )ry   Úrequests     r;   Úuse_schema_fixturez/ComponentReflectionTestExtra.use_schema_fixtureš	  s   € à�=Š=Ü×%Ñ%Ð%àr=   c                 ó@   ‡‡‡— t         j                  ˆˆˆfd„«       }|S )Nc              3   óN   •K  — ‰t        ‰«      f–— ‰j                  ‰«       y ­wr’   )r   rÒ   )rÄ   r�   rW   r)  s    €€€r;   Úgoz:ComponentReflectionTestExtra.inspect_for_table.<locals>.go£	  s%   øè ø€ à$¤g¨jÓ&9Ð9Ò9à×Ñ 
Õ+ùs   ƒ"%)Ú
contextlibÚcontextmanager)ry   rW   r�   r)  r,  s    ``` r;   Úinspect_for_tablez.ComponentReflectionTestExtra.inspect_for_table¡	  s"   ú€ ä	×	"Ñ	"õ	,ó 
#ð	,ð
 ˆ	r=   c           
      óž   — d„ }t        |D �cg c]  }|d    ||d   «      dœ‘Œ c}d„ ¬«      }t        |d„ ¬«      }t        ||«       y c c}w )Nc                 ó†   — dj                  t        j                  d| j                  «       t        j                  «      «      S )NÚ zand|\d|=|a|b|c|or|<|>)Újoinr¯  Úfindallrò  ÚI)rõ  s    r;   Ú	normalizez5ComponentReflectionTestExtra.ck_eq.<locals>.normalize¯	  s.   € Ø—8‘8Ü—
‘
Ð3°W·]±]³_ÄbÇdÁdÓKóð r=   rh   rõ  ©rh   rõ  c                 ó   — | d   S rÜ  rB   ©Úitems    r;   r­   z4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>¹	  ó   € ˜d 9šor=   r|  c                 ó   — | d   S rÜ  rB   r9  s    r;   r­   z4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>¾	  r;  r=   )r  r   )ry   rn  rs  r6  r:  s        r;   Úck_eqz"ComponentReflectionTestExtra.ck_eq«	  sj   € ò	ô
 ñ &óá%�Dð ˜f™±)¸DÀ¹OÓ2LÓMØ%ññ /ô
ˆ	ô ØÙ.ô
ˆô 	ˆI�xÕ ùòs   �A
c                 óâ   —  |d«      5 \  }}t        d|t        dt        j                  d«      «      |¬«       d d d «       | j	                  j                  d¬«      g «       y # 1 sw Y   Œ-xY w)NrT  rJ   rF  rM   )r   r   rk   r   r=  r  )ry   rW   r/  rN   r¤   s        r;   Ú#test_check_constraint_no_constraintz@ComponentReflectionTestExtra.test_check_constraint_no_constraintÂ	  sh   € áÐ/Ô0Ñ4G°V¸YÜØ ØÜ�vœrŸy™y¨›}Ó-Øõ	÷ 1ð 	�
‰
Ø×+Ñ+Ð,<ÀVÐ+ÓLØõ	
÷ 1Ð0ús   ‰0A%Á%A.Ú	my_inlineÚMyInlineNÚconstraint_namer¦   c                 óz  —  |d«      5 \  }}t        d|t        dt        «       d¬«      t        dt        «       t        j                  d|¬«      «      t        dt        d	«      «      |¬
«       d d d «       j                  d¬
«      }| j                  ||xs t        j                  ddœg«       y # 1 sw Y   ŒExY w)NÚsa_ccrG   TrH   r«   úa > 1 AND a < 5rà   rJ   rK   rM   úa > 1 and a < 5r7  )
r   r   r   rk   rè   r   r  r=  r(   r  ©ry   rW   r/  rB  rN   r¤   rn  s          r;   Útest_check_constraint_inlinez9ComponentReflectionTestExtra.test_check_constraint_inlineÑ	  s´   € ñ ˜wÔ'Ñ+>¨F°IÜØØÜ�tœW›Y°DÔ9ÜØÜ“IÜ×&Ñ&Ø)°ôóô �vœv b›zÓ*Øõ÷ (ð  ×3Ñ3°GÀFÐ3ÓKˆ	à�
‰
Øð ,Ò7¬t¯x©xØ0ñðõ	
÷% (Ð'ús   ‰A$B1Â1B:Úmy_ck_constÚ	MyCkConstc           
      ó(  —  |d«      5 \  }}t        d|t        dt        «       «      t        j                  d|¬«      |¬«       d d d «       j                  d¬«      }| j                  ||xs t        j                  ddœg«       y # 1 sw Y   ŒExY w)NrD  r«   za = 1 OR (a > 2 AND a < 5)rà   rM   za = 1 or a > 2 and a < 5r7  )	r   r   r   rk   rè   r  r=  r(   r  rG  s          r;   Ú test_check_constraint_standalonez=ComponentReflectionTestExtra.test_check_constraint_standaloneõ	  s”   € ñ ˜wÔ'Ñ+>¨F°IÜØØÜ�sœG›IÓ&Ü×"Ñ"Ø0°ôð õ÷ (ð ×3Ñ3°GÀFÐ3ÓKˆ	à�
‰
Øð ,Ò7¬t¯x©xØ9ñðõ	
÷ (Ð'ús   ‰;BÂBc                 óz  —  |d«      5 \  }}t        d|t        dt        «       d¬«      t        dt        «       t        j                  d«      «      t        dt        «       t        j                  dd	¬
«      «      t        dt        «       «      t        dt        d«      «      t        j                  dd¬
«      t        j                  dd¬
«      t        j                  dd¬
«      |¬«       d d d «       j                  d¬«      }| j                  |dddœd	ddœt        j                  ddœg«       y # 1 sw Y   ŒIxY w)NrD  rG   TrH   r«   rE  rx  zb > 1 AND b < 5r@  rà   r¢   rJ   rK   Úsome_uqzc > 1 AND c < 5Úcc1Ú	some_c_uqrM   zc > 1 and c < 5r7  zb > 1 and b < 5rF  )r   r   r   rk   rè   r   rç   r  r=  r(   r  )ry   rW   r/  rN   r¤   rn  s         r;   Útest_check_constraint_mixedz8ComponentReflectionTestExtra.test_check_constraint_mixed
  s  € á˜wÔ'Ñ+>¨F°IÜØØÜ�tœW›Y°DÔ9Ü�sœG›I¤r×'9Ñ'9Ð:KÓ'LÓMÜØÜ“IÜ×&Ñ&Ð'8¸{ÔKóô
 �sœG›IÓ&Ü�vœv b›zÓ*Ü×#Ñ# F°Ô;Ü×"Ñ"Ð#4¸5ÔAÜ×#Ñ# C¨kÔ:Øõ÷ (ð& ×3Ñ3°GÀFÐ3ÓKˆ	à�
‰
ØàÐ+<Ñ=Ø$Ð1BÑCÜŸ™Ð.?Ñ@ðõ	
÷+ (Ð'ús   ‰C D1Ä1D:c                 ó.  ‡‡— t        d|t        dt        d«      «      t        dt        d«      «      t        dt        d«      «      «      }t        dt	        j
                  |j                  j                  «      |j                  j                  t	        j
                  |j                  j                  «      «       dŠt        dt	        j                  |j                  j                  ‰«      «       t        d	|j                  j                  «       |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œ}	 ||	«       |j%                  d|	«       dd g |d‰› d�«      gd
dœ}
 ||
«       |j'                  |
«       t)        |j+                  d«      |«       t-        «       }t        d|‰¬«      }nGt/        d«      5  t)        |j+                  d«      |«       t-        «       }t        d|‰¬«      }d d d «       | j1                  |‰j2                  j4                  «       y # 1 sw Y   Œ1xY w)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)rh   rÐ  r?  rÑ  c                 óº   •— t         j                  j                  j                  r$g | d<   ‰j                  j
                  › d�g i| d<   y | j                  di «       y )NrÒ  Ú_includerÑ  )r   rO   rq  r4   r  rh   ré  )Úentryr�   s    €r;   ÚcompleteIndexzYComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.completeIndexO
  s\   ø€ Ü×Ñ×?Ñ?×GÒGØ+-�Ð'Ñ(à!×(Ñ(×-Ñ-Ð.¨hÐ7¸ð,�Ð'Ò(ð × Ñ Ð!2°BÕ7r=   r   c                   ó   — e Zd Zd„ Zy)ú[ComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_strc                 óB   — |j                  «       }d|v xr
 d|v xs d|v S )Nrò  rS  rT  ©rò  )ry   rÊ   Úols      r;   r½  zbComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_str.__eq__[
  s)   € Ø—[‘[“]�à "�}ÒA¨#°¨)Ò*@°s¸b°yÐAr=   Nr¾  rB   r=   r;   Úlower_index_strr^  Z
  s   „ óBr=   rb  c                   ó   •— e Zd Zˆ fd„Zy)ú^ComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_strc                 ó4   •— d|j                  «       v xr ‰|v S )NÚcoalescer`  )ry   rÊ   Úlong_strs     €r;   r½  zeComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_str.__eq__a
  s   ø€ à! U§[¡[£]Ð2ÒH°xÀ5Ð7HÐHr=   Nr¾  )rg  s   €r;   Úcoalesce_index_strrd  `
  s	   ø„ õIr=   rh  )NrU  Nzlower(x)zlower(y))rh   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¢   rS  rU  rT  rf  rÒ   r   r÷  r   rO   Ú reflect_indexes_with_expressionsr4   Úinsertrž  r   r  r   r	   Ú!compare_table_index_with_expectedr  rh   )ry   rW   r�   r  r‚   rs  r\  rb  rh  Ú
expr_indexÚexpr_index_longrÔ   r  rg  s     `          @r;   Ú%test_reflect_expression_based_indexeszBComponentReflectionTestExtra.test_reflect_expression_based_indexes3
  s?  ù€ äØØÜ�3œ˜r›
Ó#Ü�3œ˜r›
Ó#Ü�3œ˜r›
Ó#ó
ˆô 	ˆg”t—z‘z !§#¡#§%¡%Ó(¨!¯#©#¯%©%´·±¸A¿C¹C¿E¹EÓ1BÔCØ'ˆÜˆlœDŸM™M¨!¯#©#¯%©%°Ó:Ô;Üˆi˜Ÿ™Ÿ™Ôà×Ñ˜JÔ'ä�zÓ"ˆð "Ø!$ ØØ#%ñ	ð
ˆô	8ñ 	�h˜q‘kÔ"ô	Bœcô 	Bö	I¤ô 	Iô
 ×Ñ×<Ñ<×DÒDàÚ 1á# JÓ/ØÙ# JÓ/ð ð
  ñ	ˆJñ ˜*Ô%Ø�O‰O˜A˜zÔ*ð %Ø!% á&¨°x°jÀÐ'CÓDð ð  ñˆOñ ˜/Ô*Ø�O‰O˜OÔ,ä�× Ñ  Ó% xÔ0Ü“ˆBÜ�s˜B¨jÔ9‰Bä ðõô �D×$Ñ$ SÓ)¨8Ô4Ü“Z�Ü˜3 °*Ô=�÷ð 	×.Ñ.Ø�˜*×+Ñ+×0Ñ0õ	
÷ð ús   È'4JÊJc                 ó®  — t        d|t        dt        d«      «      t        dt        d«      «      «      }t        d|j                  j
                  «      }dg|j                  |j                  j                     d<   |j                  |«       t        |«      }|j                  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«       y )Nr  rS  r>  rT  rV  ÚincludeF)rh   rÐ  rÒ  r?  rÑ  r   rÑ  z
%s_includerÍ   )r   r   r   r!   r¢   rS  rÑ  r  rh   rÒ   r   r  r   r(   r  r   r±  rg  )ry   rW   r�   r  r¸   r‚   r  r  s           r;   Útest_reflect_covering_indexz8ComponentReflectionTestExtra.test_reflect_covering_indexŽ
  sE  € äØØÜ�3œ˜r›
Ó#Ü�3œ˜r›
Ó#ó	
ˆô �G˜QŸS™SŸU™UÓ#ˆØBEÀˆ×Ñ˜J×-Ñ-×2Ñ2Ñ3°IÑ>à×Ñ˜JÔ'ä�zÓ"ˆà×&Ñ& sÓ+ˆÜØð $Ø%( EØ(+ uØ#Ü'+§x¡xñðô	
ô 	Ø˜‰NÐ,Ñ-Ø˜z×0Ñ0×5Ñ5Ñ5ñð ˆEô		
ô �3œ›
°*Ô=ˆÜÜ�—‘Ó˜QÑ×/Ñ/°
×0AÑ0A×0FÑ0FÑGØñð ˆEõ		
r=   c                 óü   — t        d|gt        |«      D ��cg c]  \  }}t        d|z  |«      ‘Œ c}}¢­Ž }|j                  |«       t	        |«      j                  d«      D �cg c]  }|d   ‘Œ	 c}S c c}}w c c}w )Nr  zt%dr¢  )r   r9  r   r   r   rý   )ry   r�   rW   r   rI  Útype_r  r¢   s           r;   Ú_type_round_tripz-ComponentReflectionTestExtra._type_round_trip¹
  s‡   € ÜØØð
ô 8AÀÔ7GÔHÑ7G©8¨1¨eŒf�U˜Q‘Y Õ&Ð7GÒHò
ˆð
 	
�‰�Ôä#*¨:Ó#6×#BÑ#BÀ3Ô#GÓHÑ#G˜a��&“	Ð#GÑHÐHùó	 Iùò Is   —A3Á$A9c                 óì   — | j                  ||t        j                  dd«      «      D ]J  }t        |t        j                  «      sJ ‚t	        |j
                  d«       t	        |j                  d«       ŒL y )Né   r-  )rt  r=  rB  rô   r   Ú	precisionÚscale©ry   r�   rW   Útyps       r;   Útest_numeric_reflectionz4ComponentReflectionTestExtra.test_numeric_reflectionÃ
  s_   € à×(Ñ(Ø˜¤)×"3Ñ"3°B¸Ó":ö
ˆCô ˜c¤9×#4Ñ#4Ô5Ð5Ð5Ü�—‘˜rÔ"Ü�—	‘	˜1Õñ
r=   c                 óº   — | j                  ||t        j                  d«      «      d   }t        |t        j                  «      sJ ‚t	        |j
                  d«       y )Né4   r   )rt  r=  r   rô   r   Úlengthry  s       r;   Útest_varchar_reflectionz4ComponentReflectionTestExtra.test_varchar_reflectionÌ
  sR   € à×#Ñ#Ø˜¤)×"2Ñ"2°2Ó"6ó
à
ñˆô ˜#œy×/Ñ/Ô0Ð0Ð0ÜˆC�J‰J˜Õr=   c           
      ó  — t        d|t        dt        d¬«      t        dt        d¬«      «      }|j                  |«       t	        t        |«      j                  d«      D �ci c]  }|d   |d   “Œ c}ddd	œ«       y c c}w )
Nr  r«   Tr.  rx  Frh   r/  )r«   rx  )r   r   r   r   r   r   rý   )ry   r�   rW   r  r~   s        r;   Útest_nullable_reflectionz5ComponentReflectionTestExtra.test_nullable_reflectionÔ
  s‰   € äØØÜ�3œ¨$Ô/Ü�3œ¨%Ô0ó	
ˆð 	
�‰�ÔÜô # :Ó.×:Ñ:¸3Ô?óá?�Cð �F‘˜S ™_Ñ,Ø?ñð ˜UÑ#õ	
ùòs   Á!A=ÚCASCADEzSET NULLz	NO ACTIONÚRESTRICTzexpected,ondelete,onupdatec                 óÀ  — 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¬«       |j                  |«       t        |«      }|j                  d«      d   d   }t        |D �	ci c]  }	||	   sŒ	|	||	   “Œ c}	i «       |j                  d«      d   d   }t        ||«       y c c}	w )NÚondeleteÚonupdaterS  rG   TrH   rÇ   rG  Úx_idzx.idÚxidrà   Útesté
   Úuserrh   rK   Fr.  Útidztable.idÚmyfkr   r1   )r   r   r   r   r   rk   rÑ   rÒ   r   r  r   )
ry   r�   rW   rs  r…  r†  r1   r‚   Úoptsr¬   s
             r;   Útest_get_foreign_key_optionsz9ComponentReflectionTestExtra.test_get_foreign_key_optionså
  st  € ðT ˆÙØ"*ˆG�JÑÙØ"*ˆG�JÑàÐØˆHäØØÜ�4œ¨dÔ3Øõ		
ô 	ØØÜ�4œ¨dÔ3Ü�6œ7¤J¨v¸EÔ$BÓCÜ�6œ6 "›:Ó&Øõ	
ô 	ØØÜ�4œ¨dÔ3Ü�6œ6 "›:°Ô6Ü�5œ'Ó"Ü×#Ñ#Ø�˜*˜ñØ,2ðØ6=ñð õ
	
ð 	×Ñ˜JÔ'ä�zÓ"ˆð ×$Ñ$ WÓ-¨aÑ0°Ñ;ˆä¡Ó1¡˜A¨¨a«ˆQ��Q‘‰Z Ñ1°2Ô6à×$Ñ$ VÓ,¨QÑ/°	Ñ:ˆÜˆD�(Õùò 2s   Ä
EÄ'E) r>   r?   r@   rš   r   r	  r)  r/  r=  rO   r  r?  Ú"inline_check_constraint_reflectionr¾   rH  rL  rQ  Úindexes_with_expressionsrn  rq  rq  rt  r  r{  r  r�  Ú1foreign_key_constraint_option_reflection_ondeleteÚ1foreign_key_constraint_option_reflection_onupdateÚ1fk_constraint_option_reflection_ondelete_noactionÚ1fk_constraint_option_reflection_onupdate_restrictÚ1fk_constraint_option_reflection_ondelete_restrictr�  rB   r=   r;   r$  r$  —	  s•  „ Ø€Kà€W‡_�_˜T 5˜MÔ*ñó +ðð €W‡_�_Óñó ðò!ð. ×Ñ×1Ñ1ñ
ó 2ð
ð ×Ñ×8Ñ8Ø€W×ÑØ�Z Ð0Aôñ
óó 9ð
ð@ ×Ñ×1Ñ1Ø€W×ÑØ�{ DÐ3Dôñ
óó 2ð
ð4 ×Ñ×8Ñ8ñ
ó 9ð
ð> ×Ñ×.Ñ.ñX
ó /ðX
ðt ×Ñ×5Ñ5ñ(
ó 6ð(
òTIð ×Ñ×&Ñ&ñó 'ðð ×Ñ×&Ñ&ñó 'ðð ×Ñ×&Ñ&ñ
ó 'ð
ð  €W×ÑàØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð .ôK&ñN3óO&ñN3r=   r$  c                   ó0   — e Zd ZdZdZed„ «       Zd„ Zd„ Zy)ÚNormalizedNameTest)Údenormalized_namesTc                 óÌ   — t        t        dd¬«      |t        dt        d¬«      «       t        t        dd¬«      |t        dt        d¬«      t        dt	        d«      «      «       y )	NrÖ   T©rì   rG   rH   r  Út1idzt1.id)r   r"   r   r   r   rV   s     r;   rX   z NormalizedNameTest.define_tablesG  sU   € äÜ˜ DÔ)ØÜ�4œ¨dÔ3ô	
ô
 	Ü˜ DÔ)ØÜ�4œ¨dÔ3Ü�6œ: gÓ.Ó/õ		
r=   c                 óü  — t        «       }t        t        dd¬«      |t        j                  ¬«      }|j
                  d   }|j                  j                  j                  |j                  j                  «      sJ ‚t        «       }|j                  t        j                  d„ ¬«       |j
                  d   j                  j                  j                  |j
                  d   j                  j                  «      sJ ‚y )Nr  Tr›  rÍ   rÖ   c                 ó&   — | j                  «       dv S )N©rÖ   r  r`  )rh   rô  s     r;   r­   zINormalizedNameTest.test_reflect_lowercase_forced_tables.<locals>.<lambda>_  s   € ¨D¯J©J«L¸LÑ,Hr=   )Úonly)r   r   r"   r   r9   rµ   r¢   rœ  rÓ   rG   ró  )ry   rÔ   Út2_refÚt1_refÚm3s        r;   Ú$test_reflect_lowercase_forced_tablesz7NormalizedNameTest.test_reflect_lowercase_forced_tablesU  s¸   € Ü‹ZˆÜÜ˜ DÔ)¨2¼V¿Y¹Yô
ˆð —‘˜4‘ˆØ�x‰x�}‰}×'Ñ'¨¯©¯©Ô4Ð4Ð4ä‹ZˆØ
�
‰
Ü�I‰IÑHð 	ô 	
ð �y‰y˜‰× Ñ ×%Ñ%×0Ñ0°·±¸4±×1BÑ1B×1EÑ1EÔFÐFÑFr=   c                 óR  — t        t        j                  «      j                  «       D �cg c]  }|j	                  «       dv r|‘Œ }}t        |d   j                  «       |d   j	                  «       «       t        |d   j                  «       |d   j	                  «       «       y c c}w )NrŸ  r   rÏ   )r   r   r9   r  rò  r   Úupper)ry   r  Ú
tablenamess      r;   r   z'NormalizedNameTest.test_get_table_namesc  s“   € ô œVŸY™YÓ'×7Ñ7Ô9ó
á9�Ø�w‰w‹y˜LÑ(ò Ø9ð 	ð 
ô 	ˆJ�q‰M×ÑÓ! :¨a¡=×#6Ñ#6Ó#8Ô9ÜˆJ�q‰M×ÑÓ! :¨a¡=×#6Ñ#6Ó#8Õ9ùò
s   ªB$N)	r>   r?   r@   r"  rš   rA   rX   r¤  r   rB   r=   r;   r˜  r˜  C  s)   „ Ø*€LØ€Kàñ
ó ð
òGó:r=   r˜  c                   ó\   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  d„ «       Z
y)ÚComputedReflectionTestc                 óö   — t        t        j                  «      }|j                  d«      }|D �ci c]  }|d   |“Œ
 }}t	        d|d   d   v «       t        |d   d   d «       t        |d   d   d «       y c c}w )NÚcomputed_default_tablerh   Ú42Úwith_defaultr£  ÚnormalÚcomputed_col)r   r   r9   rý   r'   r   )ry   r‚   r²  r¢   Úcol_datas        r;   Ú!test_computed_col_default_not_setz8ComputedReflectionTest.test_computed_col_default_not_seto  s�   € Ü”v—y‘yÓ!ˆà×ÑÐ 8Ó9ˆÙ*.Ó/©$ Q�A�f‘I˜q‘L¨$ˆÐ/Ü�˜ Ñ0°Ñ;Ð;Ô<ÜˆH�XÑ˜yÑ)¨4Ô0ÜˆH�^Ñ$ YÑ/°Õ6ùò 0s   ¯A6c                 óT  — t        t        j                  «      }|j                  d«      }|D �ci c]  }|d   |“Œ
 }}dD ]  }t	        d||   v«       Œ |d   }t	        d|v «       t	        d|d   v «       t        | j                  |d   d   «      d«       t        d|d   v t        j                  j                  j                  «       t        j                  j                  j                  r5t        |d   d   t        j                  j                  j                  «       y y c c}w )	Nr«  rh   )rG   r®  r­  Úcomputedr¯  rõ  ú	normal+42Ú	persisted)r   r   r9   rý   r'   r   r6  r   rO   Ú"computed_columns_reflect_persistedr4   Ú"computed_columns_default_persisted)ry   r‚   r²  r¢   rJ   rÆ   ÚcompDatas          r;   Ú test_get_column_returns_computedz7ComputedReflectionTest.test_get_column_returns_computedx  s  € Ü”v—y‘yÓ!ˆà×ÑÐ 8Ó9ˆÙ&*Ó+¡d ��&‘	˜1‘ dˆÐ+Û3ˆCÜ�J d¨3¡iÐ/Õ0ð 4à˜Ñ'ˆÜ�
˜hÐ&Ô'Ü�	˜X jÑ1Ð1Ô2ÜˆD�N‰N˜8 JÑ/°	Ñ:Ó;¸[ÔIÜØ˜8 JÑ/Ð/Ü×Ñ×?Ñ?×GÑGô	
ô ×Ñ×>Ñ>×FÒFÜØ˜Ñ$ [Ñ1Ü× Ñ ×CÑC×KÑKõð Gùò ,s   ¯D%c                 óò   — t        d||   v «       ||   d   }t        | j                  |d   «      |«       t        j                  j
                  j                  rt        d|v «       t        |d   |«       y y )Nr³  rõ  rµ  )r'   r   r6  r   rO   r¶  r4   r   )ry   rJ   Úcolumnrõ  rµ  r¸  s         r;   Úcheck_columnz#ComputedReflectionTest.check_column�  sp   € Ü�
˜d 6™lÐ*Ô+Ø˜‘< 
Ñ+ˆÜˆD�N‰N˜8 IÑ.Ó/°Ô9Ü×Ñ×>Ñ>×FÒFÜ�K 8Ð+Ô,Ü�˜Ñ% yÕ1ð Gr=   c                 óÖ  — t        t        j                  «      }|j                  d«      }|D �ci c]  }|d   |“Œ
 }}| j	                  |ddt
        j                  j                  j                  «       t
        j                  j                  j                  r| j	                  |ddd«       t
        j                  j                  j                  r| j	                  |dd	d
«       y y c c}w )NÚcomputed_column_tablerh   Úcomputed_no_flagr´  Úcomputed_virtualznormal+2FÚcomputed_storedz	normal-42T)r   r   r9   rý   r¼  r   rO   r·  r4   Úcomputed_columns_virtualÚcomputed_columns_stored©ry   r‚   r²  r¢   rJ   s        r;   Ú!test_get_column_returns_persistedz8ComputedReflectionTest.test_get_column_returns_persisted•  sÕ   € Ü”v—y‘yÓ!ˆà×ÑÐ 7Ó8ˆÙ&*Ó+¡d ��&‘	˜1‘ dˆÐ+à×ÑØØØÜ×Ñ×?Ñ?×GÑGô		
ô ×Ñ×4Ñ4×<Ò<Ø×ÑØØ"ØØô	ô ×Ñ×3Ñ3×;Ò;Ø×ÑØØ!ØØõ	ð <ùò ,s   ¯C&c                 óö  — t        t        j                  «      }|j                  dt        j                  ¬«      }|D �ci c]  }|d   |“Œ
 }}| j                  |ddt        j                  j                  j                  «       t        j                  j                  j                  r| j                  |ddd«       t        j                  j                  j                  r| j                  |d	d
d«       y y c c}w )Nr¾  rM   rh   r¿  z	normal/42rÀ  znormal/2FrÁ  z	normal*42T)r   r   r9   rý   rQ   r¼  r   rO   r·  r4   rÂ  rÃ  rÄ  s        r;   Ú-test_get_column_returns_persisted_with_schemazDComputedReflectionTest.test_get_column_returns_persisted_with_schema°  sæ   € ä”v—y‘yÓ!ˆà×ÑØ#¬F×,>Ñ,>ð  ó 
ˆñ '+Ó+¡d ��&‘	˜1‘ dˆÐ+à×ÑØØØÜ×Ñ×?Ñ?×GÑGô		
ô ×Ñ×4Ñ4×<Ò<Ø×ÑØØ"ØØô	ô ×Ñ×3Ñ3×;Ò;Ø×ÑØØ!ØØõ	ð <ùò ,s   ¿C6N)r>   r?   r@   r±  r¹  r¼  rÅ  r   rO   rP   rÇ  rB   r=   r;   r©  r©  n  s6   „ ò7òò*2òð6 ×Ñ×Ññó ñr=   r©  c                   óp   — e Zd ZdxZZdZdZed„ «       Zd„ Z	d„ Z
ej                  j                  d„ «       Zy)Ú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                  rGt        d|t        dt        «      t        dt        t        dd¬«      «      t        j                  ¬«       y y )NrÖ   r®  Úid1r  rÉ   Tr   r   éþÿÿÿrQ  é   ©ÚalwaysÚstartÚ	incrementÚminvalueÚmaxvalueÚcycleÚcacherF  )rÐ  rÑ  rM   )
r   r   r   r   r   rO   rP   r4   r   rQ   rV   s     r;   rX   z$IdentityReflectionTest.define_tablesÕ  s³   € äØØÜ�8œWÓ%Ü�5œ'¤8£:Ó.ô		
ô 	ØØÜØÜÜØØØØØØØôóô	
ô" ×Ñ×#Ñ#×+Ò+ÜØØÜ�x¤Ó)Ü�uœg¤x°tÀ2Ô'FÓGÜ×)Ñ)öð ,r=   c                 óÚ  — t         j                  j                  j                  r£d}t	        |«      D ]  }||vsŒ|j                  |«       Œ |rlt        t        |«      t        |«      «       |D ]H  }|dk(  rt        ||   ||   k  «       Œ|dv rt        ||   ||   k\  «       Œ6t        ||   ||   |«       ŒJ y t        ||«       y t        |d   |d   «       t        |d   |d   «       y )NrÏ  rÓ  >   rÖ  rÔ  rÑ  rÒ  )	r   rO   Úidentity_columns_standardr4   r±  r¥  r   r8  r'   )ry   rü  r3  ÚapproxÚcommon_keysr¬   s         r;   ÚcheckzIdentityReflectionTest.check÷  sá   € Ü×Ñ×5Ñ5×=Ò=ðˆKô ˜%–[�Ø˜KÒ'Ø—I‘I˜a•Lð !ñ Ü”C˜“J¤ C£Ô)Û�AØ˜J’Ü  a¡¨C°©FÑ 2Õ3ØÐ3Ñ3Ü  a¡¨C°©FÑ 2Õ3ä˜E !™H c¨!¡f¨aÕ0ñ ô �E˜3•ä��g‘  G¡Ô-Ü��kÑ" C¨Ñ$4Õ5r=   c                 ó.  — t        t        j                  «      }|j                  d«      |j                  d«      z   }|D ]Ô  }|d   dk(  rt	        d|v «       Œ|d   dk(  rVd|v rt        |d   «       t        |d   d «       t        d|v «       | j                  |d   t        d	d
d
d
dd	d
¬«      d¬«       Œw|d   dk(  sŒ€d|v rt        |d   «       t        |d   d «       t        d|v «       | j                  |d   t        ddddddd¬«      d	¬«       ŒÖ y )NrÖ   r  rh   r®  ÚidentityrÌ  r¡  r£  FrÏ   éÿÿÿrÏ  T©rÙ  rÉ   r   r   rÍ  rQ  rÎ  )	r   r   r9   rý   r&   r'   r   rÛ  r7   ©ry   r‚   r²  r~   s       r;   Útest_reflect_identityz,IdentityReflectionTest.test_reflect_identity  sA  € Ü”v—y‘yÓ!ˆà×Ñ Ó%¨×(8Ñ(8¸Ó(>Ñ>ˆÛˆCØ�6‰{˜hÒ&Ü˜ sÐ*Õ+Ø�V‘ Ò%Ø" cÑ)Ü˜C Ñ0Ô1Ü�C˜	‘N DÔ)Ü˜
 cÐ)Ô*Ø—
‘
Ø˜
‘OÜØ$ØØ"#Ø!"Ø!+Ø#Øôð  ð õ ð �V‘ Ó%Ø" cÑ)Ü˜C Ñ0Ô1Ü�C˜	‘N DÔ)Ü˜
 cÐ)Ô*Ø—
‘
Ø˜
‘OÜØ#ØØ"#Ø!#Ø!#Ø"Øôð !ð õ ñ5 r=   c                 ón  — t        t        j                  «      }|j                  dt        j                  ¬«      }|D ]v  }|d   dk(  rt        d|v «       Œ|d   dk(  sŒ"d|v rt        |d   «       t        |d   d «       t        d|v «       | j                  |d   t        d	d
ddddd¬«      d	¬«       Œx y )NrÖ   rM   rh   r®  rÝ  rÌ  r¡  r£  TrF  rÏ   rÞ  FrÏ  rß  )
r   r   r9   rý   rQ   r&   r'   r   rÛ  r7   rà  s       r;   Útest_reflect_identity_schemaz3IdentityReflectionTest.test_reflect_identity_schema@  sÄ   € ä”v—y‘yÓ!ˆà×Ñ ¬V×-?Ñ-?ÐÓ@ˆÛˆCØ�6‰{˜hÒ&Ü˜ sÐ*Õ+Ø�V‘ Ó%Ø" cÑ)Ü˜C Ñ0Ô1Ü�C˜	‘N DÔ)Ü˜
 cÐ)Ô*Ø—
‘
Ø˜
‘OÜØ#Ø Ø"#Ø!"Ø!+Ø#Øôð  ð õ ñ r=   )r>   r?   r@   r   r  rš   r"  rA   rX   rÛ  rá  r   rO   rP   rã  rB   r=   r;   rÉ  rÉ  Ï  sT   „ Ø $Ð$€K�+à€KØ;€Làñó ðòB6ò:*ðX ×Ñ×Ññó ñr=   rÉ  c                   ó�   — e Zd ZdZed„ «       Zej                  j                  d„ «       Z	ej                  j                  d„ «       Zy)ÚCompositeKeyReflectionTestTc                 ó2  — 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¬	«	       y )NÚtb1rG   Úattrrh   rF  Úpk_tb1rà   Tr7  Útb2rH   ÚpidÚpattrÚpname©rí  rë  rì  Úfk_tb1_name_id_attr)r   r   r   r=  rm   rk   ræ   rÑ   r¢   rh   rG   rè  )r:   rW   rç  s      r;   rX   z(CompositeKeyReflectionTest.define_tables_  sØ   € äØØÜ�4œÓ!Ü�6œ7Ó#Ü�6œ9×,Ñ,¨RÓ0Ó1Ü×#Ñ# F¨D°&¸xÔHØØô	
ˆô 	ØØÜ�4œ¨dÔ3Ü�5œ'Ó"Ü�7œGÓ$Ü�7œI×-Ñ-¨bÓ1Ó2Ü×#Ñ#Ú)Ø—‘—‘˜SŸU™UŸX™X s§u¡u§z¡zÐ2Ø*ôð
 Øö	
r=   c                 ó²   — t        |«      }|j                  | j                  j                  j                  «      }t        |j                  d«      g d¢«       y )Nr°  ©rh   rG   rè  )r   r  rµ   rç  rh   r   r’  )ry   r�   r‚   rI   s       r;   Útest_pk_column_orderz/CompositeKeyReflectionTest.test_pk_column_order{  sA   € ô �zÓ"ˆØ×,Ñ,¨T¯[©[¯_©_×-AÑ-AÓBˆÜˆK�O‰OÐ1Ó2Ò4JÕKr=   c                 ó   — t        |«      }|j                  | j                  j                  j                  «      }t        t        |«      d«       |d   }t        |j                  d«      g d¢«       t        |j                  d«      g d¢«       y )NrÏ   r   rÀ  rñ  r°  rî  )r   r  rµ   rê  rh   r   r8  r’  )ry   r�   r‚   Úforeign_keysr_  s        r;   Útest_fk_column_orderz/CompositeKeyReflectionTest.test_fk_column_order‚  sn   € ô �zÓ"ˆØ×,Ñ,¨T¯[©[¯_©_×-AÑ-AÓBˆÜŒC�Ó˜qÔ!Ø˜Q‘ˆÜˆE�I‰IÐ(Ó)Ò+AÔBÜˆE�I‰IÐ+Ó,Ò.GÕHr=   N)r>   r?   r@   rš   rA   rX   r   rO   r  rò  r  rõ  rB   r=   r;   rå  rå  \  s]   „ Ø€Kàñ
ó ð
ð6 ×Ñ×7Ñ7ñLó 8ðLð ×Ñ×7Ñ7ñIó 8ñIr=   rå  )r#  r$  r  rÛ   rÀ   rD   r�   r˜  r©  rÉ  rå  )Dr-  r~  r¯  r5   rk   r(  r   r   r   r   r   r	   r
   r   Ú	provisionr   r   rN   r   r   r   r   r   r   r   r   r   r   r   r   r=  r  r   r   r   Úexcr   r   r    r!   Úsql.elementsr"   Ú
sql.schemar#   r$   r%   r&   r'   r(   rW   r*  Ú
TablesTestr+   rD   r�   ÚTestBaserÀ   rÛ   r!  r#  r  r$  r˜  ÚComputedReflectionFixtureTestr©  rÉ  rå  Ú__all__rB   r=   r;   Ú<module>rþ     s…  ðó Û Û 	ã Ý Ý Ý Ý Ý $Ý Ý Ý Ý +Ý /Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý "Ý Ý  Ý !Ý #Ý *Ý Ý Ý 'Ý &Ý &Ý %Ý Ý Ý ð �€ˆ%ô˜h×1Ñ1ô ô S:Ð*ô S:ôlI
�8×&Ñ&ô I
ôX81 x×'8Ñ'8ô 81ôvR0˜X×0Ñ0ô R0òj1ô<H\˜nÐ.Eô H\ôV:2,˜×*Ñ*ô 2,ôjh ?°H×4EÑ4Eô hôX(:˜×,Ñ,ô (:ôV^˜X×CÑCô ^ôBJ˜X×0Ñ0ô JôZ.I ×!4Ñ!4ô .Iðb�r=   