+
    }¯³j”é ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^RIHt ^RIHt ^RIHt ^RIH	t	 ^RIH
t
 ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIH t! ^RI"H#t# ^RI"H$t$ ^RI"H%t% ^RI&H't' ^RI&H(t( ^R IH)t) ^R!IH*t* ^R"I+H,t, ^R#I-H.t. ^R$IH/t/ ^R%IH0t0 ^R&IH1t1 ^R'IH2t2 ^R(IH3t3 ^R)IH4t4 RRut5t6 ! R* R+]Pn                  4      t8 ! R, R-]84      t9 ! R. R/]Pn                  4      t: ! R0 R1]Pv                  4      t< ! R2 R3]Pv                  4      t= ! R4 R5]Pn                  4      t>R6 t? ! R7 R8]0]84      t@ ! R9 R:]Pv                  4      tA ! R; R<]/]Pv                  4      tB ! R= R>]Pn                  4      tC ! R? R@]Pˆ                  4      tE ! RA RB]Pn                  4      tF ! RC RD]Pn                  4      tGREtHR# )Fé    N)Úconfig)Úengines)Úeq_)Úeq_regex)Úexpect_raises)Úexpect_raises_message)Úexpect_warnings)Úfixtures)Úis_)Úget_temp_table_name)Útemp_table_keyword_args)ÚColumn)ÚTable)ÚBoolean)ÚDateTime)Úevent)Ú
ForeignKey)Úfunc)ÚIdentity)Úinspect)ÚInteger)ÚMetaData)ÚString)Útesting)Útypes)Ú	Inspector)Ú
ObjectKind)ÚObjectScope)ÚNoSuchTableError)ÚUnreflectableTableError)ÚDDL)ÚIndex)Úquoted_name)ÚBLANK_SCHEMA)ÚComparesIndexes)ÚComparesTables)Úis_false)Úis_none)Úis_true)Úmockc                   ó0   a € ] tR t^:t o ]R 4       tRtV tR# )ÚOneConnectionTablesTestc                óÚ   € \         P                  P                  P                  '       d3   ^ RIHp \        P                  ! \        VP                  RR7      R7      # \         P                  # )r   )ÚpoolÚclass)Ú	poolclassÚscope)Úoptions)r   ÚrequirementsÚindependent_connectionsÚenabledÚ
sqlalchemyr.   r   Útesting_engineÚdictÚ
StaticPoolÚdb)Úclsr.   s   & Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/testing/suite/test_reflection.pyÚ
setup_bindÚ"OneConnectionTablesTest.setup_bind;   sL   € ô
 ×Ñ×6Ñ6×>×>Ð>Ý'ä×)Ò)Ü t§¡¸gÔFôð ô —9‘9Ðó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úclassmethodr=   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r<   r,   r,   :   s   ø‡ € Øñó ör?   r,   c                   óZ  a € ] tR t^Jt o RtRt]R 4       t]R 4       t]R 4       t	]R 4       t
R tR t]P                  P                  R	 4       t]P                  P                  R
 4       t]P                  P$                  R 4       t]P                  P(                  R 4       t]P                  P(                  ]P                  P,                  ]P                  P.                  R 4       4       4       t]P                  P$                  ]P                  P                  R 4       4       tRtV tR# )ÚHasTableTestTNc                ó  € \        R V\        R\        RR7      \        R\        ^24      4      4       \        P
                  P                  P                  '       dB   \        RV\        R\        RR7      \        R\        ^24      4      \        P                  R7       \        P
                  P                  '       d   V P                  V4       \        P
                  P                  P                  '       d   V P                  V4       R# R# )Ú
test_tableÚidT©Úprimary_keyÚdataÚtest_table_s©ÚschemaN)r   r   r   r   r   ÚrequiresÚschemasr5   r   Útest_schemaÚview_reflectionÚdefine_viewsÚhas_temp_tableÚdefine_temp_tables©r;   Úmetadatas   &&r<   Údefine_tablesÚHasTableTest.define_tablesO   sÂ   € äØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&ô		
ô ×Ñ×#Ñ#×+×+Ð+ÜØØÜ�tœW°$Ô7Ü�vœv b›zÓ*Ü×)Ñ)õô ×Ñ×+×+Ð+Ø×Ñ˜XÔ&Ü×Ñ×*Ñ*×2×2Ð2Ø×"Ñ" 8Ö,ñ 3r?   c                óâ  € R p\         P                  ! VR\        V4      4       \         P                  ! VR\        R4      4       \        P                  P
                  P                  '       d�   R\        P                  : R\        P                  : R2p\         P                  ! VR\        V4      4       \         P                  ! VR\        R\        P                  ,          4      4       R# R# )	z1CREATE 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.vvN)	r   Úlistenr!   r   rU   rV   r5   r   rW   )r;   r]   Úquerys   && r<   rY   ÚHasTableTest.define_viewse   s§   € àCˆä�Š�X˜~¬s°5«zÔ:Ü�Š�X˜}¬c°.Ó.AÔBä×Ñ×#Ñ#×+×+Ñ+ô ×&Ô&Ü×&Ô&ðð ô �LŠL˜ >´3°u³:Ô>Ü�LŠLØØÜÐ%¬×);Ñ);Õ<Ó=öñ ,r?   c                ób   € \        \        \        P                  R \        P                   24      # ©Ú	user_tmp_©r   r   r:   Úident©r;   s   &r<   Útemp_table_nameÚHasTableTest.temp_table_name{   ó%   € ä"Ü”F—I‘I ¬6¯<©<¨.Ð9ó
ð 	
r?   c                óN  € \        \        \        P                  4      pV P                  4       p\	        VV\        R \        P                  RR7      \        R\        P                  ! ^24      4      3/ VB p\        P                  P                  P                  '       d†   \        P                  P                  P                  '       dZ   \        P                  ! VR\!        R\        P"                  ,          4      4       \        P                  ! VR\!        R4      4       R# R# R# )	rN   TrO   Únamera   ú=create temporary view user_tmp_v as select * from user_tmp_%srb   údrop view user_tmp_vN)r   r   r:   rm   r   r   ÚsaÚINTÚVARCHARr   rU   rX   r5   Útemporary_viewsr   rd   r!   rk   ©r;   r]   ÚkwÚ
table_nameÚuser_tmps   &&   r<   r[   ÚHasTableTest.define_temp_tables�   sÛ   € ä$¤V¬V¯Y©YÓ7ˆØ×(Ñ(Ó*ˆ
ÜØØÜ�4œŸ™¨TÔ2Ü�6œ2Ÿ:š: b›>Ó*ñ	
ð
 ñ
ˆô ×Ñ×,Ñ,×4×4Ð4Ü× Ñ ×0Ñ0×8×8Ð8ä�LŠLØØÜð0Ü28·,±,õ?óôô �LŠL˜ =´#Ð6LÓ2MÖNñ 9ñ 5r?   c                ó¾  € \         P                  P                  4       ;_uu_ 4       p\        \         P                  P                  P                  VR 4      4       \        \         P                  P                  P                  VR4      4       \        \         P                  P                  P                  VR4      4       RRR4       R#   + '       g   i     R# ; i)rM   rR   Únonexistent_tableN)r   r:   Úbeginr)   ÚdialectÚ	has_tabler'   ©ÚselfÚconns   & r<   Útest_has_tableÚ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                ó$  € \        \        P                  4      p\        VP	                  R 4      4       \        RV\        R\        4      4      p\        VP	                  R4      4       VP                  \        P                  4        \        VP	                  R4      4       VP                  4        \        VP	                  R4      4       VP                  \        P                  4       R#   TP                  \        P                  4       i ; i)rM   Ú	new_tableÚcolN)r   r   r:   r)   r�   r   r   r   r'   ÚcreateÚclear_cacheÚdrop)rƒ   r]   ÚinspÚnts   &&  r<   Útest_has_table_cacheÚ!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           
     ó  € \         P                  P                  4       ;_uu_ 4       p\        \         P                  P                  P                  VR \         P                  R7      4       \        \         P                  P                  P                  VR\         P                  R7      4       \        \         P                  P                  P                  VR\         P                  R7      4       RRR4       R#   + '       g   i     R# ; i)rM   rS   rR   r~   N)r   r:   r   r'   r€   r�   rW   r)   r‚   s   & r<   Útest_has_table_schemaÚ"HasTableTest.test_has_table_schema­   s¿   € ä�Y‰Y�_‰_×Ô $ÜÜ—	‘	×!Ñ!×+Ñ+Ø˜,¬v×/AÑ/Að ,ó ôô
 Ü—	‘	×!Ñ!×+Ñ+Ø˜.´×1CÑ1Cð ,ó ôô
 Ü—	‘	×!Ñ!×+Ñ+ØÐ-´f×6HÑ6Hð ,ó ô÷ ××Òús   §C
C;Ã;D	c           
     óö   € \         P                  P                  4       ;_uu_ 4       p\        \         P                  P                  P                  VR RR7      4       RRR4       R#   + '       g   i     R# ; i)rM   Únonexistent_schemarS   N)r   r:   r   r'   r€   r�   r‚   s   & r<   Ú!test_has_table_nonexistent_schemaÚ.HasTableTest.test_has_table_nonexistent_schemaÀ   sQ   € ä�Y‰Y�_‰_×Ô $ÜÜ—	‘	×!Ñ!×+Ñ+Ø˜,Ð/Cð ,ó ô÷ ××Òús   §6A'Á'A8	c                óP   € \        V4      p\        VP                  R 4      4       R# ©ÚvvN©r   r)   r�   ©rƒ   Ú
connectionr�   s   && r<   Útest_has_table_viewÚ HasTableTest.test_has_table_viewÉ   s   € ä�zÓ"ˆÜ�—‘˜tÓ$Ö%r?   c                óp   € \        V4      pV P                  4       p\        VP                  V4      4       R # ©N)r   rm   r)   r�   )rƒ   r�   r�   rm   s   &&  r<   Útest_has_table_temp_tableÚ&HasTableTest.test_has_table_temp_tableÎ   s+   € ä�zÓ"ˆØ×.Ñ.Ó0ˆÜ�—‘˜Ó/Ö0r?   c                óP   € \        V4      p\        VP                  R 4      4       R# ©Ú
user_tmp_vNr›   rœ   s   && r<   Útest_has_table_temp_viewÚ%HasTableTest.test_has_table_temp_viewÔ   s   € ô �zÓ"ˆÜ�—‘˜|Ó,Ö-r?   c                ón   € \        V4      p\        VP                  R \        P                  4      4       R# r™   )r   r)   r�   r   rW   rœ   s   && r<   Útest_has_table_view_schemaÚ'HasTableTest.test_has_table_view_schemaÛ   s'   € ô �zÓ"ˆÜ�—‘˜t¤V×%7Ñ%7Ó8Ö9r?   r@   )rA   rB   rC   rD   Ú__sparse_driver_backend__Úrun_deletesrE   r^   rY   rm   r[   r…   r�   r   rU   rV   r’   r–   Úviewsrž   rZ   r¢   rX   rw   r§   rª   rF   rG   rH   s   @r<   rK   rK   J   sg  ø‡ € Ø $Ðà€Kàñ-ó ð-ð* ñó ðð* ñ
ó ð
ð
 ñOó ðOò0Mòð ×Ñ×Ññó ðð$ ×Ñ×Ññó ðð ×Ñ×Ññ&ó ð&ð ×Ñ×$Ñ$ñ1ó %ð1ð
 ×Ñ×$Ñ$Ø×Ñ×%Ñ%Ø×Ñ×%Ñ%ñ.ó &ó &ó %ð.ð ×Ñ×ÑØ×Ñ×Ññ:ó ó ö:r?   rK   c                   óº   a € ] tR t^ât o RtRt]R 4       t]P                  ! RRRR7      t
R t]
R 4       t]P                  P                  ]
R	 4       4       tR
tV tR# )ÚHasIndexTestTc                óê  € \        R V\        R\        RR7      \        R\        ^24      4      \        R\        ^24      4      4      p\	        RVP
                  P                  4       \        P                  P                  P                  '       dd   \        R V\        R\        RR7      \        R\        ^24      4      \        P                  R7      p\	        RVP
                  P                  4       R	# R	# )
rM   rN   TrO   rQ   Údata2Úmy_idxrS   Úmy_idx_sN)r   r   r   r   r"   ÚcrQ   r   rU   rV   r5   r   rW   )r;   r]   Útts   && r<   r^   Ú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?   r€   Ú	inspectorÚkind©Úargnamesc                óH   a€ VR 8X  d   V3R l# \        S4      P                  # )r€   c                  ó`   <€ \         P                  P                  P                  ! S.V O5/ VB # r¡   )r   r:   r€   Ú	has_index)ÚaÚkr„   s   *,€r<   Ú<lambda>Ú)HasIndexTest._has_index.<locals>.<lambda>ÿ   s$   ø€ ¤6§9¡9×#4Ñ#4×#>Ò#>¸tÐ#MÀaÒ#MÈ1Ò#Mr?   )r   r¾   )rƒ   r¹   r„   s   &&fr<   Ú
_has_indexÚHasIndexTest._has_indexý   s!   ø€ Ø�9ÔÜMÐMä˜4“=×*Ñ*Ð*r?   c           	     óD  € V P                  W4      pV! R R4      '       g   Q hV! R R4      '       d   Q hV! RR4      '       d   Q hV! R R4      '       d   Q hV! R R4      '       d   Q hV! RR4      '       d   Q h\        RV P                  P                  P                  P
                  4      p\        RV\        R\        4      \        RR4      4      pVP                  V4       VP                  V4        VR	8X  d=   V! R R4      '       d   Q hV! RR4      '       d   Q hVP                  P                  4        V! R R4      R
J g   Q hV! RR4      R
J g   Q h VP                  V4       VP                  V4       R#   TP                  T4       TP                  T4       i ; i)rM   r³   r´   r~   Únonexistent_idxÚmy_idx_2Útest_table_2Úmy_idx_3Úfoor¸   TN)rÃ   r"   ÚtablesrM   rµ   r²   r   r   r   rŠ   Ú__self__r‹   rŒ   )rƒ   r¹   r�   r]   ÚmethÚidxÚtbls   &&&&   r<   Útest_has_indexÚHasIndexTest.test_has_index  s…  € à�‰˜tÓ0ˆÙ�L (×+Ò+Ð+Ð+Ù˜ j×1Ò1Ð1Ð1ÙÐ+¨X×6Ò6Ð6Ð6Ù˜Ð&7×8Ò8Ð8Ð8á˜ j×1Ò1Ð1Ð1Ù˜¨
×3Ò3Ð3Ð3Ü�J §¡× 6Ñ 6× 8Ñ 8× >Ñ >Ó?ˆÜØØÜ�5œ'Ó"Ü�*˜eÓ$ó	
ˆð 	�
‰
�:ÔØ�
‰
�:Ôð		!Ø�{Ô"Ù ¨j×9Ò9Ð9Ð9Ù °
×;Ò;Ð;Ð;Ø—‘×)Ñ)Ô+Ù˜ jÓ1°TÓ9Ð9Ð9Ù˜¨
Ó3°tÓ;Ð;Ñ;à�H‰H�ZÔ Ø�H‰H�ZÖ øð �H‰H�ZÔ Ø�H‰H�ZÕ ús   Ã5E; ÄE; Ä:E; Å;$Fc                ó0  € V P                  W4      pV! R R\        P                  R7      '       g   Q hV! R R\        P                  R7      '       d   Q hV! RR\        P                  R7      '       d   Q hV! R R\        P                  R7      '       d   Q hR# )rM   r´   rS   r³   r~   Únonexistent_idx_sN)rÃ   r   rW   )rƒ   r¹   r�   rÍ   s   &&& r<   Útest_has_index_schemaÚ"HasIndexTest.test_has_index_schema!  s˜   € ð �‰˜tÓ0ˆÙ�L *´V×5GÑ5G×HÓHÐHÐHÙ˜ h´v×7IÑ7I×JÓJÐJÐJÙØ ´F×4FÑ4F÷
ó 
ð 	
ð 
ñ ØÐ-´f×6HÑ6H÷
ó 
ð 	
ð 
ñ 
r?   r@   N)Úindex_reflection)rA   rB   rC   rD   r¬   Ú__requires__rE   r^   r   Úcombinationsr¹   rÃ   rÐ   rU   rV   rÔ   rF   rG   rH   s   @r<   r°   r°   â   sy   ø‡ € Ø $ÐØ(€Làñ)ó ð)ð( ×Ò 	¨;ÀÔH€Dò+ð 
ñ!ó 
ð!ð: ×Ñ×ÑØ	ñ	
ó 
ó ö	
r?   r°   c                   ó€  a € ] tR tRt o RtR tR t]P                  ! RRR.4      ]! 4       ]! 4       ]P                  P                  R 4       4       4       4       t]! 4       ]! 4       ]P                  P                  R 4       4       4       t]! 4       ]! 4       ]P                  P                  R	 4       4       4       tR
tV tR# )ÚBizarroCharacterTesti/  Tc                 ó8   € \         P                  ! RRRRRR7      # )Ú	plainnameÚ
columnnamerº   )rÜ   )z(3))zcol%p)z[brack]©r   rØ   r@   r?   r<   Úcolumn_namesÚ!BizarroCharacterTest.column_names3  s$   € Ü×#Ò#ØØØØØ!ô
ð 	
r?   c                 ó8   € \         P                  ! RRRRRR7      # )ÚplainÚ	tablenamerº   )râ   )z(2))z
per % cent)z
[brackets]rÞ   r@   r?   r<   Útable_namesÚ BizarroCharacterTest.table_names<  s$   € Ü×#Ò#ØØØØØ ô
ð 	
r?   Úuse_compositeFc                ó¸  € \        VV\        V\        RRR7      RR7      pV'       d"   VP                  \        R\        RR7      4       V'       d�   \        RV\        R\        RR7      \        R\        4      \        R	\        4      \        P
                  ! RR	.VP                  P                  VP                  P                  .4      RR7       MG\        RV\        R\        RR7      \        R\        VP                  P                  4      4      RR7       VP                  V4       \        4       p\        RWqR
7      pVP                  V,          p	VP                  P                  P                  V	P                  ^ ,          4      '       g   Q hV'       dA   VP                  P                  P                  V	P                  ^,          4      '       g   Q hR# R# )ztests for #10275rN   T)ÚkeyrP   ©Útest_needs_fkÚid2rO   ÚotherÚrefÚref2©Úautoload_withN)r   r   r   Úappend_columnrt   ÚForeignKeyConstraintrµ   rN   rë   r   Ú
create_allr   rË   rí   Ú
referencesrî   )
rƒ   r�   r]   ræ   rã   rÝ   r¶   Úm2Úo2Út1s
   &&&&&&    r<   Útest_fk_refÚ BizarroCharacterTest.test_fk_refE  s[  € ô ØØÜ�:œ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Ô9ˆØ�Y‰Y�yÕ!ˆà�t‰t�x‰x×"Ñ" 2§4¡4¨¥7×+Ò+Ð+Ð+ßØ—4‘4—9‘9×'Ñ'¨¯©¨Q­×0Ò0Ð0Ò0ñ r?   c                óê   € \        VV\        V\        \        4       R R7      4       VP	                  V4       \        V4      p\        VP                  V4      ^ ,          R,          R,          ^4       R# )TrO   ÚidentityÚstartN©r   r   r   r   ró   r   r   Úget_columns©rƒ   rã   rÝ   r�   r]   r�   s   &&&&& r<   Útest_reflect_identityÚ*BizarroCharacterTest.test_reflect_identityt  s`   € ô 	ØØÜ�:œw¬«
ÀÔEô	
ð
 	×Ñ˜JÔ'Ü�zÓ"ˆäˆD×Ñ˜YÓ'¨Õ*¨:Õ6°wÕ?ÀÖCr?   c                óì   € \        VV\        R \        RR7      \        V\        RR7      4       VP                  V4       \	        V4      p\        VP                  V4      ^,          R,          R4       R# )rN   TrO   úsome comment©Úcommentr  N©r   r   r   ró   r   r   rþ   rÿ   s   &&&&& r<   Útest_reflect_commentsÚ*BizarroCharacterTest.test_reflect_comments„  sc   € ô 	ØØÜ�4œ¨dÔ3Ü�:œw°Ô?ô		
ð 	×Ñ˜JÔ'Ü�zÓ"ˆäˆD×Ñ˜YÓ'¨Õ*¨9Õ5°~ÖFr?   r@   N)rA   rB   rC   rD   r¬   rß   rä   r   Ú	variationrU   Ú!foreign_key_constraint_reflectionrø   Úidentity_columnsr   Úcomment_reflectionr  rF   rG   rH   s   @r<   rÚ   rÚ   /  sÏ   ø‡ € à $Ðò
ò
ð ×Ò�¨¨u¨Ó6Ùƒ^Ùƒ]Ø×Ñ×7Ñ7ñ)1ó 8ó ó ó 7ð)1ñV ƒ^Ùƒ]Ø×Ñ×&Ñ&ñDó 'ó ó ðDñ ƒ^Ùƒ]Ø×Ñ×(Ñ(ñGó )ó ó öGr?   rÚ   c                   ó¼   a € ] tR tRt o RtRt]P                  R 4       t]P                  P                  R 4       t]P                  P                  R 4       tRtV tR# )	ÚTempTableElementsTesti–  Tc                ób   € \        \        \        P                  R \        P                   24      # )Ú
ident_tmp_rj   ©rƒ   s   &r<   rã   ÚTempTableElementsTest.tablenameœ  s%   € ä"Ü”F—I‘I ¬F¯L©L¨>Ð:ó
ð 	
r?   c                óê   € \        VV\        R \        \        4       RR7      4       VP	                  V4       \        V4      p\        VP                  V4      ^ ,          R,          R,          ^4       R# )rN   TrO   rû   rü   Nrý   ©rƒ   rã   r�   r]   r�   s   &&&& r<   r   Ú+TempTableElementsTest.test_reflect_identity¢  s^   € äØØÜ�4œ¤(£*¸$Ô?ô	
ð
 	×Ñ˜JÔ'Ü�zÓ"ˆäˆD×Ñ˜YÓ'¨Õ*¨:Õ6°wÕ?ÀÖCr?   c                óì   € \        VV\        R \        RR7      \        R\        RR7      4       VP                  V4       \	        V4      p\        VP                  V4      ^,          R,          R4       R# )rN   TrO   Úfoobarr  r  r  Nr  r  s   &&&& r<   r  Ú+TempTableElementsTest.test_reflect_comments®  sa   € äØØÜ�4œ¨dÔ3Ü�8œW¨nÔ=ô		
ð 	×Ñ˜JÔ'Ü�zÓ"ˆäˆD×Ñ˜YÓ'¨Õ*¨9Õ5°~ÖFr?   r@   N)Útemp_table_reflection)rA   rB   rC   rD   r¬   r×   r   Úfixturerã   rU   r  r   Útemp_table_comment_reflectionr  rF   rG   rH   s   @r<   r  r  –  sj   ø‡ € à $Ðà-€Là‡_�_ñ
ó ð
ð
 ×Ñ×&Ñ&ñ	Dó 'ð	Dð ×Ñ×3Ñ3ñ
Gó 4ö
Gr?   r  c                   óú  a € ] tR tRt o RtRt]R 4       tR t]R 4       t	]]
P                  P                  R 4       4       t]R 4       t]R	 4       t]]
P                  P                   R
 4       4       t]]
P                  P$                  R 4       4       t]]
P                  P(                  R 4       4       t]]
P                  P,                  R 4       4       t]]
P                  P0                  R 4       4       tRtV tR# )ÚQuotedNameArgumentTesti¼  ÚonceTc                ó–  € \        R V\        R\        4      \        R\        ^24      4      \        R\        ^24      4      \        R\        4      \        P
                  ! RRR7      \        P                  ! RR4      \        P                  ! RRR7      \        P                  ! R.R	.R
R7      \        P                  ! RRR7      RRR7       \        P                  P                  P                  '       dË   \        RV\        R\        4      \        R\        ^24      4      \        R\        ^24      4      \        R\        4      \        P
                  ! RRR7      \        P                  ! RR4      \        P                  ! RRR7      \        P                  ! R.R	.RR7      \        P                  ! RRR7      RRR7       \        RV\        R\        RR7      \        R\        4      RR7       \        P                  P                  P                  '       Ed2   \        P                  P                  P                  '       d   R R.pMR .pV F÷  pR\        P                   P"                  P$                  P'                  RV,          4      : R\        P                   P"                  P$                  P'                  V4      : 2p\(        P*                  ! VR\-        V4      4       \(        P*                  ! VR\-        R\        P                   P"                  P$                  P'                  RV,          4      ,          4      4       Kù  	  R # R # )!úquote ' onerN   rq   rQ   Ú
related_idzpk quote ' one©rq   zix quote ' onezuq quote' onez
related.idzfk quote ' onezname != 'foo'zck quote ' onezquote ' one commentT)r  rê   úquote " twozpk quote " twozix quote " twozuq quote" twozfk quote " twozck quote " two zquote " two commentÚrelatedrO   ré   rc   úview %sú AS SELECT * FROM ra   rb   zDROP VIEW %sN)r   r   r   r   rt   ÚPrimaryKeyConstraintr"   ÚUniqueConstraintrò   ÚCheckConstraintr   rU   Úsymbol_names_w_double_quoter5   Úview_column_reflectionr   r:   r€   Úidentifier_preparerÚquoter   rd   r!   )r;   r]   Únamesrq   re   s   &&   r<   r^   Ú$QuotedNameArgumentTest.define_tablesÀ  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ÐCà!Ø!ð‘ð "ð�ó ‘ä—I‘I×%Ñ%×9Ñ9×?Ñ?Ø! DÕ(öô —I‘I×%Ñ%×9Ñ9×?Ñ?ÀÕEð	�ô —’˜X ~´s¸5³zÔBÜ—’ØØ!ÜØ&Ü Ÿ)™)×+Ñ+×?Ñ?×EÑEØ%¨Õ,óõóö	ó ñ ;r?   c                óp   € \         P                  ! RR\         P                  P                  34      ! V 4      # )r   r#  )r   )r   rØ   rU   r*  )Úfns   &r<   Úquote_fixturesÚ%QuotedNameArgumentTest.quote_fixtures  s6   € Ü×#Ò#ØØœG×,Ñ,×HÑHÐIô
ð óð 	r?   c                ón  € \        \        P                  4      p\        P                  P
                  P                  '       d-   VP                  V4      p\        \        V\        4      4       R # \        \        4      ;_uu_ 4        VP                  V4       R R R 4       R #   + '       g   i     R # ; ir¡   )r   r   r:   r   rU   Úreflect_table_optionsr5   Úget_table_optionsr)   Ú
isinstancer8   r   ÚNotImplementedError)rƒ   rq   r�   Úress   &&  r<   Útest_get_table_optionsÚ-QuotedNameArgumentTest.test_get_table_options  sp   € ä”v—y‘yÓ!ˆä×Ñ×1Ñ1×9×9Ð9Ø×(Ñ(¨Ó.ˆCÜ”J˜s¤DÓ)Ö*äÔ2×3Õ3Ø×&Ñ& tÔ,÷ 4×3×3Ò3ús   ÂB#Â#B4	c                óx   € \        \        P                  4      pVP                  R V,          4      '       g   Q hR# )r%  N)r   r   r:   Úget_view_definition©rƒ   rq   r�   s   && r<   Útest_get_view_definitionÚ/QuotedNameArgumentTest.test_get_view_definition$  s.   € ô ”v—y‘yÓ!ˆØ×'Ñ'¨	°DÕ(8×9Ò9Ð9Ò9r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   rþ   r>  s   && r<   Útest_get_columnsÚ'QuotedNameArgumentTest.test_get_columns*  s'   € ä”v—y‘yÓ!ˆØ×Ñ ×%Ò%Ð%Ò%r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   Úget_pk_constraintr>  s   && r<   Útest_get_pk_constraintÚ-QuotedNameArgumentTest.test_get_pk_constraint/  s'   € ä”v—y‘yÓ!ˆØ×%Ñ% d×+Ò+Ð+Ò+r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   Úget_foreign_keysr>  s   && r<   Útest_get_foreign_keysÚ,QuotedNameArgumentTest.test_get_foreign_keys4  s)   € ô ”v—y‘yÓ!ˆØ×$Ñ$ T×*Ò*Ð*Ò*r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   Úget_indexesr>  s   && r<   Útest_get_indexesÚ'QuotedNameArgumentTest.test_get_indexes:  s)   € ô ”v—y‘yÓ!ˆØ×Ñ ×%Ò%Ð%Ò%r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   Úget_unique_constraintsr>  s   && r<   Útest_get_unique_constraintsÚ2QuotedNameArgumentTest.test_get_unique_constraints@  s)   € ô ”v—y‘yÓ!ˆØ×*Ñ*¨4×0Ò0Ð0Ò0r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   Úget_table_commentr>  s   && r<   Útest_get_table_commentÚ-QuotedNameArgumentTest.test_get_table_commentF  s)   € ô ”v—y‘yÓ!ˆØ×%Ñ% d×+Ò+Ð+Ò+r?   c                ój   € \        \        P                  4      pVP                  V4      '       g   Q hR # r¡   )r   r   r:   Úget_check_constraintsr>  s   && r<   Útest_get_check_constraintsÚ1QuotedNameArgumentTest.test_get_check_constraintsL  s)   € ô ”v—y‘yÓ!ˆØ×)Ñ)¨$×/Ò/Ð/Ò/r?   r@   N)rA   rB   rC   rD   Úrun_create_tablesr¬   rE   r^   r2  r:  r   rU   r+  r?  rB  rF  r
  rJ  rÖ   rN  Úunique_constraint_reflectionrR  r  rV  Úcheck_constraint_reflectionrZ  rF   rG   rH   s   @r<   r  r  ¼  sW  ø‡ € ØÐØ $ÐàñPó ðPòdð ñ-ó ð-ð Ø×Ñ×,Ñ,ñ:ó -ó ð:ð ñ&ó ð&ð ñ,ó ð,ð Ø×Ñ×7Ñ7ñ+ó 8ó ð+ð Ø×Ñ×&Ñ&ñ&ó 'ó ð&ð Ø×Ñ×2Ñ2ñ1ó 3ó ð1ð Ø×Ñ×(Ñ(ñ,ó )ó ð,ð Ø×Ñ×1Ñ1ñ0ó 2ó ö0r?   r  c                 ó¬  € \         P                  ! R R \         P                  P                  3RR7      p\         P                  ! \        P
                  \        P                  \        P                  RR7      p\         P                  ! \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  ,          \        P                  \        P                  ,          RR7      p\         P                  ! RRRR7      pV! V! V! V! V 4      4      4      4      # )	Nc                  ó"   € \         P                  # r¡   )r   rW   r@   r?   r<   rÁ   Ú$_multi_combination.<locals>.<lambda>W  s
   € ”F×&Ò&r?   rT   rº   r1   r¹   TFÚ
use_filter)r   rØ   rU   rV   r   ÚDEFAULTÚ	TEMPORARYÚANYr   ÚTABLEÚVIEWÚMATERIALIZED_VIEWÚANY_VIEW)r1  rT   r1   r¹   Úfilter_namess   &    r<   Ú_multi_combinationrk  S  só   € Ü×!Ò!Øá&Ü×Ñ×$Ñ$ð	
ð ô€Fô × Ò Ü×ÑÜ×ÑÜ�‰Øô	€Eô ×ÒÜ×ÑÜ�‰Ü×$Ñ$Ü�‰Ü×ÑÜ×Ñœ:Ÿ?™?Õ*Ü×Ñœ:×7Ñ7Õ7Øô	€Dô ×'Ò'¨¨e¸lÔK€Lá‘%™™\¨"Ó-Ó.Ó/Ó0Ð0r?   c                   óÆ  a € ] tR tRt o R;ttRt]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       tR	 tR
 tR tR]P"                  ]P"                  R3R ltR]P"                  ]P"                  R3R ltR]P"                  ]P"                  R3R lt]R 4       tR]P"                  ]P"                  R3R lt]R 4       tR]P"                  ]P"                  R3R lt]R 4       tR]P"                  ]P"                  R3R lt]R 4       tR]P"                  ]P"                  RR3R lt]R 4       tR]P"                  ]P"                  R3R lt ]R 4       t!]"PF                  PH                  R 4       t%]"PF                  PH                  R 4       t&]"PF                  PH                  R 4       t']"PF                  PH                  R 4       t(]"PF                  PH                  ]"PF                  PR                  R 4       4       t*]"PF                  PH                  R  4       t+]"PF                  PH                  R! 4       t,]"PZ                  ! RR"]"PF                  P\                  3R#R$7      ]"PZ                  ! R]"PF                  P^                  3RR%R$7      R& 4       4       t0]"PZ                  ! R]"PF                  P^                  3RR%R$7      R' 4       t1]"PF                  Pd                  R( 4       t3]"PF                  Ph                  ]"PF                  Pj                  R) 4       4       t6]"PF                  Pn                  R* 4       t8]"PF                  Pn                  ]"PF                  P^                  R+ 4       4       t9RvR, lt:]"PZ                  ! RwRR]"PF                  P^                  3RR]"PF                  Ph                  3RR]"PF                  P^                  ]"PF                  Ph                  ,           3R-R$7      R. 4       t;]"PF                  Px                  R/ 4       t=]"PF                  Px                  R0 4       t>]"PF                  Px                  ]"PF                  P~                  ]"PF                  Pj                  R1 4       4       4       t@]"PZ                  ! RxR]"PF                  P^                  3R%R$7      ]"PF                  P‚                  R2 4       4       tB]"PZ                  ! R3R4R5R6R7R$7      ]"PF                  P‚                  ]"PF                  P†                  R8 4       4       4       tD]"PZ                  ! RxR]"PF                  P^                  3R%R$7      ]"PF                  P\                  R9 4       4       tE]"PZ                  ! R:R;R<R=R>R$7      ]"PF                  P\                  R? 4       4       tF]"PF                  PŽ                  ]"PF                  P^                  R@ 4       4       tH]"PZ                  ! RxR]"PF                  P^                  3R%R$7      ]"PF                  P’                  RA 4       4       tJ]"PZ                  ! RyRzRBR$7      ]"PF                  P’                  ]"PF                  P–                  ]"PF                  P˜                  RC 4       4       4       4       tM]"PZ                  ! RDRERFRGRHR$7      ]"PF                  P’                  RI 4       4       tN]"PF                  Px                  ]"PF                  Pž                  RJ 4       4       tP]"PF                  P¢                  RK 4       tR]"PZ                  ! R]"PF                  P^                  3RxR%R$7      ]"PF                  Pž                  RL 4       4       tS]"PZ                  ! RMRNRORPRQR$7      ]"PF                  Pž                  RR 4       4       tT]"PF                  Ph                  ]"PZ                  ! RxR]"PF                  P^                  3R%R$7      RS 4       4       tU]"PF                  Ph                  RT 4       tV]"PF                  P®                  RU 4       tX]"PZ                  ! R]"PF                  P^                  3RxR%R$7      RV 4       tY]"PZ                  ! R]"PF                  P^                  3R4      RW 4       tZ]"P¶                  RX 4       t\]"PF                  Pº                  ]^RY 4       4       t_]"PF                  Pn                  ]^RZ 4       4       t`R[ taR{R\ ltbR|R] ltc]^R^ 4       td]"PF                  P‚                  ]^R_ 4       4       teR` tf]"PF                  P\                  ]^Ra 4       4       tg]"PF                  P’                  ]^Rb 4       4       th]"PF                  Pž                  ]^Rc 4       4       ti]"PF                  PÔ                  ]^Rd 4       4       tk]"PZ                  ! Re]"PF                  Pº                  3RfRg]"PF                  P‚                  3Rh]"PF                  P\                  3Ri]"PF                  P’                  3Rj]"PF                  Pž                  3Rk]"PF                  PÔ                  3Rl]"PF                  Pn                  3RmR$7	      Rn 4       tlRo tm]"PZ                  ! RRR%R$7      ]"PZ                  ! R]"PF                  PÜ                  3RRpR$7      Rq 4       4       to]"PF                  Pn                  Rr 4       tp]"PF                  Pâ                  Rs 4       tr]"PF                  Pæ                  ]"PF                  Pè                  Rt 4       4       tuRutvV twR# )}ÚComponentReflectionTestiq  NTc                óÖ   € V P                  VR 4       \        P                  P                  P                  '       d-   V P                  V\        P
                  P                  4       R # R # r¡   )Údefine_reflected_tablesr   rU   rV   r5   r   rW   r\   s   &&r<   r^   Ú%ComponentReflectionTest.define_tablesv  sI   € à×#Ñ# H¨dÔ3Ü×Ñ×#Ñ#×+×+Ð+Ø×'Ñ'¨´'·.±.×2LÑ2LÖMñ ,r?   c                óV  € V'       d   VR ,           pMRp\         P                  P                  P                  '       d   \	        RV,          RR7      3pMRFp\        RV\        R\        P                  RR7      \        R	\        P                  ! ^4      R
R7      \        R\        P                  ! 4       R
R7      \        R\        P                  .VO5!  \        P                  ! RRRR7      \        P                  ! R4      VRR7
      p\        RV\        R\        P                  RR7      \        R\        P                  \	        RV,          RRR7      4      \        R\        P                  \	        RV,          4      4      \        R\        P                  ! ^4      RR7      \        P                  ! RRR7      \        P                  ! RRRR R7      VRR7
       \        R!V\        R\        P                  4      \        R"\        P                  \	        VP                  P                   4      4      \        R#\        P                  ! ^4      RR$7      \        P"                  ! RR%R&R7      VRR7       \        R'V\        R(\        P                  RR)R*7      \        R\        P                  ! ^4      R+R,7      \        R-\        P                  ! ^4      R.R,7      \        R/\        P                  ! ^*4      R0R,7      VR1R27       \        R3V\        R\        P                  ! ^4      4      VR4R27       \         P                  P$                  P                  '       Eds   Vf    \        R6V\        R(\        P                  RR7      \        R\        P                  ! ^4      4      \        R7\	        R8\         P&                  P(                  ,          4      4      R\&        P*                  P,                  P.                  R97       MÏ\        R:V\        R(\        P                  RR7      \        R;\	        R<\&        P*                  P,                  P.                  ,          4      4      \        R\        P                  ! ^4      4      VRR7       \        R=V\        R(\        P                  RR7      \        R\        P                  ! ^4      4      VRR7       \         P                  P0                  P                  '       Ed°   \3        R>VP                  P4                  VP                  P6                  RR7       \3        R?VP                  P                   VP                  P6                  VP                  P4                  4       V'       Eg&   \        R@V\        RA\        P                  ! ^4      4      RRB7      p\        RCV\        R(\        P                  RR7      \        RA\        P                  ! ^4      4      RRB7      p\         P                  P8                  P                  '       d‡   \         P                  P:                  P                  '       d]   \3        RDVP                  P<                  P?                  4       4       \3        REVP                  P<                  P?                  4       4       \         P                  P@                  P                  '       d   V PC                  W4       V'       g@   \         P                  PD                  P                  '       d   V PG                  V4       R5# R5# R5# )GÚ.Ú z%susers.user_idÚ
user_id_fkr"  ÚusersÚuser_idTrO   Útest1F©ÚnullableÚtest2Úparent_user_idú	test2 > 0Úzz_test2_gt_zeroúusers check constraint©rq   r  útest2 <= 1000©rT   rê   Ú
dingalingsÚdingaling_idÚ
address_idz%semail_addresses.address_idÚzz_email_add_id_fgúdi fk commentÚid_userrQ   )Ú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_testrN   ú
id comment)rP   r  údata % commentr  Úd2ú)Comment types type speedily ' " \ '' Fun!Úd3úComment
withescapesúthe test % ' " \ table comment)rT   r  Úno_constraintsú"no
constraintshasescapedcommentNÚlocal_tableÚ	remote_idz%s.remote_table_2.id)rê   rT   Ú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_pkr@   )$r   rU   Úself_referential_foreign_keysr5   r   r   r   rt   ru   ÚCHARÚFloatr   r)  r   r(  rµ   rv  r'  Úcross_schema_fk_reflectionr   rW   r:   r€   Údefault_schema_namerÖ   r"   rw  rz  Úindexes_with_ascdescÚreflect_indexes_with_ascdescr¤  Údescr+  rY   r  r[   )r;   r]   rT   Úschema_prefixÚparent_id_argsru  r£  r¥  s   &&&     r<   ro  Ú/ComponentReflectionTest.define_reflected_tables|  sI  € çØ" S�L‰MàˆMä×Ñ×9Ñ9×A×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Ñ4Ü�- §¡§¡°·±·±ÀdÕKÜØ §¡§¡°%·'±'·-±-ÀÇÁÇÁô÷ �6ä',Ø*ØÜ˜3¤§	¢	¨!£Ó-Ø"&ô	(Ð$ô &+Ø(ØÜ˜4¤§¡¸Ô>Ü˜3¤§	¢	¨!£Ó-Ø"&ô&Ð"ô ×$Ñ$×9Ñ9×A×AÐAÜ×(Ñ(×EÑE×M×MÐMäÐ+Ð-A×-CÑ-C×-EÑ-E×-JÑ-JÓ-LÔMÜ˜/Ð+=×+?Ñ+?×+AÑ+A×+FÑ+FÓ+HÔIä×Ñ×2Ñ2×:×:Ð:Ø×Ñ˜XÔ.ßœ'×*Ñ*×@Ñ@×H×HÐHØ×"Ñ" 8Ö,ñ I‰vr?   c                ób   € \        \        \        P                  R \        P                   24      # rh   rj   rl   s   &r<   rm   Ú'ComponentReflectionTest.temp_table_name*  ro   r?   c                óü  € \        \        \        P                  4      pV P                  4       p\	        VV\        R \        P                  RR7      \        R\        P                  ! ^24      4      \        R\        P                  4      \        P                  ! RR\        P                   2R7      \        P                  ! RR4      3/ VB p\        P                  P                  P                  '       d†   \        P                  P                   P                  '       dZ   \"        P$                  ! VR\'        R	\        P                  ,          4      4       \"        P$                  ! VR
\'        R4      4       R# R# R# )rN   TrO   rq   rÊ   Úuser_tmp_uq_r"  Úuser_tmp_ixra   rr   rb   rs   N)r   r   r:   rm   r   r   rt   ru   rv   r(  rk   r"   r   rU   rX   r5   rw   r   rd   r!   rx   s   &&   r<   r[   Ú*ComponentReflectionTest.define_temp_tables0  s  € ä$¤V¬V¯Y©YÓ7ˆØ×(Ñ(Ó*ˆ
ÜØØÜ�4œŸ™¨TÔ2Ü�6œ2Ÿ:š: b›>Ó*Ü�5œ"Ÿ&™&Ó!ô ×Ò ¨|¼F¿L¹L¸>Ð-JÔKÜ�HŠH�] EÓ*ñ
ð ñ
ˆô" ×Ñ×,Ñ,×4×4Ð4Ü× Ñ ×0Ñ0×8×8Ð8ä�LŠLØØÜð0Ü28·,±,õ?óôô �LŠL˜ =´#Ð6LÓ2MÖNñ 9ñ 5r?   c                ó0  € \         P                  P                  P                  '       d   R 0pM
\	        4       pR F×  pTpV'       d   V RV 2pVR,           pWC9   d   RMRpRV RV RV 2p\
        P                  ! VR\        V4      4       WC9   dX   R	p	V'       d$   \         P                  ! R
4      '       d   V RV	 2p	RV	 RV R2p
\
        P                  ! VR\        V
4      4       \
        P                  ! VR\        RV RV 24      4       KÙ  	  R# )r‚  rr  Ú_vzMATERIALIZED rs  zCREATE zVIEW r&  ra   Ú	mat_indexÚoraclezCREATE INDEX z ON z(data)rb   zDROP N©ru  rŒ  r‚  )	r   rU   Úmaterialized_viewsr5   Úsetr   rd   r!   Úagainst)r;   r]   rT   Úmaterializedrz   ÚfullnameÚ	view_nameÚprefixre   Ú
index_namerÎ   s   &&&        r<   rY   Ú$ComponentReflectionTest.define_viewsR  s  € ä×Ñ×.Ñ.×6×6Ð6Ø(˜>‰Lä›5ˆLÛDˆJØ!ˆHßØ$˜X Q z lÐ3�Ø  4�ˆIØ(2Ô(B‘_ÈˆFà˜&˜  y kÐ1CÀHÀ:ÐNð ô �LŠL˜ >´3°u³:Ô>ØÔ)Ø(�
ßœgŸošo¨h×7Ò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                óî   € / p\         P                  V9   d   VP                  V4       \         P                  V9   d   VP                  V4       \         P                  V9   d   VP                  V4       V# r¡   )r   rf  Úupdaterg  rh  )rƒ   r¹   rË   r®   rÁ  r9  s   &&&&& r<   Ú_resolve_kindÚ%ComponentReflectionTest._resolve_kindm  sX   € ØˆÜ×Ñ˜tÔ#Ø�J‰J�vÔÜ�?‰?˜dÔ"Ø�J‰J�uÔÜ×'Ñ'¨4Ô/Ø�J‰J�|Ô$Øˆ
r?   c                ó8  € \         P                  P                  P                  '       g#   VP	                  4        VP	                  4        R # \         P                  P
                  P                  '       g$   VP                  V4       VP	                  4        R # R # r¡   )r   rU   r+  r5   Úclearr¾  rÈ  )rƒ   r®   rÁ  s   &&&r<   Ú_resolve_viewsÚ&ComponentReflectionTest._resolve_viewsw  sd   € Ü×Ñ×6Ñ6×>×>Ð>Ø×ÑÔ Ø�K‰KŽMÜ×!Ñ!×4Ñ4×<×<Ð<Ø�L‰L˜Ô&Ø×ÑÖ ñ =r?   c           	     óŠ  € R  pV\         P                  J d   R pV\         P                  J d   R pRRR0\        P                  P
                  RRRR	V P                  4       0/p\        P                  P                  P                  '       gK   VR,          P                  R4       V\        P                  P
                  ,          P                  RR.4       \        P                  P                  P                  '       g   VR,          P                  RR.4       \        P                  P                  P                  '       d+   \        P                  P                  P                  '       g)   VR,          P                  R	V P                  4       .4       \        P                  P                  P                  '       g   VR,          P                  R	.4       VP!                  4        UUu/ uFE  w  rxV! V4      '       g   K  V^,          Wa,          9  g   K+  V'       d   V^,          V9   g   KC  WxbKG  	  p	ppV	# u uppi )
c                 ó   € R # )Tr@   )Ú_s   &r<   rÁ   Ú8ComponentReflectionTest._resolve_names.<locals>.<lambda>€  s   € ¡r?   c                 ó   € R V ^,          9  # ©Útmpr@   ©rÀ   s   &r<   rÁ   rÒ  ‚  s   €  U°!°Aµ$Ò%6r?   c                 ó   € R V ^,          9   # rÔ  r@   rÖ  s   &r<   rÁ   rÒ  „  s   €  U¨a°­d¢]r?   Nrž  r   rœ  r£  r¥  r¦   )r   rc  rd  r   r   rW   rm   rU   r«  r5   ÚaddrÈ  rÖ   r  Útemp_table_namesrw   Úitems)
rƒ   rT   r1   rj  ÚvaluesÚscope_filterÚremovedrÀ   Úvr9  s
   &&&&&     r<   Ú_resolve_namesÚ&ComponentReflectionTest._resolve_names  sÛ  € Ù%ˆØ”K×'Ñ'Ó'Ù6ˆLØ”K×)Ñ)Ó)Ù2ˆLð �>Ð#3Ð4Ü�N‰N×&Ñ&ØØ&Ø$ØØ×$Ñ$Ó&ð)ð	
ˆô ×Ñ×:Ñ:×B×BÐBØ�D�M×Ñ˜mÔ,Ø”G—N‘N×.Ñ.Õ/×6Ñ6ØÐ!1Ð2ôô ×Ñ×0Ñ0×8×8Ð8Ø�D�M× Ñ Ø'Ð)=Ð>ôô × Ñ ×6Ñ6×>×>Ð>Ü×#Ñ#×4Ñ4×<×<Ð<à�D�M× Ñ  ,°×0DÑ0DÓ0FÐ!GÔHÜ×Ñ×/Ñ/×7×7Ð7Ø�D�M× Ñ  , Ô0ð Ÿ™œô
á&‘�Ù˜A�ô ð �!•˜G�OÑ+ô ÷ " Q q¥T¨\Ñ%9ô	 ˆAŠDÙ&ð 	ñ 
ð ˆ
ùó
s   Ç/H?ÈH?ÈH?È$H?È4H?c                ó²  € VR 3\         P                  /pVR3\         P                  VR3\         P                  VR3\         P                  /pV P                  We4       VR3\         P                  VR3\         P                  VR3\         P                  VR3\         P                  VR3\         P                  VR	3\         P                  VR
3\         P                  VR3\         P                  VR3\         P                  VR3\         P                  WP                  4       3\         P                  /pV P	                  W7We4      pV P                  WWH4      pV# )Údingalings_vÚemail_addresses_vÚusers_vr¦   ru  r‚  rŒ  r’  rš  rœ  rž  r   r£  r¥  ©r*   re  rÍ  rm   rÉ  rß  )	rƒ   rT   r1   r¹   rj  rÁ  r®   rË   r9  s	   &&&&&    r<   Úexp_optionsÚ#ComponentReflectionTest.exp_optionsª  s1  € ð   Ð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Ø×)Ñ)Ó+Ð,¬d¯h©hð
ˆð × Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó  € R R/pVR3V/pVR3VVR3VVR3V/pV P                  Wv4       VR3VVR3VVR3VVR	3R R
/VR3R R/VR3VVR3VVR3VVR3VVR3VWP                  4       3V/pV P                  W8Wv4      p	V P                  WWI4      p	V	# )ÚtextNrâ  rã  rä  r¦   ru  r‚  rŒ  r’  r™  rš  r›  rœ  rž  r   r£  r¥  )rÍ  rm   rÉ  rß  )
rƒ   rT   r1   r¹   rj  ÚemptyrÁ  r®   rË   r9  s
   &&&&&     r<   Úexp_commentsÚ$ComponentReflectionTest.exp_commentsÉ  s  € ð ˜�ˆØ Ð0°%Ð8ˆàÐ(Ð)¨5Ø�YÐ Ø�\Ð" Eð
ˆð
 	×Ñ˜EÔ0à�WÐ˜uØ�\Ð" EØÐ&Ð'¨Ø�^Ð$ØÐ=ð'ð Ð%Ð&ØÐ@ð)ð �]Ð# UØ�^Ð$ eØÐ%Ð&¨ØÐ+Ð,¨eØÐ)Ð*¨EØ×)Ñ)Ó+Ð,¨eð
ˆð" × Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó’  a
€ R \         P                  RR3R lo
V
3R lpVR3S
! RR\         P                  R7      S
! R	4      S
! R
4      S
! R4      ./pVR3S
! R	R\         P                  R7      S
! R4      S
! R4      .VR3S
! RR\         P                  R7      S
! R\         P                  R7      S
! R\         P                  R7      S
! R4      .VR3S
! RR\         P                  R7      S
! R4      S
! R4      ./pV P                  Wv4       VR3V! R4      S
! RR R7      S
! RR R7      S
! R4      .VR3V! R4      S
! R	4      S
! R
4      S
! R4      .VR3V! R	4      S
! R4      S
! R4      .VR3V! RRR7      S
! RRR7      S
! R R!R7      S
! R"R#R7      .VR$3S
! R4      .VR%3V! R4      S
! R4      S
! R&4      .VR'3V! R4      S
! R(4      S
! R4      .VR)3V! R4      S
! R4      .VR*3S
! R+4      .VR,3V! R4      S
! R+4      .WP                  4       3V! R4      S
! R4      S
! R4      ./pV P	                  W8Wv4      p	V P                  WWI4      p	V	# )-FNTc                 ón   € R V RVR\         P                  RVRVRV/pVR8X  d   VP                  R4       V# )rq   ÚautoincrementÚtypeÚdefaultr  ry  Úomit)r*   re  Úpop)rq   Úautorñ  r  ry  r9  s   &&&&& r<   r‰   Ú0ComponentReflectionTest.exp_columns.<locals>.colô  sG   € ð ˜Ø ØœŸ™Ø˜7Ø˜7Ø˜HðˆCð �vŒ~Ø—‘˜Ô(ØˆJr?   c                 óF   <€ R RR\         P                  RR/VCpS! V 3/ VB # )rô  Trñ  ry  F©r*   re  )rq   ry   r‰   s   &,€r<   ÚpkÚ/ComponentReflectionTest.exp_columns.<locals>.pk  s,   ø€ Ø˜$ 	¬4¯8©8°ZÀÐMÈ"ÐMˆBÙ�t‘?˜r‘?Ð"r?   râ  rƒ  rò  )rô  ry  r„  r‡  rQ   rã  r�  rŽ  rä  rv  rw  rx  rz  r{  r¦   rN   rq   rÊ   ru  r‚  rŒ  r’  r“  r  r”  r•  r–  r—  r˜  rš  rœ  r�  rž  rŸ  r   r£  r¤  r¥  rå  )rƒ   rT   r1   r¹   rj  rø  rÁ  r®   rË   r9  r‰   s   &&&&&     @r<   Úexp_columnsÚ#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Ð,@Ø×)Ñ)Ó+Ð,Ù�4“Ù�F“Ù�E“
ð/ðC&
ˆðN × Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó
   € 0 Rm# )rq   >   rq   rð  rñ  ry  r@   r  s   &r<   Ú_required_column_keysÚ-ComponentReflectionTest._required_column_keysM  s   € â6Ð6r?   c                óð  € R \         P                  RR/R lpV! RR7      p\        P                  P                  P
                  '       d   VR3V! R4      /pMVR3V/pVR3VVR3VVR	3V/pV P                  W‡4       VR
3V! R4      VR3V! R4      VR3V! RRRR7      VR3V! R4      VR3VVR3V! R4      VR3V! R4      VR3V! R4      VR3VVR3V! R4      WP                  4       3V! R4      /p	\        P                  P                  P
                  '       g8   V	P                  4        F#  p
V
R ,          f   K  \         P                  V
R &   K%  	  V P                  W9W‡4      pV P                  WWK4      pV# )rq   r  Nc                 ó$   € R \        V4      RV RV/# )Úconstrained_columnsrq   r  )Úlist)rq   r  Úcolss   $$*r<   rø  Ú+ComponentReflectionTest.exp_pks.<locals>.pkX  s   € à%¤t¨D£zØ˜Ø˜7ðð r?   r"  râ  rƒ  rã  rä  r¦   ru  rv  r‚  rŒ  r„  r�  r‘  r  r’  rN   rš  rœ  rž  r   r£  r¥  )r*   re  r   rU   Úmaterialized_views_reflect_pkr5   rÍ  rm   Úreflects_pk_namesrÛ  rÉ  rß  )rƒ   rT   r1   r¹   rj  rø  rê  rÁ  r®   rË   Úvalr9  s   &&&&&       r<   Úexp_pksÚComponentReflectionTest.exp_pksQ  s±  € ð	œ4Ÿ8™8ð 	¨Tô 	ñ ˜”ˆÜ×Ñ×9Ñ9×A×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Ø×)Ñ)Ó+Ð,©b°«hð
ˆô ×Ñ×1Ñ1×9×9Ð9Ø—}‘}–�Ø�v•;Ô*Ü"&§(¡(�C˜“Kñ 'ð × Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó
   € R R0# )rq   r  r@   r  s   &r<   Ú_required_pk_keysÚ)ComponentReflectionTest._required_pk_keys�  s   € àÐ-Ð.Ð.r?   c                ó€  a€  ! R  R4      oV\         P                  R3V3R llpVR3. /pVR3. VR3. VR3. /pV P                  Wv4       VR3V! R	.R
.RRR7      .VR3V! R.R
.R4      V! R.R.RRRR7      .VR3V! R.R
.R4      .VR3. VR3. VR3V! R.R.R\        P                  R7      .VR3V! R.R.RRR7      .VR3. VR3. VR3. WP                  4       3. /p\        P                  P                  P                  '       g   W�R3,          P                  4        \        P                  P                  P                  '       gQ   VP                  4        F<  p	V	 F3  p
V
R ,          \         P                  Jg   K   \         P                  V
R &   K5  	  K>  	  V P                  W8Wv4      pV P                  WWK4      pV# )!c                   ó&   a € ] tR tRt o R tRtV tR# )Ú+ComponentReflectionTest.exp_fks.<locals>.ttiŒ  c                óh   € VR J ;'       g(    \         P                  P                  P                  V8H  # r¡   )r   r:   r€   r¬  )rƒ   rì   s   &&r<   Ú__eq__Ú2ComponentReflectionTest.exp_fks.<locals>.tt.__eq__�  s2   € à˜T�M÷ Fð FÜ—y‘y×(Ñ(×<Ñ<ÀÑEðr?   r@   N©rA   rB   rC   rD   r  rF   rG   rH   s   @r<   r¶   r  Œ  s   ø‡ € ÷ð r?   r¶   Nc                 óV   <€ R T RTRTR\         P                  RVe   TMS! 4       RVRV/# )r  Úreferred_columnsrq   r2   Úreferred_schemaÚreferred_tabler  r÷  )r  Úref_colÚ	ref_tableÚ
ref_schemarq   r  r¶   s   &&&&&&€r<   ÚfkÚ+ComponentReflectionTest.exp_fks.<locals>.fk“  s@   ø€ ð & tØ" GØ˜Øœ4Ÿ8™8Ø!Ø",Ò"8‘J¹b»dà  )Ø˜7ð
ð 
r?   râ  rã  rä  r¦   ru  r{  rv  rt  r"  r‚  r‡  r„  rŒ  r…  r†  r  r�  r’  rš  rœ  r�  rN   r   )r  rž  rŸ  r£  r¥  rq   )r*   re  rÍ  r   rW   rm   r   rU   r¨  r5   rÌ  Únamed_constraintsrÛ  rÉ  rß  )rƒ   rT   r1   r¹   rj  r  rÁ  r®   rË   Úvalsr  r9  r¶   s   &&&&&       @r<   Úexp_fksÚComponentReflectionTest.exp_fks…  s-  ø€ ÷	ñ 	ð Ü—‘Ø÷	ð(   Ð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Ø×)Ñ)Ó+Ð,¨bðC"
ˆôF ×Ñ×=Ñ=×E×EÐEØ˜GÐ$Õ%×+Ñ+Ô-Ü×Ñ×1Ñ1×9×9Ð9ØŸ™ž�Û�CØ˜6•{¬$¯(©(Õ2Ü&*§h¡h˜˜F›ó  ñ (ð
 × Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó
   € 0 Rm# )rq   >   rq   r  r  r  r  r@   r  s   &r<   Ú_required_fk_keysÚ)ComponentReflectionTest._required_fk_keysÝ  s   € ò
ð 	
r?   c                ó�  € R RRRRRRR/R lpVR3. /pVR3. VR	3. VR
3. /pV P                  Wv4       V'       d"   WaR3,          P                  V! RRR7      4       VR3. V! RRRR7      OV! RRRRR7      OV! RRRRR7      OVR3. V! R\        P                  RRR7      OV! R\        P                  RR7      OV! RRRRRR7      OVR3. V! R \        P                  R7      OV! R!\        P                  RR7      OVR"3. VR#3. VR$3. V! R%\        P                  RR7      OVR&3. V! R'\        P                  RR7      OVR(3. VR)3. V! R*R+R*R4/R,7      OVR-3. V! R*R.R*R4/R,7      OWP	                  4       3. V! R/R0R7      OV! R1R2\
        P                   2RRR37      O/p\        P                  P                  P                  '       d+   \        P                  P                  P                  '       g1   W�R)3,          P                  4        W�R-3,          P                  4        V P                  W8Wv4      p	V P                  WWI4      p	V	# )5rˆ  FÚcolumn_sortingNÚ
duplicatesr  c           
      ó
  € \         P                  P                  p\         P                  P                  p\         P                  P                  pV'       d   VP
                  '       d   V'       d   VP
                  '       g   R	# R VR\        V4      RV R\        P                  R. /p	V'       dB   W)R&   VP
                  '       d,   V	R,          ;V	R&   p
V
 Uu. uF  q»V9   d   RMTNK  	  upV	R&   V'       d   W	R&   V	.# u upi )
rˆ  rß   rq   Údialect_optionsÚinclude_columnsr%  ÚexpressionsNÚduplicates_constraintr@   )	r   rU   Úforeign_keys_reflect_as_indexÚ#unique_constraints_reflect_as_indexÚ*reflect_indexes_with_ascdesc_as_expressionr5   r  r*   re  )rq   rˆ  r%  r&  r  r  Úfk_reqÚdup_reqÚsorting_expressionr9  Úorigrµ   s   $$$$$*      r<   rÎ   Ú0ComponentReflectionTest.exp_indexes.<locals>.idxî  sï   € ô ×%Ñ%×CÑCˆFÜ×&Ñ&×JÑJˆGä× Ñ ×KÑKð ÷ ˜6Ÿ>Ÿ>˜>ß 7§?§? ?à�	à˜&Ø¤ T£
Ø˜Ø!¤4§8¡8Ø! 2ðˆC÷ Ø(6Ð$Ñ%Ø%×-×-Ð-Ø03°NÕ0CÐC�C˜Ñ&¨áDHó+ÙDH¸q ^Ô 3™¸Ò:ÁDñ+�C˜Ñ'÷ Ø/3Ð+Ñ,Ø�5ˆLùò+s   ÃD râ  rã  rä  r¦   rQ   r»  r"  ru  r{  rt  T)rq   r  rv  rz  rw  r¢  r¡  )rq   rˆ  r‚  )rq   rˆ  r&  r‡  r„  rƒ  rŠ  rŒ  rŽ  r�  r’  rš  rœ  r�  rž  rŸ  r   r£  r¤  r¦  )rq   r%  r¥  r§  rÊ   r·  rq   r¶  )rq   r&  rˆ  )r¯  )rÍ  Úextendr*   re  rm   r   rk   r   rU   r­  r5   r®  rÌ  rÉ  rß  )
rƒ   rT   r1   r¹   rj  rÎ   rÁ  r®   rË   r9  s
   &&&&&     r<   Úexp_indexesÚ#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ôð-ð
 ×)Ñ)Ó+Ð,ð /Ù�U Ô/ð/áØØ'¬¯© ~Ð6Ø#Øô	ð/ðU3
ˆôj × Ñ ×5Ñ5×=×=Ð=Ü×#Ñ#×@Ñ@×H×HÐHàÐ2Ð3Õ4×:Ñ:Ô<ØÐ0Ð1Õ2×8Ñ8Ô:Ø× Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó
   € 0 Rm# )rq   >   rq   rˆ  rß   r@   r  s   &r<   Ú_required_index_keysÚ,ComponentReflectionTest._required_index_keys\  s   € â1Ð1r?   Fc                óü  € R RRRRR/R lpVR3. /pVR3. VR3. VR	3. /pV P                  W‡4       VR
3. V! RRRRRR7      OVR3. V! R\        P                  \        P                  R7      OV! RRRRRR7      OVR3. VR3. VR3. VR3. VR3. VR3. VR3. VR3. WP                  4       3. V! R R!\        P
                   2R"7      O/p	V'       d	   / VCVCV	C# V P                  W9W‡4      p
V P                  WWJ4      p
V
# )#Úduplicates_indexNÚis_indexFr  c                 ó®   € \         P                  P                  pV'       d   VP                  '       g   R# R \	        V4      RV RV/pV'       d   WR&   V.# )rß   rq   r  r;  r@   )r   rU   Ú*unique_index_reflect_as_unique_constraintsr5   r  )rq   r;  r<  r  r  Úreqr9  s   $$$$*  r<   ÚucÚ+ComponentReflectionTest.exp_ucs.<locals>.uch  sT   € ô ×"Ñ"×MÑMˆCß §§ Ø�	à¤ T£
Ø˜Ø˜7ðˆC÷
  Ø*:Ð&Ñ'Ø�5ˆLr?   râ  rã  rä  r¦   ru  rw  rz  r¡  T)rq   r;  r<  r‚  rQ   )rq   r;  r„  rƒ  rŠ  r‹  )rq   r;  r  rŒ  r’  rš  rœ  rž  r   r£  r¥  rq   r¶  r"  )rÍ  r*   re  rm   r   rk   rÉ  rß  )rƒ   rT   r1   r¹   rj  Úall_r@  rÁ  r®   rË   r9  s   &&&&&&     r<   Úexp_ucsÚComponentReflectionTest.exp_ucs`  s£  € ð	Ø*.ð	Ø9>ð	ØHLô	ð   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ñ˜EÔ0à�WÐð  ÙØØØ&Ø%2Ø!ôð ð �\Ð"ð 	%Ù�F¤§¡¼D¿H¹HÔEð	%áØ Ø"Ø1Ø%=Ø/ôð	%ð Ð&Ð'¨Ø�^Ð$ bØÐ%Ð&¨Ø�]Ð# RØ�^Ð$ bØÐ%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ×)Ñ)Ó+Ð,ð /Ù�F <´·±¨~Ð!>Ô?ð/ð9
ˆ÷@ Ø6�lÐ6 eÐ6¨vÐ6Ð6à×$Ñ$ T°5ÓGˆCØ×%Ñ% f°\ÓGˆCØˆJr?   c                ó
   € R R0# )rq   rß   r@   r  s   &r<   Ú_required_unique_cst_keysÚ1ComponentReflectionTest._required_unique_cst_keys¥  s   € à˜Ð'Ð'r?   c                ó�  a
€  ! R  R\         4      o
RV
3R llpVR3. /pVR3. VR3. VR3. /pV P                  Wv4       VR3V! R\        P                  4      V! R	R
RR7      .VR3V! RRR7      .VR3. VR3. VR3. VR3. VR3. VR3. VR3. VR3. WP	                  4       3. /pV P                  W8Wv4      p	V P                  WWI4      p	V	# )c                   ó&   a € ] tR tRt o R tRtV tR# )Ú+ComponentReflectionTest.exp_ccs.<locals>.tti°  c                óŠ   € VP                  4       P                  R R4      P                  RR4      P                  RR4      pW9   # )Ú(rs  Ú)Ú`)ÚlowerÚreplace)rƒ   rì   r9  s   && r<   r  Ú2ComponentReflectionTest.exp_ccs.<locals>.tt.__eq__±  s>   € à—K‘K“Mß‘W˜S "Ó%ß‘W˜S "Ó%ß‘W˜S "Ó%ð	 ð ‘{Ð"r?   r@   Nr  rH   s   @r<   r¶   rJ  °  s   ø‡ € ÷#ð #r?   r¶   c                 ó    <€ R S! V 4      RVRV/# )Úsqltextrq   r  r@   )ré  rq   r  r¶   s   &&&€r<   ÚccÚ+ComponentReflectionTest.exp_ccs.<locals>.ccº  s   ø€ Ø™r $›x¨°°yÀ'ÐJÐJr?   râ  rã  rä  r¦   ru  r€  r|  r}  r~  r  r‚  z$address_id > 0 and address_id < 1000r‰  r"  rŒ  r’  rš  rœ  rž  r   r£  r¥  r¡   )ÚstrrÍ  r*   re  rm   rÉ  rß  )rƒ   rT   r1   r¹   rj  rT  rÁ  r®   rË   r9  r¶   s   &&&&&     @r<   Úexp_ccsÚComponentReflectionTest.exp_ccs©  s?  ø€ ô	#”ô 	#÷	Kð
   Ð0°"Ð5ˆàÐ(Ð)¨2Ø�YÐ Ø�\Ð" Bð
ˆð
 	×Ñ˜EÔ0à�WÐÙ�?¤D§H¡HÓ-ÙØØ&Ø4ôð ð �\Ð"ÙØ:Ø-ôð%ð Ð&Ð'¨Ø�^Ð$ bØÐ%Ð&¨Ø�]Ð# RØ�^Ð$ bØÐ%Ð&¨ØÐ+Ð,¨bØÐ)Ð*¨BØ×)Ñ)Ó+Ð,¨bð/
ˆð2 × Ñ  ¨uÓCˆØ×!Ñ! &°ÓCˆØˆ
r?   c                ó
   € R R0# )rq   rS  r@   r  s   &r<   Ú_required_cc_keysÚ)ComponentReflectionTest._required_cc_keysã  s   € à˜	Ð"Ð"r?   c                ó„   € \        V4      p\        \        P                  P                  VP                  4       9   4       R # r¡   )r   r)   r   r   rW   Úget_schema_namesrœ   s   && r<   Útest_get_schema_namesÚ-ComponentReflectionTest.test_get_schema_namesç  s,   € ä�zÓ"ˆä”—‘×*Ñ*¨d×.CÑ.CÓ.EÑEÖFr?   c                ó´   € \        V4      p\        VP                  \        P                  P
                  4      4       \        VP                  R 4      4       R# )Úsa_fake_schema_fooN)r   r)   Ú
has_schemar   r   rW   r'   rœ   s   && r<   Útest_has_schemaÚ'ComponentReflectionTest.test_has_schemaí  s9   € ä�zÓ"ˆä�—‘¤§¡× :Ñ :Ó;Ô<Ü�—‘Ð!5Ó6Ö7r?   c                óè   € VP                  RR\        \        P                  P                  /R7      p\        V4      p\        \        P                  P                  VP                  4       9   4       R# )z
test #7300rÊ   Úbar©Úschema_translate_mapN)Úexecution_optionsr$   r   r   rW   r   r)   r]  rœ   s   && r<   Ú%test_get_schema_names_w_translate_mapÚ=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                ó  € VP                  R R\        \        P                  P                  /R7      p\        V4      p\        VP                  \        P                  P                  4      4       \        VP                  R4      4       R# )rÊ   rf  rg  ra  N)	ri  r$   r   r   rW   r   r)   rb  r'   rœ   s   && r<   Útest_has_schema_w_translate_mapÚ7ComponentReflectionTest.test_has_schema_w_translate_map  si   € à×1Ñ1à�uÜœgŸn™n×8Ñ8ð"ð 2ó 
ˆ
ô �zÓ"ˆä�—‘¤§¡× :Ñ :Ó;Ô<Ü�—‘Ð!5Ó6Ö7r?   c                ó(  € \        V4      p\        R VP                  4       9   4       \        VP                  R 4      4       VP	                  \        R4      4        \        R VP                  4       9   4       \        VP                  R 4      4       VP                  4        \        R VP                  4       9   4       \        VP                  R 4      4       VP	                  \        R4      4       R#   TP	                  \        R4      4       i ; i)Úfoo_barzCREATE SCHEMA foo_barzDROP SCHEMA foo_barN)r   r'   r]  rb  Úexecuter!   r‹   r)   rœ   s   && r<   Útest_schema_cacheÚ)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<C5 Ã5Dc                ó‚   € \         P                  ! 4       p\        V4       \        VP                  R 4      '       g   Q hR# )r¬  N)r   r7   r   Úhasattrr€   )rƒ   Úengines   & r<   Útest_dialect_initializeÚ/ComponentReflectionTest.test_dialect_initialize   s/   € ä×'Ò'Ó)ˆÜ�ŒÜ�v—~‘~Ð'<×=Ò=Ð=Ò=r?   c                óp   € \        V4      p\        VP                  VP                  P                  4       R # r¡   )r   r   r¬  r€   rœ   s   && r<   Útest_get_default_schema_nameÚ4ComponentReflectionTest.test_get_default_schema_name&  s(   € ä�zÓ"ˆÜˆD×$Ñ$ j×&8Ñ&8×&LÑ&LÖMr?   Úforeign_keyÚorder_byrº   Ú
use_schemac                ó¦  € V'       d   \         P                  pMR p0 Rmp\        V4      pV'       d:   VP                  V4       Uu. uF  pV^ ,          '       g   K  V^ ,          NK  	  ppMVP	                  V4      pV U	u. uF  q™V9  g   K  V	NK  	  p
p	VR8X  d   . ROp\        W«4       R # . ROp\        \        V
4      V4       R # u upi u up	i )Nr|  >   rœ  r’  rž  rš  r   r¥  r£  r½  )r‚  rŒ  ru  )r   rW   r   Úget_sorted_table_and_fkc_namesÚget_table_namesr   Úsorted)rƒ   r�   r}  r~  rT   Ú_ignore_tablesr�   ÚrecrË   Úträ   Úanswers   &&&&        r<   Útest_get_table_namesÚ,ComponentReflectionTest.test_get_table_names+  sÎ   € ÷ Ü×'Ñ'‰FàˆFò
ˆô �zÓ"ˆçð  ×>Ñ>¸vÔFóáF�CØ�q—6‘6ô ��A—�ÙFð ð ˆFð ×)Ñ)¨&Ó1ˆFÙ"(ÓD¡&˜Q°^Ñ,C—q�q¡&ˆÐDà�}Ô$Ú?ˆFÜ�Ö$â?ˆFÜ”�{Ó# VÖ,ùòùò Es   ÁC	ÁC	ÂCÂCc                ód  € \        V4      pV'       d   \        P                  pMR pVP                  V4      p\        P
                  P                  P                  '       d6   \        \        V4      RR.4       \        VP                  V4      R.4       R # . ROp\        \        V4      V4       R # )Nrã  rä  râ  )râ  rã  rä  )r   r   rW   Úget_view_namesr   rU   r¾  r5   r   r‚  Úget_materialized_view_names)rƒ   r�   r~  r�   rT   rä   r†  s   &&&    r<   Útest_get_view_namesÚ+ComponentReflectionTest.test_get_view_namesV  sŠ   € ô �zÓ"ˆßÜ×'Ñ'‰FàˆFØ×)Ñ)¨&Ó1ˆÜ×Ñ×.Ñ.×6×6Ð6Ü”�{Ó#Ð&9¸9Ð%EÔFÜ�×0Ñ0°Ó8¸>Ð:JÖKâEˆFÜ”�{Ó# VÖ,r?   c                óŠ   € \        V4      pVP                  4       p\        \        V4      R \        P
                   2.4       R# )ri   N)r   Úget_temp_table_namesr   r‚  r   rk   ©rƒ   r�   r�   rÙ  s   &&  r<   Útest_get_temp_table_namesÚ1ComponentReflectionTest.test_get_temp_table_namesg  s9   € ä�zÓ"ˆØ×4Ñ4Ó6ÐÜŒFÐ#Ó$¨´6·<±<°.Ð'AÐ&BÖCr?   c                óh   € \        V4      pVP                  4       p\        \        V4      R .4       R# r¥   )r   Úget_temp_view_namesr   r‚  r�  s   &&  r<   Útest_get_temp_view_namesÚ0ComponentReflectionTest.test_get_temp_view_namesm  s/   € ô �zÓ"ˆØ×3Ñ3Ó5ÐÜŒFÐ#Ó$ | nÖ5r?   c                ó(   € V P                  V4       R # r¡   )Ú_test_get_comments©rƒ   r�   s   &&r<   Útest_get_commentsÚ)ComponentReflectionTest.test_get_commentst  s   € à×Ñ 
Ö+r?   c                óZ   € V P                  V\        P                  P                  4       R # r¡   )r˜  r   r   rW   r™  s   &&r<   Útest_get_comments_with_schemaÚ5ComponentReflectionTest.test_get_comments_with_schemax  s   € ð 	×Ñ 
¬G¯N©N×,FÑ,FÖGr?   c                ó¦  € \        V4      pV P                  VR 7      p\        VP                  RVR 7      WBR3,          4       \        VP                  RVR 7      WBR3,          4       \        VP                  RVR 7      WBR3,          4       V P                  P
                  P                  p\        VP                  WRR 7      WBV3,          4       R# )rS   r’  ru  N)r   rë  r   rU  rË   rš  rq   )rƒ   r�   rT   r�   ÚexpÚno_csts   &&&   r<   r˜  Ú*ComponentReflectionTest._test_get_comments}  sÐ   € Ü�zÓ"ˆØ×Ñ vÐÓ.ˆÜØ×"Ñ" >¸&Ð"ÓAØ˜Ð(Õ)ô	
ô
 	Ø×"Ñ" 7°6Ð"Ó:Ø˜Ð!Õ"ô	
ô
 	Ø×"Ñ" >¸&Ð"ÓAØ˜Ð(Õ)ô	
ð
 —‘×+Ñ+×0Ñ0ˆÜØ×"Ñ" 6Ð"Ó9Ø˜Ð Õ!ö	
r?   zuse_views,use_schemac                ól  € V'       d   \         P                  pMR pV P                  P                  V P                  P                  reV'       d   . ROpMRR.p\        V4      p\        WuV34       EF?  w  ršTpVP                  W›R7      p\        \        V4      ^ 8„  \        V4      4       \        V
P                  4       EFê  w  rÞ\        VP                  WÍ,          R,          4       WÍ,          R,          P                  pVP                  p\!        V\"        P$                  P&                  4      '       d   VP                  p\(        P*                  ! R4      '       d6   V\,        P.                  \,        P0                  39   d   \,        P.                  p\        \        \3        VP4                  4      P7                  VP4                  4      P7                  \,        P8                  \,        P:                  \,        P0                  \,        P.                  \,        P<                  \,        P>                  \,        P@                  .4      4      ^ 8„  VP                  : RVP                  : RWÍ,          R,          : RV: R	24       VPB                  '       d   EK×  WÍ,          R
,          f   EKë  Q h	  EKB  	  R # )Nru  rŒ  rS   rq   rð  r¼  rL  z), rM  rñ  ©rä  rã  râ  )"r   rW   rË   ru  rŒ  r   Úziprþ   r)   ÚlenÚ	enumerateÚcolumnsr   rq   Ú	__class__rð  r7  rt   r   Ú
TypeEnginer   rÀ  Ú	sql_typesÚDater   r¿  Ú__mro__Úintersectionr   ÚNumericÚTimer   Ú_BinaryrP   )rƒ   r�   Ú	use_viewsr~  rT   ru  Ú	addressesrä   r�   rz   ÚtableÚschema_namer  Úir‰   ÚctypeÚ	ctype_defs   &&&&             r<   rB  Ú(ComponentReflectionTest.test_get_columns•  sö  € ÷ Ü×'Ñ'‰FàˆFà ŸK™K×-Ñ-¨t¯{©{×/JÑ/JˆyßÚJ‰Kà"Ð$5Ð6ˆKä�zÓ"ˆÜ!$ [¸)Ð2D×!EÑˆJØ ˆKØ×#Ñ# JÐ#ÓCˆDÜ”C˜“I ‘M¤3 t£9Ô-ô $ E§M¡M×2‘�Ü�C—H‘H˜d�g f�oÔ.Ø� �×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                óž   € V P                  4       pV P                  V,          p\        V\        4       VR 7      pV P	                  W4RR7       R# )rï   F)Ústrict_constraintsN)rm   rË   r   r   Úassert_tables_equal)rƒ   r�   rz   r{   Úreflected_user_tmps   &&   r<   Útest_reflect_table_temp_tableÚ5ComponentReflectionTest.test_reflect_table_temp_tableá  sL   € à×)Ñ)Ó+ˆ
Ø—;‘;˜zÕ*ˆä"Øœ›
°*ô
Ðð 	× Ñ Ø¸Uð 	!ö 	
r?   c                óH  € V P                  4       pV P                  V,          p\        V4      pVP                  V4      p\	        \        V4      ^ 8„  \        V4      4       \        VP                  4       F(  w  rg\        VP                  WV,          R,          4       K*  	  R# )r   rq   N)
rm   rË   r   rþ   r)   r¦  r§  r¨  r   rq   )rƒ   r�   rz   r{   r�   r  r¶  r‰   s   &&      r<   Útest_get_temp_table_columnsÚ3ComponentReflectionTest.test_get_temp_table_columnsí  sy   € à×)Ñ)Ó+ˆ
Ø—;‘;˜zÕ*ˆÜ�zÓ"ˆØ×Ñ 
Ó+ˆÜ”�D“	˜A‘œs 4›yÔ)ä × 0Ñ 0Ö1‰FˆAÜ�—‘˜$�' &�/Ö*ó 2r?   c                ó�   € \        V4      pVP                  R 4      p\        V Uu. uF  qDR,          NK  	  up. RO4       R# u upi )r¦   rq   N)rN   rq   rÊ   )r   rþ   r   )rƒ   r�   r�   r  r‰   s   &&   r<   Útest_get_temp_view_columnsÚ2ComponentReflectionTest.test_get_temp_view_columnsø  s?   € ô �zÓ"ˆØ×Ñ Ó-ˆÜ¡DÓ)¡D˜S��[ˆ[¡DÑ)Ò+@ÖAùÒ)s   ¦Ac                ó~  € V'       d   \         P                  P                  pMR pV P                  P                  V P                  P
                  rT\        V4      pV P                  VR7      pVP                  VP                  VR7      pV P                  V.WsVP                  3,          .V P                  4       VP                  VP                  VR7      p	WsVP                  3,          R,          p
\        V	R,          V
4       \         P                  P                  P                  4       ;_uu_ 4        \        V	R,          R4       R R R 4       V P                  P                   P                  pV P                  VP                  W³R7      .WsV3,          .V P                  4       R #   + '       g   i     Li; i)NrS   r  rq   r�  )r   r   rW   rË   ru  rŒ  r   r  rE  rq   Ú_check_listr  r   rU   r  Úfail_ifrš  )rƒ   r�   r~  rT   ru  r³  r�   r   Ú
users_consÚ	addr_consÚexp_colsr¡  s   &&&         r<   rF  Ú.ComponentReflectionTest.test_get_pk_constraint   s_  € ÷
 Ü—^‘^×/Ñ/‰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Õ9Ü�	˜&Õ! =Ô1÷ :ð —‘×+Ñ+×0Ñ0ˆØ×ÑØ×#Ñ# FÐ#Ó:Ð;Ø˜&Ð!Õ"Ð#Ø×"Ñ"ö	
÷	 :×9ús   Ä7F,Æ,F<	ÚPK_test_tableÚpk_test_tableÚmixedCasePKzpk.with.dotsÚpk_namec                ó:  € \        RV\        R\        4      \        R\        ^24      4      \        P
                  ! RVR7      4       VP                  V4       \        V4      pVP                  R4      p\        VR,          V4       \        VR,          R.4       R# )zRTest that primary key constraint names with various casing are
properly reflected.rM   rN   rQ   r"  rq   r  N)
r   r   r   r   rt   r'  ró   r   rE  r   )rƒ   r�   r]   rÐ  r�   Úpk_conss   &&&&  r<   Ú"test_get_pk_constraint_quoted_nameÚ:ComponentReflectionTest.test_get_pk_constraint_quoted_name!  s„   € ô 	ØØÜ�4œÓ!Ü�6œ6 "›:Ó&Ü×#Ò# D¨wÔ7ô	
ð 	×Ñ˜JÔ'ä�zÓ"ˆØ×(Ñ(¨Ó6ˆäˆG�F�O˜WÔ%ÜˆGÐ)Õ*¨T¨FÖ3r?   c                óð  € V'       d   \         P                  pMR pV P                  P                  V P                  P                  rT\        V4      pTp\        P                  P                  P                  '       dË   VP                  VP                  VR7      pV^ ,          p	\        P                  P                  P                  4       ;_uu_ 4        \        V	R,          R4       R R R 4       \        V	R,          V4       \        V	R,          VP                  4       \        V	R,          R.4       \        V	R,          R	.4       VP                  VP                  VR7      p
V
^ ,          p	\        P                  P                  P                  4       ;_uu_ 4        \!        V	R,          R J4       R R R 4       \        V	R,          V4       \        V	R,          VP                  4       \        V	R,          R.4       \        V	R,          R
.4       V P                  P"                  P                  p\        VP                  W³R7      . 4       R #   + '       g   i     ELr; i  + '       g   i     Lº; i)NrS   rq   rt  r  r  r  rv  r  r{  r�  )r   rW   rË   ru  rŒ  r   r   rU   r¨  r5   rI  rq   r  rÈ  r   Úimplicitly_named_constraintsr)   rš  )rƒ   r�   r~  rT   ru  r³  r�   Úexpected_schemaÚusers_fkeysÚfkey1Ú
addr_fkeysr¡  s   &&&         r<   rJ  Ú-ComponentReflectionTest.test_get_foreign_keys@  sÜ  € ÷
 Ü×'Ñ'‰FàˆFà ŸK™K×-Ñ-¨t¯{©{×/JÑ/JˆyÜ�zÓ"ˆØ ˆô ×Ñ×9Ñ9×A×AÐAØ×/Ñ/°·
±
À6Ð/ÓJˆKØ •NˆEä×!Ñ!×3Ñ3×;Ñ;×=Õ=Ü�E˜&•M <Ô0÷ >ô �Ð'Õ(¨/Ô:Ü�Ð&Õ'¨¯©Ô4Ü�Ð(Õ)¨I¨;Ô7Ü�Ð+Õ,Ð/?Ð.@ÔAð ×*Ñ*¨9¯>©>À&Ð*ÓIˆ
Ø˜1•ˆä×Ñ×:Ñ:×BÑB×DÕDÜ�E˜&•M¨Ð-Ô.÷ Eô 	ˆEÐ#Õ$ oÔ6ÜˆEÐ"Õ# U§Z¡ZÔ0ÜˆEÐ$Õ%¨	 {Ô3ÜˆEÐ'Õ(Ð+;Ð*<Ô=à—‘×+Ñ+×0Ñ0ˆÜˆD×!Ñ! &Ð!Ó8¸"Ö=÷+ >×=Ð=ú÷ E×Dús   ÃIÆI%ÉI"	É%I5	ÚFK_users_idÚfk_users_idÚmixedCaseNamezfk.with.dotsÚfk_namec                óž  € \        RV\        R\        RR7      RR7       \        RV\        R\        RR7      \        R\        4      \        P                  ! R.R.VR	7      RR7       VP                  V4       \        V4      pVP                  R4      p\        \        V4      ^4       V^ ,          p\        P                  P                  P                  4       ;_uu_ 4        \        VR
,          V4       RRR4       \        VR,          R4       \        VR,          R.4       \        VR,          R.4       R#   + '       g   i     LM; i)zRTest that foreign key constraint names with various casing are
properly reflected.Ú	users_refrv  TrO   ré   Úuser_ordersÚorder_idzusers_ref.user_idr"  rq   Nr  r  r  )r   r   r   rt   rò   ró   r   rI  r   r¦  r   rU   r  rÈ  )rƒ   r�   r]   rß  r�   ÚfkeysÚfkeys   &&&&   r<   Ú!test_get_foreign_keys_quoted_nameÚ9ComponentReflectionTest.test_get_foreign_keys_quoted_namej  s  € ô 	ØØÜ�9œg°4Ô8Øõ		
ô 	ØØÜ�:œw°DÔ9Ü�9œgÓ&Ü×#Ò#Ø�Ø$Ð%Øôð
 õ	
ð 	×Ñ˜JÔ'ä�zÓ"ˆØ×%Ñ% mÓ4ˆäŒC�‹J˜ÔØ�Q�xˆä×Ñ×/Ñ/×7Ñ7×9Õ9Ü��V•˜gÔ&÷ :ô 	ˆDÐ!Õ" KÔ0ÜˆDÐ#Õ$ y kÔ2ÜˆDÐ&Õ'¨)¨Ö5÷ :×9ús   Ã#D<Ä<E	c                óÒ  € V P                  R VP                  P                  ,          R\        P                  P
                  ,          R\        P                  P
                  ,          4      w  r#p\        V4      pVP                  VP                  4      p\        \        V4      ^4       V^ ,          p\        VR,          \        P                  P
                  4       \        VR,          VP                  4       \        VR,          R.4       \        VR,          R.4       VP                  VP                  \        P                  P
                  R	7      p\        \        V4      ^4       V^ ,          p	\        V	R,          R
VP                  P                  39   4       \        V	R,          VP                  4       \        V	R,          R.4       \        V	R,          R.4       R
# )z%s.local_tablez%s.remote_tablez%s.remote_table_2r  r  r  rN   r  r�  rS   NrŸ  )rË   r€   r¬  r   r   rW   r   rI  rq   r   r¦  r)   )
rƒ   r�   rœ  rž  r   r�   Úlocal_fkeysrÙ  Úremote_fkeysÚfkey2s
   &&        r<   Ú"test_get_inter_schema_foreign_keysÚ: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                ó�  € V'       d   \         P                  pMR p\        V4      pVP                  RVR7      pV P	                  VR7      pV P                  WVVR3,          V P                  4       V P                  P                  P                  pV P                  VP                  WsR7      WcV3,          V P                  4       R # )Nru  rS   )
r   rW   r   rM  r5  rÇ  r8  rË   rš  rq   )rƒ   r�   r~  rT   r�   Úindexesr   r¡  s   &&&     r<   rN  Ú(ComponentReflectionTest.test_get_indexes¿  s¸   € ÷
 Ü×'Ñ'‰FàˆFô �zÓ"ˆØ×"Ñ" 7°6Ð"Ó:ˆØ×Ñ fÐÓ-ˆØ×ÑØ˜& 'Ð*Õ+¨T×-FÑ-Fô	
ð —‘×+Ñ+×0Ñ0ˆØ×ÑØ×Ñ˜VÐÓ3Ø˜Ð Õ!Ø×%Ñ%ö	
r?   ztname,ixnamec                óÒ  € \        V4      pVP                  V4      pV P                  4       R V3,          pV P                  WVV P                  4       \        V\        4       VR7      p\        \        VP                  4      ^4       \        \        VP                  4      ^ ,          P                  V4       \        \        VP                  4      ^ ,          P                  V4       R # )Nrï   )r   rM  r5  rÇ  r8  r   r   r   r¦  rï  r   r  r´  rq   )rƒ   r�   ÚtnameÚixnamer�   rï  Úexpected_indexesr…  s   &&&&    r<   Útest_get_noncol_indexÚ-ComponentReflectionTest.test_get_noncol_indexÙ  sª   € ô �zÓ"ˆØ×"Ñ" 5Ó)ˆð  ×+Ñ+Ó-¨t°U¨mÕ<ÐØ×Ñ˜°D×4MÑ4MÔNä�%œ›°:Ô>ˆÜŒC�—	‘	‹N˜AÔÜŒD�—‘‹O˜AÕ×$Ñ$ aÔ(ÜŒD�—‘‹O˜AÕ×#Ñ# VÖ,r?   ÚIX_test_dataÚix_test_dataÚmixedCaseIndexzix.with.dotsÚidx_namec                ó  € \        RV\        R\        RR7      \        R\        ^24      4      4      p\	        W4P
                  P                  4       VP                  V4       \        V4      pVP                  R4      pV Uu. uF  qwR,          NK  	  ppW89   g   Q RV RV 24       hV Uu. uF  qwR,          V8X  g   K  VNK  	  p	p\        \        V	4      ^4       \        V	^ ,          R	,          R.4       R
# u upi u upi )zATest that index names with various casing are properly reflected.rM   rN   TrO   rQ   rq   z	Expected ú in rß   N)r   r   r   r   r"   rµ   rQ   ró   r   rM  r   r¦  )
rƒ   r�   r]   rú  r…  r�   rï  rÎ   Úindex_namesÚmatching_idxs
   &&&&      r<   Útest_get_indexes_quoted_nameÚ4ComponentReflectionTest.test_get_indexes_quoted_nameï  sî   € ô ØØÜ�4œ¨dÔ3Ü�6œ6 "›:Ó&ó	
ˆô 	ˆhŸ™Ÿ™Ô!à×Ñ˜JÔ'ä�zÓ"ˆØ×"Ñ" <Ó0ˆá.5Ó6©g s˜6—{�{©gˆÐ6ØÔ&ÐO¨)°H°:¸TÀ+ÀÐ(OÓOÐ&ñ (/ÓJ¡w °fµ+ÀÑ2IŸ˜¡wˆÐJÜŒC�Ó˜qÔ!ÜˆL˜�O˜NÕ+¨f¨XÖ6ùò 7ùò Ks   ÂC:Â,C?Ã C?c                óÌ   € \        V4      pV P                  4       pVP                  V4      pV P                  R R7      RV3,          pV P	                  WEV P
                  4       R# )T)rB  N)r   rm   rQ  rC  rÇ  r8  )rƒ   r�   r�   rq   Ú	reflectedr   s   &&    r<   Ú&test_get_temp_table_unique_constraintsÚ>ComponentReflectionTest.test_get_temp_table_unique_constraints  s[   € ô �zÓ"ˆØ×#Ñ#Ó%ˆØ×/Ñ/°Ó5ˆ	Ø�l‰l ˆlÓ% t¨T lÕ3ˆØ×Ñ˜¨×)BÑ)BÖCr?   c                ót  € \        V4      pV P                  4       pVP                  V4      pV F  pVP                  R R4       K  	  RRRR.RR/.p\        P
                  P                  P                  '       d   . V^ ,          R&   \        V Uu. uF  qwR,          R8X  g   K  VNK  	  upV4       R# u upi )	r(  Nrˆ  Frß   rÊ   rq   r·  r)  )	r   rm   rM  ró  r   rU   Úindex_reflects_included_columnsr5   r   )rƒ   r�   r�   rz   rï  ÚindÚexpectedrÎ   s   &&      r<   Útest_get_temp_table_indexesÚ3ComponentReflectionTest.test_get_temp_table_indexes  s²   € ä�zÓ"ˆØ×)Ñ)Ó+ˆ
Ø×"Ñ" :Ó.ˆÛˆCØ�G‰GÐ% tÖ,ñ ð �u˜n¨u¨g°v¸}ÐMð
ˆô ×Ñ×;Ñ;×C×CÐCØ-/ˆH�Q�KÐ)Ñ*ÜÙ#ÓD™G�S¨6¥{°mÑ'C�SˆS™GÑDØö	
ùÚDs   ÂB5Â%B5c                ó   € V'       d   \         P                  pMR p\        RRRR./RRR. RO/RRR. RO/RR	RR
R./RRRR./RRRR./.\        P                  ! R4      R7      p\        RV\        R\        P                  ! ^4      4      \        R\        P                  ! ^4      4      \        R\        P                  4      \        R
\        P                  ! ^4      4      \        R\        P                  ! ^4      4      VR7      pV F6  pVP                  \        P                  ! VR,          RVR,          / 4       K8  	  VP                  V4       \        V4      p\        VP                  RVR7      \        P                  ! R4      R7      p	\        4       p
\!        \#        V4      \#        V	4      4       \%        WY4       Fi  w  r¼VP'                  RR 4      pV'       d   V
P)                  V4       \!        VP'                  RR 4      R 4       VP'                  RR 4       \!        W¼4       Kk  	  \+        4       p\        RVVVR7      p	V	P,                   Uu0 uF  qÿP.                  kK  	  ppV	P0                   Uu0 uF1  p\3        V\        P                  4      '       g   K%  VP.                  kK3  	  upP5                  R.4      pVP7                  V4      '       d   Q hV
'       d!   \!        V
V4       \!        V\        4       4       V P8                  P:                  P.                  p\!        VP                  VVR7      . 4       R # u upi u upi )Nrq   Úunique_arß   r¿   Úunique_a_b_cÚbrµ   Úunique_c_a_bÚunique_asc_keyÚascrè   zi.have.dotszi have spaces©rè   ÚtesttblrS   r;  r  r(  )rð   rT   )r¿   r  rµ   )rµ   r¿   r  )r   rW   r‚  ÚoperatorÚ
itemgetterr   r   rt   r   r   Úappend_constraintr(  rŠ   r   rQ  r¿  r   r¦  r¥  ró  rØ  r   rï  rq   Úconstraintsr7  Ú
differencer®  rË   rš  )rƒ   r]   r�   r~  rT   Úuniquesr´  r@  r�   r  Únames_that_duplicate_indexr2  ÚreflÚdupeÚreflected_metadatarÎ   Ú	idx_namesÚuqÚuq_namesr¡  s   &&&&                r<   rR  Ú3ComponentReflectionTest.test_get_unique_constraints)  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Ö1‰JˆDð —8‘8Ð.°Ó5ˆDßØ*×.Ñ.¨tÔ4Ü�—‘˜ DÓ)¨4Ô0à�H‰HÐ&¨Ô-Ü�ŽOñ 2ô &›ZÐÜØØØ$Øô	
ˆ	ð *3×):Ò):Ó;Ñ): #—X”XÑ):ˆ	Ð;ð  ×+Ò+ó
á+�Ü˜"œb×1Ñ1×2ô ˆB�GŒGÙ+ñ
÷ ‰*�nÐ%Ó
&ð	 	ð ×)Ñ)¨(×3Ò3Ð3Ð3ß%ÜÐ*¨IÔ6Ü�œ#›%Ô à—‘×+Ñ+×0Ñ0ˆÜˆD×'Ñ'¨°vÐ'Ó>ÀÖCùò <ùò
s   ÉMÉ<"MÊ#MÚUQ_emailÚuq_emailÚmixedCaseUQzuq.with.dotsÚuq_namec                ó„  € \        RV\        R\        RR7      \        R\        ^24      4      \        P
                  ! RVR7      4       VP                  V4       \        V4      pVP                  R4      p\        \        V4      ^4       \        V^ ,          R,          V4       \        V^ ,          R,          R.4       R	# )
zMTest that unique constraint names with various casing are
properly reflected.rM   rN   TrO   Úemailr"  rq   rß   N)r   r   r   r   rt   r(  ró   r   rQ  r   r¦  )rƒ   r�   r]   r%  r�   Úuq_conss   &&&&  r<   Ú'test_get_unique_constraints_quoted_nameÚ?ComponentReflectionTest.test_get_unique_constraints_quoted_name…  sœ   € ô 	ØØÜ�4œ¨dÔ3Ü�7œF 2›JÓ'Ü×Ò ¨gÔ6ô	
ð 	×Ñ˜JÔ'ä�zÓ"ˆØ×-Ñ-¨lÓ;ˆäŒC�‹L˜!ÔÜˆG�A�J�vÕ Ô(ÜˆG�A�J�~Õ&¨¨	Ö2r?   c                ó°   € V'       d   \         P                  pMR p\        V4      pR F)  pVP                  WSR7      p\	        \        V4      4       K+  	  R # )NrS   r¤  )r   rW   r   r=  r)   Úbool)rƒ   r�   r~  rT   r�   ÚviewrÞ  s   &&&    r<   r?  Ú0ComponentReflectionTest.test_get_view_definition¤  sK   € ÷
 Ü×'Ñ'‰FàˆFÜ�zÓ"ˆÛDˆDØ×(Ñ(¨Ð(Ó=ˆAÜ”D˜“GÖó Er?   c                ó.  € \        V4      p\        \        4      ;_uu_ 4        VP                  R 4       RRR4       \        \        4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     LC; i  + '       g   i     R# ; i)Úview_does_not_existNru  )r   r   r   r=  rœ   s   && r<   Ú'test_get_view_definition_does_not_existÚ?ComponentReflectionTest.test_get_view_definition_does_not_exist²  sa   € ä�zÓ"ˆÜÔ+×,Õ,Ø×$Ñ$Ð%:Ô;÷ -äÔ+×,Õ,Ø×$Ñ$ WÔ-÷ -Ñ,÷ -×,úç,×,Ð,ús   £A0ÁBÁ0B 	ÂB	c                óÒ   € \        V4      pR FP  w  r4VP                  V4      pV Uu/ uF  qfR,          VbK  	  upV,          pVP                  RR4      '       d   KP  Q h	  R# u upi )aX  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.

rq   rï  TN))ru  rv  )rŒ  r„  )r‚  rƒ  )r   rþ   Úget)rƒ   r�   r�   rò  Úcnamer  rµ   Úid_s   &&      r<   Útest_autoincrement_colÚ.ComponentReflectionTest.test_autoincrement_colº  si   € ô �zÓ"ˆó
‰LˆEð
 ×#Ñ# EÓ*ˆDÙ)-Ó.© A�V•9˜a’<©Ñ.¨uÕ5ˆCØ—7‘7˜?¨D×1Ô1Ð1Ð1ó
ùò /s   ¨A$c                ó  € \        \        P                  4      pV'       d   \        P                  MR p\        P
                  P                  P                  '       d[   VP                  RVR7      p\        \        V\        4      4       VP                  RVR7      p\        \        V\        4      4       R # \        \        4      ;_uu_ 4        VP                  RVR7       R R R 4       R #   + '       g   i     R # ; i)Nru  rS   rš  )r   r   r:   rW   r   rU   r5  r5   r6  r)   r7  r8   r   r8  )rƒ   r~  r�   rT   r9  s   &&   r<   r:  Ú.ComponentReflectionTest.test_get_table_optionsÓ  s°   € ô ”v—y‘yÓ!ˆß'1”×#Ò#°tˆä×Ñ×1Ñ1×9×9Ð9Ø×(Ñ(¨¸Ð(Ó@ˆCÜ”J˜s¤DÓ)Ô*à×(Ñ(Ð)9À&Ð(ÓIˆCÜ”J˜s¤DÓ)Ö*äÔ2×3Õ3Ø×&Ñ& w°vÐ&Ô>÷ 4×3×3Ò3ús   ÃC-Ã-C>	c           	     óö  € \        \        P                  4      p\        P                  P
                  P                  '       dm   V'       d   \        P                  MR pVP                  VR7      pVP                  VR7       Uu/ uF  pW53VP                  WSR7      bK  	  pp\        WF4       R # \        \        4      ;_uu_ 4        VP                  4        R R R 4       R # u upi   + '       g   i     R # ; i)NrS   )r   r   r:   r   rU   r5  r5   rW   Úget_multi_table_optionsr�  r6  r   r   r8  )rƒ   r~  r�   rT   r9  r´  r   s   &&     r<   Útest_multi_get_table_optionsÚ4ComponentReflectionTest.test_multi_get_table_optionsä  sÉ   € ä”v—y‘yÓ!ˆÜ×Ñ×1Ñ1×9×9Ð9ß+5”V×'Ò'¸4ˆFØ×.Ñ.°fÐ.Ó=ˆCð "×1Ñ1¸Ð1Ô@óá@�Eð � ×!7Ñ!7¸Ð!7Ó!MÒMÙ@ð ð ô �ŽMäÔ2×3Õ3Ø×,Ñ,Ô.÷ 4Ñ3ùò÷ 4×3Ð3ús   ÂC"ÃC'Ã'C8	c                ó   a€ V3R  lpV# )c                 óì  <€ \        S4      pV! VR 4       RVRV/pV '       d   V ! 4       p . p\        P                  V9   d   VP                  . R	O4       \        P                  V9   d   VP                  RR.4       \        P
                  V9   d   VP                  RR.4       V '       d   WR&   V'       d   W‡R&   V! V VVVP                  R4      R7      p	V.p
V\        P                  8X  d3   VP                  4       pVP                  R4       V
P                  V4       V\        P                  8X  d3   VP                  4       pVP                  R4       V
P                  V4       \        S4      W©3# )
rŒ  r1   r¹   údoes-not-existrã  râ  rT   rj  )rT   r1   r¹   rj  )r’  ru  rA  )r   r   rf  r4  rg  rh  r4  r   rc  Úcopyró  Úappend)rT   r1   r¹   rb  Úsingle_reflect_fnÚ
exp_methodr�   ry   rj  r   ÚkwsÚnkwr�   s   &&&&&&      €r<   Úprovide_fixtureÚ>ComponentReflectionTest.get_multi_exp.<locals>.provide_fixtureö  sI  ø€ ô ˜:Ó&ˆDñ ˜dÐ$5Ô6Ø˜5 &¨$Ð/ˆ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”ä˜:Ó&¨Ð0Ð0r?   r@   )rƒ   r�   rH  s   &f r<   Úget_multi_expÚ%ComponentReflectionTest.get_multi_expô  s   ø€ õ,	1ð\ Ðr?   c                óÂ   € V! VVVV\         P                  V P                  4      w  rgpV F0  p	VP                  4        VP                  ! R/ V	B p
\        W¨4       K2  	  R # ©Nr@   )r   r6  ræ  r‹   r<  r   ©rƒ   rJ  rT   r1   r¹   rb  r�   rF  r   ry   Úresults   &&&&&&     r<   Ú#test_multi_get_table_options_tablesÚ;ComponentReflectionTest.test_multi_get_table_options_tables&	  sc   € ñ
 'ØØØØÜ×'Ñ'Ø×Ñó
‰ˆ�3ó ˆBØ×ÑÔØ×1Ò1Ñ7°BÑ7ˆFÜ�Öó r?   c                óÀ   € V! VVVV\         P                  V P                  4      w  rgpV F/  p	VP                  4        \	        VP
                  ! R/ V	B V4       K1  	  R # rM  )r   rU  rë  r‹   r   Úget_multi_table_comment)
rƒ   rJ  rT   r1   r¹   rb  r�   rF  r   ry   s
   &&&&&&    r<   Útest_get_multi_table_commentÚ4ComponentReflectionTest.test_get_multi_table_comment8	  s`   € ñ
 'ØØØØÜ×'Ñ'Ø×Ñó
‰ˆ�3ó ˆBØ×ÑÔÜ�×,Ò,Ñ2¨rÑ2°CÖ8ó r?   c           	     ó  € R  R lp\        V\        4      '       d8   \        VP                  4        UUu/ uF  w  rVV! V4      VbK  	  uppW#4       R# \        V Uu. uF
  qT! V4      NK  	  upW#4       R# u uppi u upi )c                ó$   € V ^8„  d   QhR\         /# )é   ré  )rV  )Úformats   "r<   Ú__annotate__Ú@ComponentReflectionTest._check_expressions.<locals>.__annotate__J	  s   € ÷ 	7ñ 	7œñ 	7r?   c                 óN   € \         P                  ! R RV 4      P                  4       # )z['\" ]rs  )ÚreÚsubrO  )ré  s   &r<   Ú_cleanÚ:ComponentReflectionTest._check_expressions.<locals>._cleanJ	  s   € Ü—6’6˜) R¨Ó.×4Ñ4Ó6Ð6r?   N)r7  r8   r   rÚ  )rƒ   rO  r   Úerr_msgr_  ÚerÞ  s   &&&&   r<   Ú_check_expressionsÚ*ComponentReflectionTest._check_expressionsI	  sd   € õ	7ô �cœ4× Ò Ü¨&¯,©,¬.Ô9©.¡$ !‘˜“˜A’©.Ò9¸3ÖHä¡FÓ+¡F˜q�˜–¡FÑ+¨SÖ:ùó :ùâ+s   µA7
ÁA=c                ó–  € Vf   \        WV4       R # \        \        V4      \        V4      V4       \        W4       Fˆ  w  rV\        V4      \        V4      ,           Fd  pWs9   g   Wu9   g   K  Wv9   g   K  V RV RV 2pVR9   d"   V P	                  WW,          Wg,          V4       KK  \        WW,          Wg,          V4       Kf  	  KŠ  	  R # )Nz - )r*  r%  )r   r¦  r¥  r¿  rc  )	rƒ   rO  r   Úreq_keysÚmsgÚrrb  rÀ   ra  s	   &&&&&    r<   rÇ  Ú#ComponentReflectionTest._check_listR	  s¡   € ØÒÜ�˜SÖ!ä”�F“œS ›X sÔ+Ü˜FÖ(‘�Ü˜Q›¤# a£&Ÿ˜�AØ”}¨®°A¶FØ%( E¨¨Q¨C¨s°1°#Ð"6˜ØÐ AÔAØ ×3Ñ3°AµD¸!½$ÀÖHä ¥ a¥d¨GÖ4ó )ó )r?   c                óè   € \        \        VP                  4       4      \        VP                  4       4      4       V F1  pW,          W%,          rvV'       d   V.V.rvV P                  WgW54       K3  	  R # r¡   )r   r¿  ÚkeysrÇ  )rƒ   rO  r   rf  Ú
make_listsrÀ   rh  rb  s   &&&&&   r<   Ú_check_table_dictÚ)ComponentReflectionTest._check_table_dict`	  sT   € ÜŒC�—‘“Ó¤ C§H¡H£J£Ô0ÛˆAØ•9˜c�fˆqßØ�s˜Q˜C�1Ø×Ñ˜Q 8Ö/ó	 r?   c                óä   € V! VVVV\         P                  V P                  4      w  rgpV FA  p	VP                  4        VP                  ! R/ V	B p
V P                  W¨V P                  4       KC  	  R # rM  )r   rþ   rú  r‹   Úget_multi_columnsrm  rý  rN  s   &&&&&&     r<   Útest_get_multi_columnsÚ.ComponentReflectionTest.test_get_multi_columnsh	  sq   € ñ 'ØØØØÜ×!Ñ!Ø×Ñó
‰ˆ�3ó ˆBØ×ÑÔØ×+Ò+Ñ1¨bÑ1ˆFØ×"Ñ" 6°×0JÑ0JÖKó r?   c                óè   € V! VVVV\         P                  V P                  4      w  rgpV FC  p	VP                  4        VP                  ! R/ V	B p
V P                  W¨V P                  R R7       KE  	  R# )T)rl  Nr@   )r   rE  r  r‹   Úget_multi_pk_constraintrm  r  rN  s   &&&&&&     r<   Útest_get_multi_pk_constraintÚ4ComponentReflectionTest.test_get_multi_pk_constraintz	  sy   € ñ
 'ØØØØÜ×'Ñ'Ø�L‰Ló
‰ˆ�3ó ˆBØ×ÑÔØ×1Ò1Ñ7°BÑ7ˆFØ×"Ñ"Ø˜T×3Ñ3Àð #ö ó r?   c                ó`  € \         P                  P                  P                  '       g„   W3 Fz  pVP	                  4        Fc  p\        V4      ^8”  g   K  \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   KQ  VP                  VR7       Ke  	  K|  	  R# R# )é   c              3   óh   "  € T F(  qP                  R 4      R\        P                  39   x € K*  	  R# 5i)rq   N)r4  r*   re  )Ú.0rÞ  s   & r<   Ú	<genexpr>Ú7ComponentReflectionTest._adjust_sort.<locals>.<genexpr>’	  s'   é € ð ,ÙCF¸aŸ™˜f›¨$´·±Ð)9Ö9Ã3ùs   ‚02TFr  N)r   rU   rÖ  r5   rÛ  r¦  ÚanyÚsort)rƒ   rO  r  rè   Úobjr  s   &&&&  r<   Ú_adjust_sortÚ$ComponentReflectionTest._adjust_sortŽ	  s†   € Ü×Ñ×<Ñ<×D×DÐDØÓ)�ØŸ:™:ž<�CÜ˜3“x !–|¯«ñ ,ÙCFó,¯¯ªñ ,ÙCFó,÷ )ô )ð Ÿ™ S˜Ö)ó	 (ó *ñ Er?   c                ó
  € V! VVVV\         P                  V P                  4      w  rgpV FT  p	VP                  4        VP                  ! R/ V	B p
V P                  W¨R  4       V P                  W¨V P                  4       KV  	  R# )c                 ó&   € \        V R ,          4      # )r  ©Útuple©Úds   &r<   rÁ   ÚEComponentReflectionTest.test_get_multi_foreign_keys.<locals>.<lambda>¨	  s   € ¤u¨QÐ/DÕ-EÔ'Fr?   Nr@   )r   rI  r  r‹   Úget_multi_foreign_keysr€  rm  r"  rN  s   &&&&&&     r<   Útest_get_multi_foreign_keysÚ3ComponentReflectionTest.test_get_multi_foreign_keys—	  s…   € ñ
 'ØØØØÜ×&Ñ&Ø�L‰Ló
‰ˆ�3ó ˆBØ×ÑÔØ×0Ò0Ñ6°2Ñ6ˆFØ×ÑØÑFôð ×"Ñ" 6°×0FÑ0FÖGó r?   c                óä   € V! VVVV\         P                  V P                  4      w  rgpV FA  p	VP                  4        VP                  ! R/ V	B p
V P                  W¨V P                  4       KC  	  R # rM  )r   rM  r5  r‹   Úget_multi_indexesrm  r8  rN  s   &&&&&&     r<   Útest_get_multi_indexesÚ.ComponentReflectionTest.test_get_multi_indexes¬	  sq   € ñ
 'ØØØØÜ×!Ñ!Ø×Ñó
‰ˆ�3ó ˆBØ×ÑÔØ×+Ò+Ñ1¨bÑ1ˆFØ×"Ñ" 6°×0IÑ0IÖJó r?   c                ó
  € V! VVVV\         P                  V P                  4      w  rgpV FT  p	VP                  4        VP                  ! R/ V	B p
V P                  W¨R  4       V P                  W¨V P                  4       KV  	  R# )c                 ó&   € \        V R ,          4      # )rß   r„  r†  s   &r<   rÁ   ÚKComponentReflectionTest.test_get_multi_unique_constraints.<locals>.<lambda>Î	  s   € ´U¸1¸^Õ;LÔ5Mr?   Nr@   )r   rQ  rC  r‹   Úget_multi_unique_constraintsr€  rm  rF  rN  s   &&&&&&     r<   Ú!test_get_multi_unique_constraintsÚ9ComponentReflectionTest.test_get_multi_unique_constraints¾	  s€   € ñ
 'ØØØØÜ×,Ñ,Ø�L‰Ló
‰ˆ�3ó ˆBØ×ÑÔØ×6Ò6Ñ<¸Ñ<ˆFØ×Ñ˜fÑ+MÔNØ×"Ñ" 6°×0NÑ0NÖOó	 r?   c                ó
  € V! VVVV\         P                  V P                  4      w  rgpV FT  p	VP                  4        VP                  ! R/ V	B p
V P                  W¨R  4       V P                  W¨V P                  4       KV  	  R# )c                 ó&   € \        V R ,          4      # ©rS  r„  r†  s   &r<   rÁ   ÚJComponentReflectionTest.test_get_multi_check_constraints.<locals>.<lambda>á	  s   € ´U¸1¸Y½<Ô5Hr?   Nr@   )r   rY  rW  r‹   Úget_multi_check_constraintsr€  rm  rZ  rN  s   &&&&&&     r<   Ú test_get_multi_check_constraintsÚ8ComponentReflectionTest.test_get_multi_check_constraintsÑ	  s€   € ñ
 'ØØØØÜ×+Ñ+Ø�L‰Ló
‰ˆ�3ó ˆBØ×ÑÔØ×5Ò5Ñ;¸Ñ;ˆFØ×Ñ˜fÑ+HÔIØ×"Ñ" 6°×0FÑ0FÖGó	 r?   r6  rþ   rE  rI  rM  rQ  rY  rU  Úmethodc                óª   € \        V4      p\        W14      p\        \        4      ;_uu_ 4        V! R 4       RRR4       R#   + '       g   i     R# ; i)Útable_does_not_existsN)r   Úgetattrr   r   )rƒ   r�  r�   r�   rÍ   s   &&&  r<   Útest_not_existing_tableÚ/ComponentReflectionTest.test_not_existing_tableä	  s<   € ô0 �zÓ"ˆÜ�tÓ$ˆÜÔ+×,Õ,ÙÐ(Ô)÷ -×,×,Ò,ús   ®	AÁA	c                óŠ  a€ \         P                  oV3R  lp\        P                  P	                  \         RV4      ;_uu_ 4        \        \        R4      ;_uu_ 4        \        V4      P                  \        R\        4       4      R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                  óT   <€ VP                  R / 4      p\        R4      VR&   S! V / VB # )ÚunreflectableÚerr)NÚ
some_table)Ú
setdefaultr    )r¿   rÀ   ÚurÚmcs   *, €r<   ÚpatchedÚ;ComponentReflectionTest.test_unreflectable.<locals>.patched
  s1   ø€ Ø—‘˜o¨rÓ2ˆBÜ'>¸uÓ'EˆBÐ#Ñ$Ù�q�;˜A‘;Ðr?   rp  r¦  r§  N)r   rp  r*   ÚpatchÚobjectr   r    r   Úreflect_tabler   r   )rƒ   r�   r«  rª  s   && @r<   Útest_unreflectableÚ*ComponentReflectionTest.test_unreflectable
  s�   ø€ Ü×(Ñ(ˆõ	ô
 �Z‰Z×ÑœyÐ*=¸w×GÕGÜ&Ô'>À×FÕFÜ˜
Ó#×1Ñ1Ü˜,¬«
Ó3°Tô÷ G÷ HÑGßF×Fú÷ H×GÐGús$   ÁB1Á.B	ÂB1ÂB.Â)B1Â1C	r®   c                óÒ  € \        4       pV'       d   \        P                  MR pVP                  WVRR7       \	        V4      pVP                  V4      pV'       d0   WvP                  V4      ,          p WvP                  V4      ,          pV'       d   V Uu. uF	  q… RV 2NK  	  pp\        \        VP                  4      \        V4      4       R #   \         d     LTi ; iu upi )NF)rT   r®   Úresolve_fksrr  )r   r   rW   Úreflectr   r�  rŠ  r‹  r8  r   r‚  rË   )	rƒ   r�   r~  r®   ÚmrT   r�   rË   r…  s	   &&&&     r<   Útest_metadataÚ%ComponentReflectionTest.test_metadata
  sÄ   € ô
 ‹Jˆß'1”×#Ò#°tˆØ	�	‰	�*°5Àeˆ	ÔLä�zÓ"ˆØ×%Ñ% fÓ-ˆßØ×)Ñ)¨&Ó1Õ1ˆFðØ×:Ñ:¸6ÓBÕB�÷ Ù/5Ó6©v¨!˜  ! “o©vˆFÐ6ÜŒF�1—8‘8Óœf V›nÖ-øô	 'ô Ùðüò 7s   Á5C ÂC$ÃC!Ã C!c                óh  € \        R V\        R\        RR7      \        R\        RR7      RR7       VP                  V4       \	        V4      pVP                  R 4      p\        VRR/4       VP                  R 4      pV Uu/ uF  qfR,          VR	,          bK  	  ppRRRR/p\        Wx4       R
# u upi )Úunicode_commentsÚunicodeu   Ã©è©¦è›‡áºŸÎ©r  Úemojiu	   â˜�ï¸�âœ¨u   è©¦è›‡áºŸÎ©âœ¨ré  rq   r  N©r   r   r   ró   r   rU  r   rþ   )	rƒ   r�   r]   r�   Útcr  rµ   Úvaluer   s	   &&&      r<   Útest_comments_unicodeÚ-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Ø˜/¨7°KÐ@ˆÜˆEŽùò 8s   ÂB/c           
     ó&  € \        R V\        R\        RR7      RR7       VP                  V4       \	        V4      pVP                  R 4      p\        VRR/4       VP                  R 4      ^ ,          p\        VR,          VR,          /RR/4       R# )	r¹  r»  u&   ðŸ��ðŸ§™ðŸ��ðŸ§™â€�â™‚ï¸�ðŸ§™â€�â™€ï¸�r  u&   ðŸŽ©ðŸ�°ðŸ�‘ðŸ¤·â€�â™€ï¸�ðŸ¤·â€�â™‚ï¸�ré  rq   r  Nr¼  )rƒ   r�   r]   r�   r½  rµ   s   &&&   r<   Útest_comments_unicode_fullÚ2ComponentReflectionTest.test_comments_unicode_full9
  sŽ   € äØØÜ�7œGÐ-UÔVØ<õ		
ð 	×Ñ˜JÔ'ä�zÓ"ˆØ×#Ñ#Ð$6Ó7ˆÜˆB�ÐAÐBÔCØ×ÑÐ/Ó0°Õ3ˆÜˆQˆv�Y˜˜)�Ð%¨Ð1YÐ'ZÖ[r?   c                ó¬  € \         P                  P                  \        4      p\	        R V\        R\        P                  ! VR7      4      \        R\        P                  ! 4       4      4       VP                  V4       \        4       p\	        R WAR7      p\        VP                  P                  P                  P                  V4       \        VP                  P                   P                  P                  4       \#        V4      pVP%                  R 4      w  rx\        VR,          P                  V4       \        VR,          P                  4       R# )r…  Úcollated)Ú	collationÚnot_collatedrï   rð  N)r   rU   Úget_order_by_collationr   r   r   rt   r   ró   r   r   rµ   rÅ  rð  rÆ  r(   rÇ  r   rþ   )	rƒ   r�   r]   rÆ  rõ   Út2r�   rÅ  rÇ  s	   &&&      r<   Ú test_column_collation_reflectionÚ8ComponentReflectionTest.test_column_collation_reflectionJ
  sï   € ô ×$Ñ$×;Ñ;¼FÓCˆ	ÜØØÜ�:œrŸyšy°9Ô=Ó>Ü�>¤2§9¢9£;Ó/ô		
ð 	×Ñ˜JÔ'ä‹ZˆÜ�3˜Ô5ˆäˆB�D‰D�M‰M×Ñ×(Ñ(¨)Ô4Ü�—‘×!Ñ!×&Ñ&×0Ñ0Ô1ä�zÓ"ˆØ!%×!1Ñ!1°#Ó!6ÑˆÜˆH�VÕ×&Ñ&¨	Ô2Ü�˜VÕ$×.Ñ.Ö/r?   r@   r¡   )FF)F)r£  r¦  )r¥  r§  )NN)NF)xrA   rB   rC   rD   Úrun_insertsr­   r¬   rE   r^   ro  rm   r[   rY   rÉ  rÍ  rß  r   re  r   ræ  rë  rú  Úpropertyrý  r  r  r  r"  r5  r8  rC  rF  rW  rZ  r   rU   Úschema_reflectionr^  rc  rj  rm  Úschema_create_deleterr  rw  rz  rØ   r
  rV   r‡  rŒ  rÙ  r‘  rX   rw   r•  r  rš  r�  r˜  rB  r  r¾  rÁ  r+  rÄ  Ú!primary_key_constraint_reflectionrF  r  rÓ  rJ  ræ  r«  rì  rÖ   rN  r­  r®  rõ  rÿ  r]  r  Útemp_table_reflect_indexesr	  rR  r)  r?  r1  Útable_reflectionr7  r:  r=  r  rJ  r5  rk  rP  rT  rc  rÇ  rm  rq  ru  r€  rŠ  rŽ  r”  r^  r›  r¡  r°  r®   r¶  r¿  Úcomment_reflection_full_unicoderÂ  Úcolumn_collation_reflectionÚorder_by_collationrÊ  rF   rG   rH   s   @r<   rm  rm  q  sv  ø‡ € Ø $Ð$€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ð ×ÒØØ	˜×(Ñ(×JÑJÐKØôð
 ×ÒØ	ˆw×Ñ×'Ñ'Ð(¨%¸,ôñ!-óóð!-ðF ×ÒØ	ˆw×Ñ×'Ñ'Ð(¨%¸,ôñ-óð-ð ×Ñ×&Ñ&ñDó 'ðDð
 ×Ñ×%Ñ%Ø×Ñ×%Ñ%ñ6ó &ó &ð6ð
 ×Ñ×(Ñ(ñ,ó )ð,ð ×Ñ×(Ñ(Ø×Ñ×ÑñHó ó )ðHô
ð0 ×ÒØØ	��g×&Ñ&×.Ñ.Ð/Ø	ˆu�g×&Ñ&×6Ñ6Ð7àØØ×Ñ×$Ñ$ w×'7Ñ'7×'GÑ'GÕGð	
ð
 (ô
ñ<6ó
ð<6ðB ×Ñ×+Ñ+ñ	
ó ,ð	
ð ×Ñ×+Ñ+ñ+ó ,ð+ð ×Ñ×+Ñ+Ø×Ñ×,Ñ,Ø×Ñ×%Ñ%ñBó &ó -ó ,ðBð
 ×ÒØ�4˜×)Ñ)×1Ñ1Ð2¸\ôð ×Ñ×7Ñ7ñ
ó 8óð
ð: ×ÒØØØØØôð ×Ñ×7Ñ7Ø×Ñ×'Ñ'ñ4ó (ó 8óð4ð, ×ÒØ�4˜×)Ñ)×1Ñ1Ð2¸\ôð ×Ñ×7Ñ7ñ$>ó 8óð$>ðL ×ÒØØØØØôð ×Ñ×7Ñ7ñ%6ó 8óð%6ðN ×Ñ×0Ñ0Ø×Ñ×Ññ"8ó ó 1ð"8ðH ×ÒØ�4˜×)Ñ)×1Ñ1Ð2¸\ôð ×Ñ×&Ñ&ñ
ó 'óð
ð, ×ÒØ3Ø/Øôð
 ×Ñ×&Ñ&Ø×Ñ×*Ñ*Ø×Ñ×2Ñ2ñ-ó 3ó +ó 'óð-ð ×ÒØØØØØôð ×Ñ×&Ñ&ñ7ó 'óð7ð0 ×Ñ×+Ñ+Ø×Ñ×2Ñ2ñDó 3ó ,ðDð ×Ñ×0Ñ0ñ
ó 1ð
ð  ×ÒØ	ˆw×Ñ×'Ñ'Ð(¨(¸\ôð ×Ñ×2Ñ2ñVDó 3óðVDðp ×ÒØØØØØôð ×Ñ×2Ñ2ñ3ó 3óð3ð. ×Ñ×%Ñ%Ø×ÒØ�4˜×)Ñ)×1Ñ1Ð2¸\ôñóó &ðð ×Ñ×%Ñ%ñ.ó &ð.ð ×Ñ×&Ñ&ñ2ó 'ð2ð0 ×ÒØ	ˆw×Ñ×'Ñ'Ð(¨(¸\ôñ?óð?ð ×Ò˜4 ×!1Ñ!1×!9Ñ!9Ð:¸EÓBñ/ó Cð/ð ‡_�_ñ/ó ð/ð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ð" ×ÒØ	˜g×.Ñ.×DÑDÐEØàØ×Ñ×>Ñ>ð	
ð
 Ø×Ñ×>Ñ>ð	
ð 
˜×(Ñ(×9Ñ9Ð:à$Ø×Ñ×9Ñ9ð	
ð
 $Ø×Ñ×8Ñ8ð	
ð 
˜g×.Ñ.×AÑAÐBØô+ñ.*ó/ð.*òð ×Ò˜$ °Ô=Ø×ÒØ	ˆw×Ñ×%Ñ%Ð&¨¸ôñ.óó >ð.ð" ×Ñ×(Ñ(ñó )ðð( ×Ñ×5Ñ5ñ\ó 6ð\ð  ×Ñ×1Ñ1Ø×Ñ×(Ñ(ñ0ó )ó 2ö0r?   rm  c                   óò   a € ] tR tRt o RtRt]P                  R 4       t]P                  R 4       t	R t
R tR t]P                  P                  R 4       t]P                  P                  R	 4       tR
tV tR# )ÚTableNoColumnsTestib
  Tc                ó@   € \        R V4       VP                  V4       R# ©rê  N)r   ró   ©rƒ   r�   r]   s   &&&r<   Útable_no_columnsÚ#TableNoColumnsTest.table_no_columnsf
  s   € äˆg�xÔ Ø×Ñ˜JÖ'r?   c                óÄ   € \        R V4       \        P                  ! VR\        R4      4       \        P                  ! VR\        R4      4       VP	                  V4       R# )rê  ra   z*CREATE VIEW empty_v AS SELECT * FROM emptyrb   zDROP VIEW IF EXISTS empty_vN)r   r   rd   r!   ró   rÚ  s   &&&r<   Úview_no_columnsÚ"TableNoColumnsTest.view_no_columnsk
  sR   € äˆg�xÔ Ü�ŠØØÜÐ<Ó=ô	
ô 	�ŠØ�m¤SÐ)FÓ%Gô	
ð 	×Ñ˜JÖ'r?   c                óp   € \        R \        4       VR7      p\        \        VP                  4      . 4       R# )rê  rï   N©r   r   r   r  rµ   )rƒ   r�   rÛ  rÉ  s   &&& r<   Útest_reflect_table_no_columnsÚ0TableNoColumnsTest.test_reflect_table_no_columns{
  s$   € Ü�7œH›J°jÔAˆÜŒD�—‘‹J˜Ör?   c                óŽ   € \        V4      p\        VP                  R 4      . 4       VP                  4       p\        VR. /4       R# )rê  N)Nrê  )r   r   rþ   rp  )rƒ   r�   rÛ  r�   Úmultis   &&&  r<   Ú!test_get_columns_table_no_columnsÚ4TableNoColumnsTest.test_get_columns_table_no_columns
  s>   € Ü�zÓ"ˆÜˆD×Ñ˜WÓ% rÔ*Ø×&Ñ&Ó(ˆÜˆE�O RÐ(Ö)r?   c                ó–   € \        4       pVP                  V4       \        VP                  4      P	                  R .4      '       g   Q hR# rÙ  )r   r´  r¿  rË   r®  )rƒ   r�   rÛ  rµ  s   &&& r<   Ú"test_reflect_incl_table_no_columnsÚ5TableNoColumnsTest.test_reflect_incl_table_no_columns…
  s6   € Ü‹JˆØ	�	‰	�*ÔÜ�1—8‘8‹}×)Ñ)¨7¨)×4Ò4Ð4Ò4r?   c                óp   € \        R \        4       VR7      p\        \        VP                  4      . 4       R# )Úempty_vrï   Nrá  )rƒ   r�   rÞ  rÉ  s   &&& r<   Útest_reflect_view_no_columnsÚ/TableNoColumnsTest.test_reflect_view_no_columnsŠ
  s$   € ä�9œh›j¸
ÔCˆÜŒD�—‘‹J˜Ör?   c                ó®   € \        V4      p\        VP                  R 4      . 4       VP                  \        P
                  R7      p\        VR. /4       R# )rì  )r¹   N)Nrì  )r   r   rþ   rp  r   rg  )rƒ   r�   rÞ  r�   rå  s   &&&  r<   Ú test_get_columns_view_no_columnsÚ3TableNoColumnsTest.test_get_columns_view_no_columns�
  sH   € ä�zÓ"ˆÜˆD×Ñ˜YÓ'¨Ô,Ø×&Ñ&¬J¯O©OÐ&Ó<ˆÜˆEÐ% rÐ*Ö+r?   r@   N)Úreflect_tables_no_columns)rA   rB   rC   rD   r×   r¬   r   r  rÛ  rÞ  râ  ræ  ré  rU   r®   rí  rð  rF   rG   rH   s   @r<   r×  r×  b
  s�   ø‡ € Ø1€LØ $Ðà‡_�_ñ(ó ð(ð ‡_�_ñ(ó ð(òò*ò5ð
 ×Ñ×Ññó ðð ×Ñ×Ññ,ó ö,r?   r×  c                   óò  a € ] tR tRt o Rt]P                  ! RR.R7      R 4       t]P                  ! 4       R 4       tR t	]P                  P                  R 4       t]P                  P                  ]P                  ! R	R
RRR7      R 4       4       t]P                  P                  ]P                  ! RRRRR7      R 4       4       t]P                  P                  R 4       tR t]P                  P                  ]P                  ! RRRRRRRR7      R 4       4       t]P                  P(                  R 4       t]P                  P,                  R 4       t]P                  P0                  R 4       tR t]P                  P6                  R  4       t]P                  P6                  ]P                  ! ]P<                  ]P>                  ]P@                  ]PB                  ]P                  PD                  3]PF                  ]P                  PD                  3R!R7      R" 4       4       t$]P                  P6                  R# 4       t%]P                  ! RR$R]P                  PL                  3RRR%]P                  PN                  3/ RR&]P                  PN                  3/ R&R]P                  PP                  3RRR']P                  PR                  3RR'R]P                  PT                  3R(R7      R) 4       t+]P                  ! ],]-P\                  ! R*4      R+3],R*R+3]/]-P`                  ! 4       R,3],]-P\                  ! R-4      R.]P                  Pb                  3],]-P\                  ! R/4      R0]P                  Pb                  3]2]3Ph                  ! 4       R13],]-Pj                  ! R24      ]-Pj                  ! R34      ,           R.]P                  Pb                  3R4R7      ]P                  Pl                  R5 4       4       t7R6t8V t9R# )7ÚComponentReflectionTestExtrai—
  TF)Úparamsc                óJ   € VP                   '       d   \        P                  # R # r¡   )Úparamr   rW   )rƒ   Úrequests   &&r<   Úuse_schema_fixtureÚ/ComponentReflectionTestExtra.use_schema_fixtureš
  s   € à�=�=ˆ=Ü×%Ñ%Ð%ár?   c                óB   aaa€ \         P                  VVV3R  l4       pV# )c              3   óP   <"  € S\        S4      3x € SP                  S4       R # 5ir¡   )r   ró   )rã   r�   r]   rù  s   &€€€r<   ÚgoÚ:ComponentReflectionTestExtra.inspect_for_table.<locals>.go£
  s$   øé € à$¤g¨jÓ&9Ð9Ò9à×Ñ 
Ö+ùs   ƒ#&)Ú
contextlibÚcontextmanager)rƒ   r]   r�   rù  rý  s   &fff r<   Úinspect_for_tableÚ.ComponentReflectionTestExtra.inspect_for_table¡
  s"   ú€ ä	×	"Ñ	"ö	,ó 
#ð	,ð
 ˆ	r?   c                ó´   € R  p\        V Uu. uF  pRVR,          RV! VR,          4      /NK  	  upR R7      p\        VR R7      p\        W4       R# u upi )c                 óˆ   € R P                  \        P                  ! RV P                  4       \        P                  4      4      # )Ú zand|\d|=|a|b|c|or|<|>)Újoinr]  ÚfindallrO  ÚIr˜  s   &r<   Ú	normalizeÚ5ComponentReflectionTestExtra.ck_eq.<locals>.normalize¯
  s.   € Ø—8‘8Ü—
’
Ð3°W·]±]³_ÄbÇdÁdÓKóð r?   rq   rS  c                 ó   € V R ,          # r˜  r@   ©Úitems   &r<   rÁ   Ú4ComponentReflectionTestExtra.ck_eq.<locals>.<lambda>¹
  ó   € ˜d 9žor?   r  c                 ó   € V R ,          # r˜  r@   r  s   &r<   rÁ   r  ¾
  r  r?   N)r‚  r   )rƒ   r  r  r	  r  s   &&&  r<   Úck_eqÚ"ComponentReflectionTestExtra.ck_eq«
  sl   € ò	ô
 ñ &óá%�Dð ˜˜f� y±)¸DÀ½OÓ2LÓMÙ%ññ /ô
ˆ	ô ØÙ.ô
ˆô 	ˆIÖ ùòs   �#Ac                ó  € V! R 4      ;_uu_ 4       w  r4\        R V\        R\        P                  ! ^4      4      VR7       RRR4       V P	                  XP                  R XR7      . 4       R#   + '       g   i     L5; i)rš  rQ   rS   N)r   r   rt   r   r  rY  )rƒ   r]   r  rT   r¸   s   &&&  r<   Ú#test_check_constraint_no_constraintÚ@ComponentReflectionTestExtra.test_check_constraint_no_constraintÂ
  si   € áÐ/×0Ô0Ñ4G°VÜØ ØÜ�vœrŸyšy¨›}Ó-Øõ	÷ 1ð 	�
‰
Ø×+Ñ+Ð,<ÀVÐ+ÓLØö	
÷ 1×0ús   ‘0A.Á.A>	Ú	my_inlineÚMyInlineNÚconstraint_namerº   c                ó¨  € V! R 4      ;_uu_ 4       w  rE\        R V\        R\        4       RR7      \        R\        4       \        P                  ! RVR7      4      \        R\        ^24      4      VR7       R	R	R	4       XP                  R XR7      pT P                  TR
T;'       g    \        P                  RR/.4       R	#   + '       g   i     LT; i)Úsa_ccrN   TrO   r¿   úa > 1 AND a < 5r"  rQ   rS   Nrq   rS  úa > 1 and a < 5)
r   r   r   rt   r)  r   rY  r  r*   re  ©rƒ   r]   r  r  rT   r¸   r  s   &&&&   r<   Útest_check_constraint_inlineÚ9ComponentReflectionTestExtra.test_check_constraint_inlineÑ
  s½   € ñ ˜w×'Ô'Ñ+>¨FÜØØÜ�tœW›Y°DÔ9ÜØÜ“IÜ×&Ò&Ø)°ôóô �vœv b›zÓ*Øõ÷ (ð  ×3Ñ3°GÀFÐ3ÓKˆ	à�
‰
Øð ˜O×7Ð7¬t¯x©xØÐ0ððö	
÷% (×'ús   ‘A$CÃC	Úmy_ck_constÚ	MyCkConstc                óV  € V! R 4      ;_uu_ 4       w  rE\        R V\        R\        4       4      \        P                  ! RVR7      VR7       RRR4       XP                  R XR7      pT P                  TRT;'       g    \        P                  RR/.4       R#   + '       g   i     LT; i)	r  r¿   za = 1 OR (a > 2 AND a < 5)r"  rS   Nrq   rS  za = 1 or a > 2 and a < 5)	r   r   r   rt   r)  rY  r  r*   re  r  s   &&&&   r<   Ú test_check_constraint_standaloneÚ=ComponentReflectionTestExtra.test_check_constraint_standaloneõ
  s�   € ñ ˜w×'Ô'Ñ+>¨FÜØØÜ�sœG›IÓ&Ü×"Ò"Ø0°ôð õ÷ (ð ×3Ñ3°GÀFÐ3ÓKˆ	à�
‰
Øð ˜O×7Ð7¬t¯x©xØÐ9ððö	
÷ (×'ús   ‘;BÂB(	c                ó¨  € V! R 4      ;_uu_ 4       w  r4\        R V\        R\        4       RR7      \        R\        4       \        P                  ! R4      4      \        R\        4       \        P                  ! RRR	7      4      \        R
\        4       4      \        R\        ^24      4      \        P                  ! RRR	7      \        P                  ! RRR	7      \        P                  ! R
RR	7      VR7       RRR4       XP                  R XR7      pV P                  VRRRR/RRRR/R\        P                  RR/.4       R#   + '       g   i     LT; i)r  rN   TrO   r¿   r  r  zb > 1 AND b < 5r  r"  rµ   rQ   Úsome_uqzc > 1 AND c < 5Úcc1Ú	some_c_uqrS   Nrq   rS  zc > 1 and c < 5zb > 1 and b < 5r  )r   r   r   rt   r)  r   r(  rY  r  r*   re  )rƒ   r]   r  rT   r¸   r  s   &&&   r<   Útest_check_constraint_mixedÚ8ComponentReflectionTestExtra.test_check_constraint_mixed  s  € á˜w×'Ô'Ñ+>¨FÜØØÜ�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ˆ	à�
‰
Øà˜ 	Ð+<Ð=Ø˜ iÐ1BÐCØœŸ™ 9Ð.?Ð@ðö	
÷+ (×'ús   ‘C$EÅE	c           	     ó˜   € V F  pVR,          V8X  g   K  VR,          u # 	  Q RV: RV Uu. uF  q3R,          NK  	  up 24       hu upi )z2return the sqltext for the named CHECK constraint.rq   rS  zNo CHECK constraint named rü  r@   )rƒ   r  rq   r„  s   &&& r<   Ú_cc_by_nameÚ(ComponentReflectionTestExtra._cc_by_name3  sZ   € ó ˆCØ�6�{˜dÖ"Ø˜9•~Ò%ñ ð	
Ø(¨©°Ù'0Ó1¡y �F—�¡yÑ1Ð2ð4ó	
ˆuùâ1s   ­Az5(x IS NULL OR y IS NULL) AND (x IS NULL OR y IS NULL)za = '(' AND b = ')'za = 'it''s'z((((x > 0))))z((x > 1) AND (x < 5))zx > 0Ú
expressionc                óŠ  € V! R4      ;_uu_ 4       w  rE\        RV\        R\        4       RR7      \        R\        4       4      \        R\        4       4      \        R\        ^24      4      \        R\        ^24      4      \        P
                  ! VR	R
7      VR7	       RRR4       XP                  RXR7      pV P                  VR	4      pV! R4      ;_uu_ 4       w  rE\        RV\        R\        4       RR7      \        R\        4       4      \        R\        4       4      \        R\        ^24      4      \        R\        ^24      4      \        P
                  ! VRR
7      VR7	       RRR4       VP                  RVR7      pV P                  VR4      p	\        Wy4       R#   + '       g   i     EL; i  + '       g   i     LV; i)ab  Regression test for #13157.

A CHECK constraint expression must round-trip through reflection
without its parentheses being incorrectly stripped.  The bug
greedily paired the leading ``(`` with the trailing ``)`` and
dropped both, producing an unbalanced, syntactically invalid
expression such as ``x IS NULL OR y IS NULL) AND (x IS NULL OR
y IS NULL``.
r  rN   TrO   ÚxÚyr¿   r  Úcc_exprr"  rS   NÚsa_cc_2Ú	cc_expr_2)	r   r   r   r   rt   r)  rY  r,  r   )
rƒ   r]   r  r.  rT   r¸   r  Úreflected_textÚ
reflected2Úreflected_text_2s
   &&&&      r<   Ú/test_check_constraint_parenthesized_expressionsÚLComponentReflectionTestExtra.test_check_constraint_parenthesized_expressions?  si  € ñ> ˜w×'Ô'Ñ+>¨FÜØØÜ�tœW›Y°DÔ9Ü�sœG›IÓ&Ü�sœG›IÓ&Ü�sœF 2›JÓ'Ü�sœF 2›JÓ'Ü×"Ò" :°IÔ>Øõ
÷ (ð ×3Ñ3°GÀFÐ3ÓKˆ	ð
 ×)Ñ)¨)°YÓ?ˆñ ˜y×)Ô)Ñ-@¨fÜØØÜ�tœW›Y°DÔ9Ü�sœG›IÓ&Ü�sœG›IÓ&Ü�sœF 2›JÓ'Ü�sœF 2›JÓ'Ü×"Ò" >¸ÔDØõ
÷ *ð ×4Ñ4°YÀvÐ4ÓNˆ
à×+Ñ+¨J¸ÓDÐÜˆNÖ-÷W (×'Ð'ú÷6 *×)ús   ‘BFÃBF2ÆF/	Æ2G	c                óÆ  € V! R4      ;_uu_ 4       w  r4\        RV\        R\        RR7      \        R\        4      \        R\        4      4      p\        RVP                  P
                  VP                  P                  VP                  P                  4       RRR4       XP                  R4      p\        V^ ,          R	,          . R
O4       R#   + '       g   i     L?; i)ztest for #12894Úsa_multi_indexÚColumn1TrO   ÚColumn2ÚColumn3ÚIndex_ExampleNrß   )r>  r<  r=  )
r   r   r   r"   rµ   r>  r<  r=  rM  r   )rƒ   r]   r  rT   r¸   rM   rï  s   &&&    r<   Útest_index_column_orderÚ4ComponentReflectionTestExtra.test_index_column_order‹  s®   € ñ Ð/×0Ô0Ñ4G°VÜØ ØÜ�y¤'°tÔ<Ü�y¤'Ó*Ü�y¤'Ó*óˆJô ØØ—‘×$Ñ$Ø—‘×$Ñ$Ø—‘×$Ñ$ô	÷ 1ð ×'Ñ'Ð(8Ó9ˆÜˆG�A�J�~Õ&Ò(IÖJ÷ 1×0ús   ‘BCÃC 	c                ó~  aa€ \        R V\        R\        ^4      4      \        R\        ^4      4      \        R\        ^4      4      4      p\        R\        P
                  ! VP                  P                  4      VP                  P                  \        P
                  ! VP                  P                  4      4       Ro\        R\        P                  ! VP                  P                  S4      4       \        RVP                  P                  4       VP                  S4       \        S4      pRRRR.R	R
R/ /.pV3R lpV! V^ ,          4        ! R R\        4      p ! V3R lR\        4      p\        P                  P                   P"                  '       d™   RRR. RORV! R4      RV! R4      .R	R
/p	V! V	4       VP%                  ^ V	4       RRRR.RV! RS R24      .R	R
/p
V! V
4       VP'                  V
4       \)        VP+                  R 4      V4       \-        4       p\        R VSR7      pMO\/        R4      ;_uu_ 4        \)        VP+                  R 4      V4       \-        4       p\        R VSR7      pRRR4       V P1                  XVSP2                  P4                  4       R#   + '       g   i     L9; i)r…  r0  r1  ÚzÚt_idxÚ
t_idx_longÚt_idx_2rq   rß   rˆ  Fr(  c                 óÊ   <€ \         P                  P                  P                  '       d&   . V R &   SP                  P
                   R2. /V R&   R# V P                  R/ 4       R# )r)  Ú_includer(  N)r   rU   r  r5   rv  rq   r¨  )Úentryr�   s   &€r<   ÚcompleteIndexÚYComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.completeIndex»  s_   ø€ Ü×Ñ×?Ñ?×G×GÐGØ+-�Ð'Ñ(à!×(Ñ(×-Ñ-Ð.¨hÐ7¸ð,�Ð'Ó(ð × Ñ Ð!2°BÖ7r?   c                   ó&   a € ] tR tRt o R tRtV tR# )Ú[ComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_striÆ  c                ó`   € VP                  4       pR V9   ;'       d    RV9   ;'       g    RV9   # )rO  r0  r1  ©rO  )rƒ   rì   Úols   && r<   r  ÚbComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.lower_index_str.__eq__Ç  s/   € Ø—[‘[“]�à "‘}×AÐA¨#°©)×*@Ð*@°s¸b±yÐAr?   r@   Nr  rH   s   @r<   Úlower_index_strrM  Æ  s   ø‡ € ÷Bð Br?   rR  c                   ó.   <a € ] tR tRt o V3R ltRtV tR# )Ú^ComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_striÌ  c                óD   <€ R VP                  4       9   ;'       d    SV9   # )ÚcoalescerO  )rƒ   rì   Úlong_strs   &&€r<   r  ÚeComponentReflectionTestExtra.test_reflect_expression_based_indexes.<locals>.coalesce_index_str.__eq__Í  s!   ø€ à! U§[¡[£]Ñ2×HÐH°xÀ5Ñ7HÐHr?   r@   Nr  )rI   rW  s   @€r<   Úcoalesce_index_strrT  Ì  s   ù‡ € ÷Ió Ir?   rY  Nr*  zlower(x)zlower(y)zcoalesce(x, 'z')rï   z>Skipped unsupported reflection of expression-based index 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 )NrC  N)r   r   r   r"   r   rO  rµ   r0  rC  r1  rV  ró   r   rV  r   rU   Ú reflect_indexes_with_expressionsr5   ÚinsertrC  r   rM  r   r	   Ú!compare_table_index_with_expectedrv  rq   )rƒ   r]   r�   r…  r�   r  rJ  rR  rY  Ú
expr_indexÚexpr_index_longrõ   rÉ  rW  s   &&f          @r<   Ú%test_reflect_expression_based_indexesÚBComponentReflectionTestExtra.test_reflect_expression_based_indexesŸ  sb  ù€ äØØÜ�3œ˜r›
Ó#Ü�3œ˜r›
Ó#Ü�3œ˜r›
Ó#ó
ˆô 	ˆg”t—z’z !§#¡#§%¡%Ó(¨!¯#©#¯%©%´·²¸A¿C¹C¿E¹EÓ1BÔCØ'ˆÜˆlœDŸMšM¨!¯#©#¯%©%°Ó:Ô;Üˆi˜Ÿ™Ÿ™Ôà×Ñ˜JÔ'ä�zÓ"ˆð ˜	Ø  Ø˜%Ø! 2ð	ð
ˆõ	8ñ 	�h˜q•kÔ"ô	Bœcô 	B÷	I¤ô 	Iô
 ×Ñ×<Ñ<×D×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                óø  € \        R V\        R\        ^4      4      \        R\        ^4      4      4      p\        RVP                  P
                  4      pR.VP                  VP                  P                  ,          R&   VP                  V4       \        V4      pVP                  R 4      p\        VRRRR.RR.RR	R
\        P                  /.4       \        V^ ,          R
,          RVP                  P                  ,          ,          R.4       \        R \        4       VR7      p\        \!        VP"                  4      ^ ,          P                  VP                  P                  ,          R,          R.4       R# )r…  r0  r1  rD  Úincluderq   rß   r)  rˆ  Fr(  z
%s_includerï   N)r   r   r   r"   rµ   r0  r(  rv  rq   ró   r   rM  r   r*   re  r   r  rï  )rƒ   r]   r�   r…  rÎ   r�   rM  rÉ  s   &&&     r<   Útest_reflect_covering_indexÚ8ComponentReflectionTestExtra.test_reflect_covering_indexú  sO  € äØØÜ�3œ˜r›
Ó#Ü�3œ˜r›
Ó#ó	
ˆô �G˜QŸS™SŸU™UÓ#ˆØBEÀˆ×Ñ˜J×-Ñ-×2Ñ2Õ3°IÑ>à×Ñ˜JÔ'ä�zÓ"ˆà×&Ñ& sÓ+ˆÜØð ˜GØ" S EØ%¨ uØ˜eØ%¤t§x¡xððô	
ô 	Ø˜�NÐ,Õ-Ø˜z×0Ñ0×5Ñ5Õ5õð ˆEô		
ô �3œ›
°*Ô=ˆÜÜ�—‘Ó˜QÕ×/Ñ/°
×0AÑ0A×0FÑ0FÕGØõð ˆEö		
r?   c                ó  € \        R V.\        V4       UUu. uF  w  rE\        RV,          V4      NK  	  uppO5!  pVP                  V4       \	        V4      P                  R 4       Uu. uF  qwR,          NK  	  up# u uppi u upi )r…  zt%drð  )r   r§  r   rŠ   r   rþ   )rƒ   r�   r]   r   r¶  Útype_r…  rµ   s   &&&*    r<   Ú_type_round_tripÚ-ComponentReflectionTestExtra._type_round_trip%  s…   € ÜØØð
ô 8AÀÔ7GÔHÑ7G©8¨1Œf�U˜Q•Y Ö&Ñ7GÒHó
ˆð
 	
�‰�Ôä#*¨:Ó#6×#BÑ#BÀ3Ô#GÓHÑ#G˜a�&—	�	Ñ#GÑHÐHùó	 Iùò Is   —A>Á*Bc                óþ   € V P                  W\        P                  ! ^^4      4       FQ  p\        V\        P                  4      '       g   Q h\	        VP
                  ^4       \	        VP                  ^4       KS  	  R# )é   N)rg  r«  r¯  r7  r   Ú	precisionÚscale)rƒ   r�   r]   Útyps   &&& r<   Útest_numeric_reflectionÚ4ComponentReflectionTestExtra.test_numeric_reflection/  s`   € à×(Ñ(Ø¤)×"3Ò"3°B¸Ó":ö
ˆCô ˜c¤9×#4Ñ#4×5Ò5Ð5Ð5Ü�—‘˜rÔ"Ü�—	‘	˜1Öó
r?   rf  c                ó  € V P                  WV! ^44      4      ^ ,          p\        V\        P                  4      '       d$   \	        V\        P                  4      '       g   Q hMe\        V\        P
                  4      '       d$   \	        V\        P
                  4      '       g   Q hM"\	        V\        P                  4      '       g   Q h\        VP                  ^44       \	        VP                  \        4      '       g   Q hR# )é4   N)
rg  Ú
issubclassr«  rv   r7  r©  r   r   ÚlengthÚint)rƒ   r�   r]   rf  rm  s   &&&& r<   Útest_string_length_reflectionÚ:ComponentReflectionTestExtra.test_string_length_reflection8  s±   € ð ×#Ñ# J¹%À»)ÓDÀQÕGˆÜ�eœY×.Ñ.×/Ò/Ü˜c¤9×#4Ñ#4×5Ò5Ð5Ñ5Ü˜œyŸ~™~×.Ò.Ü˜c¤9§>¡>×2Ò2Ð2Ñ2ä˜c¤9×#3Ñ#3×4Ò4Ð4Ð4äˆC�J‰J˜ÔÜ˜#Ÿ*™*¤c×*Ò*Ð*Ò*r?   c                ó  € \        R V\        R\        RR7      \        R\        RR7      4      pVP                  V4       \	        \        V4      P                  R 4       Uu/ uF  pVR,          VR,          bK  	  upRRRR/4       R# u upi )	r…  r¿   Trx  r  Frq   ry  N)r   r   r   rŠ   r   r   rþ   )rƒ   r�   r]   r…  r‰   s   &&&  r<   Útest_nullable_reflectionÚ5ComponentReflectionTestExtra.test_nullable_reflectionM  s�   € äØØÜ�3œ¨$Ô/Ü�3œ¨%Ô0ó	
ˆð 	
�‰�ÔÜô # :Ó.×:Ñ:¸3Ô?óá?�Cð �F•˜S �_Ò,Ù?ñð �$˜˜UÐ#ö	
ùòs   Á!B	ÚCASCADEzSET NULLz	NO ACTIONÚRESTRICTzexpected,ondelete,onupdatec                ó  € / pV'       d   WFR &   V'       d   WVR&   Vf   Tp\        RV\        R\        RR7      RR7       \        RV\        R\        RR7      \        R	\        \        R
RR7      4      \        R\	        ^
4      4      RR7       \        RV\        R\        RR7      \        R\	        ^24      RR7      \        R\        4      \
        P                  ! R.R.3RR/VB RR7       VP                  V4       \        V4      pVP                  R4      ^ ,          R,          p\        V U	u/ uF  q˜V	,          '       g   K  W˜V	,          bK  	  up	/ 4       VP                  R4      ^ ,          R,          p\        Wƒ4       R# u up	i )ÚondeleteÚonupdateNr0  rN   TrO   ré   r´  Úx_idzx.idÚxidr"  ÚtestÚuserrq   Frx  Útidztable.idÚmyfkr2   )r   r   r   r   r   rt   rò   ró   r   rI  r   )
rƒ   r�   r]   r  r}  r~  r2   r�   ÚoptsrÀ   s
   &&&&&&    r<   Útest_get_foreign_key_optionsÚ9ComponentReflectionTestExtra.test_get_foreign_key_options^  sn  € ðT ˆßØ"*�JÑßØ"*�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¯©ŒZˆQ�Q•ŠZ¡Ñ1°2Ô6à×$Ñ$ VÓ,¨QÕ/°	Õ:ˆÜˆDÖùò 2s   Ä1FÅFÚ10z'?10'?z1|truez3 + 5z3\+5z(3 * 5)z3\*5zcurrent_timestamp|now|getdateÚ3Ú5zdatatype, default, expected_regc                ó0  € \        R V\        R\        RR7      \        RW4R7      4      pVP                  V4       \	        V4      P                  R 4      ^,          R,          p\        P                  ! RRV4      p\        W…\        P                  R	7       R
# )r…  rN   TrO   Úthecol)Úserver_defaultrñ  z	[\(\) \']rs  )ÚflagsN)
r   r   r   rŠ   r   rþ   r]  r^  r   Ú
IGNORECASE)	rƒ   r]   r�   Údatatyperñ  Úexpected_regr…  r  Úreflected_sanitizeds	   &&&&&&   r<   Útest_server_defaultsÚ1ComponentReflectionTestExtra.test_server_defaults»  sy   € ô: ØØÜ�4œ¨dÔ3Ü�8˜XÔ>ó	
ˆð 	
�‰�Ôä˜JÓ'×3Ñ3°CÓ8¸Õ;¸IÕFˆ	Ü Ÿfšf \°2°yÓAÐÜÐ$¼"¿-¹-×Hr?   r@   ):rA   rB   rC   rD   r¬   r   r  rù  r  r  rU   r^  r  Ú"inline_check_constraint_reflectionrØ   r  r#  r)  r,  r8  Úindexes_check_column_orderr@  Úindexes_with_expressionsr_  r  rc  rg  rÒ  rn  r«  r   rv   r©  ÚNVARCHARÚnvarchar_typesÚNCHARru  rx  Ú1foreign_key_constraint_option_reflection_ondeleteÚ1foreign_key_constraint_option_reflection_onupdateÚ1fk_constraint_option_reflection_ondelete_noactionÚ1fk_constraint_option_reflection_onupdate_restrictÚ1fk_constraint_option_reflection_ondelete_restrictr†  r   rt   ré  r   ÚtrueÚexpression_server_defaultsr   r   ÚnowÚliteral_columnÚserver_defaultsr“  rF   rG   rH   s   @r<   rô  rô  —
  si  ø‡ € Ø $Ðà‡_‚_˜T 5˜MÔ*ñó +ðð ‡_‚_Óñó ðò!ð. ×Ñ×1Ñ1ñ
ó 2ð
ð ×Ñ×8Ñ8Ø×ÒØ�Z Ð0Aôñ
óó 9ð
ð@ ×Ñ×1Ñ1Ø×ÒØ�{ DÐ3Dôñ
óó 2ð
ð4 ×Ñ×8Ñ8ñ
ó 9ð
ò>

ð ×Ñ×1Ñ1Ø×Òð 	@ð 	ð 	àààØô!ñ$7.ó%ó 2ð&7.ðr ×Ñ×0Ñ0ñKó 1ðKð& ×Ñ×.Ñ.ñX
ó /ðX
ðt ×Ñ×5Ñ5ñ(
ó 6ð(
òTIð ×Ñ×&Ñ&ñó 'ðð ×Ñ×&Ñ&Ø×ÒØ×ÑØ×ÑØ�‰Ø	×	Ñ	˜W×-Ñ-×<Ñ<Ð=Ø	�‰˜'×*Ñ*×9Ñ9Ð:Øôñ
+óó 'ð
+ð ×Ñ×&Ñ&ñ
ó 'ð
ð  ×ÒàØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð ØØØ×Ñ×NÑNð		
ð .ôK&ñN3óO&ðN3ðl ×ÒØ	�"—'’'˜$“- Ð+Ø	�$˜	Ð"Ø	�"—'’'“)˜YÐ'àØ�GŠG�GÓØØ×Ñ×7Ñ7ð		
ð Ø�GŠG�IÓØØ×Ñ×7Ñ7ð		
ð 
�4—8’8“:Ð?Ð@àØ×Ò˜cÓ" R×%6Ò%6°sÓ%;Õ;ØØ×Ñ×7Ñ7ð		
ð 3ô/ð2 ×Ñ×%Ñ%ñIó &ó3ö4Ir?   rô  c                   óD   a € ] tR tRt o RtRt]R 4       tR tR t	Rt
V tR# )	ÚNormalizedNameTestiå  Tc                óÎ   € \        \        R RR7      V\        R\        RR7      4       \        \        RRR7      V\        R\        RR7      \        R\	        R4      4      4       R# )	r÷   T©r-  rN   rO   rÉ  Út1idzt1.idN)r   r#   r   r   r   r\   s   &&r<   r^   Ú NormalizedNameTest.define_tablesé  sU   € äÜ˜ DÔ)ØÜ�4œ¨dÔ3ô	
ô
 	Ü˜ DÔ)ØÜ�4œ¨dÔ3Ü�6œ: gÓ.Ó/ö		
r?   c                ó.  € \        4       p\        \        R RR7      V\        P                  R7      pVP
                  R,          pVP                  P                  P                  VP                  P                  4      '       g   Q h\        4       pVP                  \        P                  R R7       VP
                  R ,          P                  P                  P                  VP
                  R,          P                  P                  4      '       g   Q hR# )rÉ  Tr¨  rï   r÷   c                 ó(   € V P                  4       R9   # )r÷   ©r÷   rÉ  rO  )rq   rµ  s   &&r<   rÁ   ÚINormalizedNameTest.test_reflect_lowercase_forced_tables.<locals>.<lambda>  s   € ¨D¯J©J«L¸LÒ,Hr?   )ÚonlyN)r   r   r#   r   r:   rË   rµ   r©  rô   rN   r´  )rƒ   rõ   Út2_refÚt1_refÚm3s   &    r<   Ú$test_reflect_lowercase_forced_tablesÚ7NormalizedNameTest.test_reflect_lowercase_forced_tables÷  s¾   € Ü‹ZˆÜÜ˜ DÔ)¨2¼V¿Y¹Yô
ˆð —‘˜4•ˆØ�x‰x�}‰}×'Ñ'¨¯©¯©×4Ò4Ð4Ð4ä‹ZˆØ
�
‰
Ü�I‰IÑHð 	ô 	
ð �y‰y˜�× Ñ ×%Ñ%×0Ñ0°·±¸4µ×1BÑ1B×1EÑ1E×FÒFÐFÒFr?   c                ó‚  € \        \        P                  4      P                  4        Uu. uF  pVP	                  4       R9   g   K  VNK  	  pp\        V^ ,          P                  4       V^ ,          P	                  4       4       \        V^,          P                  4       V^,          P	                  4       4       R# u upi )r÷   Nr­  )r   r   r:   r�  rO  r   Úupper)rƒ   r…  Ú
tablenamess   &  r<   r‡  Ú'NormalizedNameTest.test_get_table_names  s•   € ô œVŸY™YÓ'×7Ñ7Ô9ó
á9�Ø�w‰w‹y˜LÑ(÷ ˆAÙ9ð 	ð 
ô 	ˆJ�q�M×ÑÓ! :¨a¥=×#6Ñ#6Ó#8Ô9ÜˆJ�q�M×ÑÓ! :¨a¥=×#6Ñ#6Ó#8Ö9ùò
s   ªB<ÁB<r@   N)Údenormalized_names)rA   rB   rC   rD   r×   r¬   rE   r^   r³  r‡  rF   rG   rH   s   @r<   r¦  r¦  å  s2   ø‡ € Ø*€LØ $Ðàñ
ó ð
òG÷:ð :r?   r¦  c                   óp   a € ] tR tRt o R tR tR tR t]P                  P                  R 4       tRtV tR# )	ÚComputedReflectionTesti  c                ó4  € \        \        P                  4      pVP                  R 4      pV Uu/ uF  q3R,          VbK  	  pp\	        RVR,          R,          9   4       \        VR,          R,          R4       \        VR,          R,          R4       R# u upi )Úcomputed_default_tablerq   Ú42Úwith_defaultrñ  ÚnormalNÚcomputed_col)r   r   r:   rþ   r)   r   )rƒ   r�   r  rµ   Úcol_datas   &    r<   Ú!test_computed_col_default_not_setÚ8ComputedReflectionTest.test_computed_col_default_not_set  s   € Ü”v—y‘yÓ!ˆà×ÑÐ 8Ó9ˆÙ*.Ó/©$ Q�f•I˜q’L©$ˆÐ/Ü�˜ Õ0°Õ;Ñ;Ô<ÜˆH�XÕ˜yÕ)¨4Ô0ÜˆH�^Õ$ YÕ/°Ö6ùò 0s   ¯Bc                ó¸  € \        \        P                  4      pVP                  R 4      pV Uu/ uF  q3R,          VbK  	  ppR F  p\	        RWE,          9  4       K  	  VR,          p\	        RV9   4       \	        RVR,          9   4       \        V P                  VR,          R,          4      R4       \        RVR,          9   \        P                  P                  P                  4       \        P                  P                  P                  '       d?   \        VR,          R,          \        P                  P                  P                  4       R# R# u upi )	r½  rq   ÚcomputedrÁ  rS  ú	normal+42Ú	persistedN)rN   rÀ  r¿  )r   r   r:   rþ   r)   r   r	  r   rU   Ú"computed_columns_reflect_persistedr5   Ú"computed_columns_default_persisted)rƒ   r�   r  rµ   rQ   rè   ÚcompDatas   &      r<   Ú test_get_column_returns_computedÚ7ComputedReflectionTest.test_get_column_returns_computed  s  € Ü”v—y‘yÓ!ˆà×ÑÐ 8Ó9ˆÙ&*Ó+¡d �&•	˜1’¡dˆÐ+Û3ˆCÜ�J d¥iÑ/Ö0ñ 4à˜Õ'ˆÜ�
˜hÑ&Ô'Ü�	˜X jÕ1Ñ1Ô2ÜˆD�N‰N˜8 JÕ/°	Õ:Ó;¸[ÔIÜØ˜8 JÕ/Ñ/Ü×Ñ×?Ñ?×GÑGô	
ô ×Ñ×>Ñ>×F×FÐFÜØ˜Õ$ [Õ1Ü× Ñ ×CÑC×KÑKöñ Gùò ,s   ¯Ec                ó*  € \        R W,          9   4       W,          R ,          p\        V P                  VR,          4      V4       \        P                  P
                  P                  '       d$   \        RV9   4       \        VR,          V4       R# R# )rÆ  rS  rÈ  N)r)   r   r	  r   rU   rÉ  r5   r   )rƒ   rQ   ÚcolumnrS  rÈ  rË  s   &&&&& r<   Úcheck_columnÚ#ComputedReflectionTest.check_column/  so   € Ü�
˜d�lÑ*Ô+Ø•< 
Õ+ˆÜˆD�N‰N˜8 IÕ.Ó/°Ô9Ü×Ñ×>Ñ>×F×FÐFÜ�K 8Ñ+Ô,Ü�˜Õ% yÖ1ñ Gr?   c                óü  € \        \        P                  4      pVP                  R 4      pV Uu/ uF  q3R,          VbK  	  ppV P	                  VRR\
        P                  P                  P                  4       \
        P                  P                  P                  '       d   V P	                  VRRR4       \
        P                  P                  P                  '       d   V P	                  VRRR	4       R
# R
# u upi )Úcomputed_column_tablerq   Úcomputed_no_flagrÇ  Úcomputed_virtualznormal+2FÚcomputed_storedz	normal-42TN)r   r   r:   rþ   rÐ  r   rU   rÊ  r5   Úcomputed_columns_virtualÚcomputed_columns_stored©rƒ   r�   r  rµ   rQ   s   &    r<   Ú!test_get_column_returns_persistedÚ8ComputedReflectionTest.test_get_column_returns_persisted7  sÙ   € Ü”v—y‘yÓ!ˆà×ÑÐ 7Ó8ˆÙ&*Ó+¡d �&•	˜1’¡dˆÐ+à×ÑØØØÜ×Ñ×?Ñ?×GÑGô		
ô ×Ñ×4Ñ4×<×<Ð<Ø×ÑØØ"ØØô	ô ×Ñ×3Ñ3×;×;Ð;Ø×ÑØØ!ØØö	ñ <ùò ,s   ¯C9c                ó  € \        \        P                  4      pVP                  R \        P                  R7      pV Uu/ uF  q3R,          VbK  	  ppV P                  VRR\        P                  P                  P                  4       \        P                  P                  P                  '       d   V P                  VRRR4       \        P                  P                  P                  '       d   V P                  VRR	R
4       R# R# u upi )rÓ  rS   rq   rÔ  z	normal/42rÕ  znormal/2FrÖ  z	normal*42TN)r   r   r:   rþ   rW   rÐ  r   rU   rÊ  r5   r×  rØ  rÙ  s   &    r<   Ú-test_get_column_returns_persisted_with_schemaÚDComputedReflectionTest.test_get_column_returns_persisted_with_schemaR  sê   € ä”v—y‘yÓ!ˆà×ÑØ#¬F×,>Ñ,>ð  ó 
ˆñ '+Ó+¡d �&•	˜1’¡dˆÐ+à×ÑØØØÜ×Ñ×?Ñ?×GÑGô		
ô ×Ñ×4Ñ4×<×<Ð<Ø×ÑØØ"ØØô	ô ×Ñ×3Ñ3×;×;Ð;Ø×ÑØØ!ØØö	ñ <ùò ,s   ¿D	r@   N)rA   rB   rC   rD   rÃ  rÌ  rÐ  rÚ  r   rU   rV   rÝ  rF   rG   rH   s   @r<   r»  r»    s9   ø‡ € ò7òò*2òð6 ×Ñ×Ññó ör?   r»  c                   ó„   a € ] tR tRt o R;ttRtR	t]R 4       t	R t
R t]P                  P                  R 4       tRtV tR# )
ÚIdentityReflectionTestiq  NTc                ó¨  € \        R V\        R\        4      \        R\        \        4       4      4       \        RV\        R\        \        R^^R
^*R^R7      4      4       \        P
                  P                  P                  '       dI   \        R V\        R\        4      \        R\        \        R^R7      4      \        P                  R7       R	# R	# )r÷   rÀ  Úid1rÉ  rë   T©Úalwaysrü   Ú	incrementÚminvalueÚmaxvalueÚcycleÚcache)rä  rü   rS   Néþÿÿÿ)
r   r   r   r   r   rU   rV   r5   r   rW   r\   s   &&r<   r^   Ú$IdentityReflectionTest.define_tablesw  s¶   € äØØÜ�8œWÓ%Ü�5œ'¤8£:Ó.ô		
ô 	ØØÜØÜÜØØØØØØØôóô	
ô" ×Ñ×#Ñ#×+×+Ð+ÜØØÜ�x¤Ó)Ü�uœg¤x°tÀ2Ô'FÓGÜ×)Ñ)÷ñ ,r?   c                óV  € \         P                  P                  P                  '       dË   Rp\	        V4       F  pWT9  g   K  VP                  V4       K  	  V'       d‰   \        \        V4      \        V4      4       V Fb  pVR8X  d   \        W,          W%,          8*  4       K&  VR9   d   \        W,          W%,          8¬  4       KI  \        W,          W%,          V4       Kd  	  R# \        W4       R# \        VR,          VR,          4       \        VR,          VR,          4       R# )rä  rü   rå  ræ  Nrã  >   ré  rç  )	r   rU   Úidentity_columns_standardr5   r  ró  r   r¦  r)   )rƒ   r¾  r   ÚapproxÚcommon_keysrÀ   s   &&&&  r<   ÚcheckÚIdentityReflectionTest.check™  sÔ   € Ü×Ñ×5Ñ5×=×=Ð=ðˆKô ˜%–[�ØÖ'Ø—I‘I˜a–Lñ !÷ Ü”C˜“J¤ C£Ô)Û�AØ˜J”Ü ¥¨C­FÑ 2Ö3ØÐ3Ô3Ü ¥¨C­FÑ 2Ö3ä˜E�H c¥f¨aÖ0ó ô �E–ä��g•  G¥Ô-Ü��kÕ" C¨Õ$4Ö5r?   c                ó¬  € \        \        P                  4      pVP                  R 4      VP                  R4      ,           pV EF  pVR,          R8X  d   \	        RV9   4       K"  VR,          R8X  dh   RV9   d   \        VR,          4       \        VR,          R4       \        RV9   4       V P                  VR,          \        R	^^^R
R	^R7      RR7       K—  VR,          R8X  g   K§  RV9   d   \        VR,          4       \        VR,          R4       \        RV9   4       V P                  VR,          \        R^^R^*R^R7      R	R7       EK  	  R# )r÷   rÉ  rq   rÀ  rû   râ  rï  rñ  NFéÿÿÿrã  T©rî  rë   rê  )	r   r   r:   rþ   r'   r)   r   rð  r8   ©rƒ   r�   r  r‰   s   &   r<   r   Ú,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                ó²  € \        \        P                  4      pVP                  R \        P                  R7      pV F–  pVR,          R8X  d   \        RV9   4       K!  VR,          R8X  g   K1  RV9   d   \        VR,          4       \        VR,          R4       \        RV9   4       V P                  VR,          \        R	^^^R
R^R7      R	R7       K˜  	  R# )r÷   rS   rq   rÀ  rû   râ  rï  rñ  NTró  Frã  rô  )
r   r   r:   rþ   rW   r'   r)   r   rð  r8   rõ  s   &   r<   Útest_reflect_identity_schemaÚ3IdentityReflectionTest.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Ò  )rA   rB   rC   rD   rÌ  r­   r¬   r×   rE   r^   rð  r   r   rU   rV   rø  rF   rG   rH   s   @r<   rà  rà  q  sX   ø‡ € Ø $Ð$€K�+à $ÐØ;€Làñó ðòB6ò:*ðX ×Ñ×Ññó ör?   rà  c                   ó8  a € ] tR tRt o Rt]R 4       t]P                  P                  R 4       t
]P                  P                  R 4       t]P                  ]P                  P                  R 4       4       tR t]P                  P                  R 4       tR	tV tR
# )ÚCompositeKeyReflectionTestiþ  Tc                ó<  € \        R V\        R\        4      \        R\        4      \        R\        P                  ! ^4      4      \
        P                  ! RRRRR7      RRR7      p\        R	V\        R\        RR
7      \        R\        4      \        R\        4      \        R\        P                  ! ^4      4      \
        P                  ! . ROVP                  P                  VP                  P                  VP                  P                  .RR7      RRR7	       R# )Útb1rN   Úattrrq   Úpk_tb1r"  NTr�  Útb2rO   ÚpidÚpattrÚpnameÚfk_tb1_name_id_attr©r  r  r  )r   r   r   r«  rv   rt   r'  rò   rµ   rq   rN   rþ  )r;   r]   rý  s   && r<   r^   Ú(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                ó´   € \        V4      pVP                  V P                  P                  P                  4      p\        VP                  R 4      . RO4       R# )r  N©rq   rN   rþ  )r   rE  rË   rý  rq   r   r4  )rƒ   r�   r�   rP   s   &&  r<   Útest_pk_column_orderÚ/CompositeKeyReflectionTest.test_pk_column_order  sA   € ô �zÓ"ˆØ×,Ñ,¨T¯[©[¯_©_×-AÑ-AÓBˆÜˆK�O‰OÐ1Ó2Ò4JÖKr?   c                ó*  € \        V4      pVP                  V P                  P                  P                  4      p\        \        V4      ^4       V^ ,          p\        VP                  R4      . RO4       \        VP                  R4      . RO4       R# )rx  r  r  Nr  r  )r   rI  rË   r   rq   r   r¦  r4  )rƒ   r�   r�   Úforeign_keysrÙ  s   &&   r<   Útest_fk_column_orderÚ/CompositeKeyReflectionTest.test_fk_column_order$  sn   € ô �zÓ"ˆØ×,Ñ,¨T¯[©[¯_©_×-AÑ-AÓBˆÜŒC�Ó˜qÔ!Ø˜Q•ˆÜˆE�I‰IÐ(Ó)Ò+AÔBÜˆE�I‰IÐ+Ó,Ò.GÖHr?   c              #  óZ   "  € VP                  R 4       Rx € VP                  R4       R# 5i)a  
            CREATE TABLE rep_fk_t (
                id INTEGER NOT NULL,
                cid INTEGER NOT NULL,
                PRIMARY KEY (id),
                UNIQUE (id, cid),
                CONSTRAINT rem_fk_cons FOREIGN KEY (cid, cid) REFERENCES rep_fk_t (id, cid)
            )NzDROP TABLE rep_fk_t)Úexec_driver_sqlr™  s   &&r<   Úfk_repeated_col_fixtureÚ2CompositeKeyReflectionTest.fk_repeated_col_fixture.  s.   é € ð 	×"Ñ"ðô		
ó 	Ø×"Ñ"Ð#8Ö9ùs   ‚)+c                ód   € \         P                  P                  P                  '       d   RVR&   V# )z>normalize an inspect.get_foreign_keys() entry across dialects.Nr  )r   rU   r  r5   )rƒ   rI  s   &&r<   Ú_exp_fkÚ"CompositeKeyReflectionTest._exp_fk>  s)   € ä×Ñ×.Ñ.×6×6Ð6Ø#ˆE�)ÑØˆr?   c                óŽ   € \        \        V4      P                  R4      V P                  RRRRR.RRRRR	R
R.R/ /4      .4       R# )z”test the inspector can retrieve foreign keys with repeated
source columns.

See issue #13525 which addressed this on the schema construction
side.

Úrep_fk_trq   Úrem_fk_consr  Úcidr  Nr  r  rN   r2   )r   r   rI  r  )rƒ   r�   r  s   &&&r<   Ú2test_fk_repeated_source_cols_reported_by_inspectorÚMCompositeKeyReflectionTest.test_fk_repeated_source_cols_reported_by_inspectorD  s[   € ô 	Ü�JÓ×0Ñ0°Ó<à—‘à Ø-°°u¨~Ø)¨4Ø(¨*Ø*¨T°5¨MØ! 2ðó	ðö	
r?   r@   N)rA   rB   rC   rD   r¬   rE   r^   r   rU   rÐ  r	  r
  r  r  Úrepeated_column_foreign_keysr  r  r  rF   rG   rH   s   @r<   rû  rû  þ  s²   ø‡ € Ø $Ðàñ
ó ð
ð6 ×Ñ×7Ñ7ñLó 8ðLð ×Ñ×7Ñ7ñIó 8ðIð ‡_�_Ø×Ñ×2Ñ2ñ:ó 3ó ð:òð ×Ñ×7Ñ7ñ
ó 8ö
r?   rû  )rm  rô  r×  r  rÚ   rK   r°   r¦  r»  rà  rû  r  )Irÿ  r  r]  r6   rt   rs  r   r   r   r   r   r   r	   r
   r   Ú	provisionr   r   rT   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r«  rv  r   r   r   Úexcr   r    r!   r"   Úsql.elementsr#   Ú
sql.schemar$   r%   r&   r'   r(   r)   r*   r]   ru  Ú
TablesTestr,   rK   r°   ÚTestBaserÚ   r  r  rk  rm  r×  rô  r¦  ÚComputedReflectionFixtureTestr»  rà  rû  Ú__all__r@   r?   r<   Ú<module>r%     sª  ðó Û Û 	ã Ý Ý Ý Ý Ý Ý $Ý Ý Ý Ý +Ý /Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý "Ý Ý  Ý !Ý #Ý *Ý Ý Ý 'Ý &Ý &Ý %Ý Ý Ý Ý à˜€€ˆ%ô˜h×1Ñ1ô ô U:Ð*ô U:ôpJ
�8×&Ñ&ô J
ôZdG˜8×,Ñ,ô dGôN#G˜H×-Ñ-ô #GôLT0˜X×0Ñ0ô T0òn1ô<n0˜nÐ.Eô n0ôb?2,˜×*Ñ*ô 2,ôjK	I ?°H×4EÑ4Eô K	Iô\(:˜×,Ñ,ô (:ôV^˜X×CÑCô ^ôBJ˜X×0Ñ0ô JôZ`
 ×!4Ñ!4ô `
ðF‚r?   