ó
    øÞ j/  ã                   óh  • S SK r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJ	r	  SSKJ
r
  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr   " S S\R*                  5      r " S S\R.                  \5      r " S S\R*                  5      rSrg)é    Né   )Útestingé   )Úconfig)Úfixtures)Úutil)Úeq_)Úis_false)Úis_true)Úrequirements)ÚTableé   )ÚCheckConstraint)ÚColumn)ÚForeignKeyConstraint)ÚIndex)Úinspect)ÚInteger©Úschema)ÚString)ÚUniqueConstraintc                   óê  • \ rS rSrSrSS jrS rSS jrS r\	R                  \R                  S 5       5       r\	R                  \	R                  \R                  S	 5       5       5       r\	R                   \R                  S
 5       5       r\	R                  \R                  S 5       5       r\	R&                  \R                  S 5       5       r\	R&                  \R                  S 5       5       r\	R,                  \R                  S 5       5       r\	R0                  \R                  S 5       5       r\	R,                  \R                  S 5       5       r\	R0                  \R                  S 5       5       rSrg)ÚTableDDLTesté   TNc                 ór   • [        SU R                  [        S[        SSS9[        S[	        S5      5      US9$ )	NÚ
test_tableÚidTF©Úprimary_keyÚautoincrementÚdataé2   r   ©r   Úmetadatar   r   r   )Úselfr   s     Ú[/var/www/html/gaurav/venv/lib/python3.13/site-packages/sqlalchemy/testing/suite/test_ddl.pyÚ_simple_fixtureÚTableDDLTest._simple_fixture"   s8   € ÜØØ�M‰MÜ�4œ¨dÀ%ÑHÜ�6œ6 "›:Ó&Øñ
ð 	
ó    c                 ót   • [        SU R                  [        S[        SSS9[        S[	        S5      5      5      $ )NÚ_test_tabler   TFr   Ú_datar#   r$   )r&   s    r'   Ú_underscore_fixtureÚ TableDDLTest._underscore_fixture+   s5   € ÜØØ�M‰MÜ�4œ¨dÀ%ÑHÜ�7œF 2›JÓ'ó	
ð 	
r*   c                 óf   • U R                  US9n[        SUR                  R                  5      nX#4$ )Nr   Ú
test_index)r(   r   Úcr"   )r&   r   ÚtableÚidxs       r'   Ú_table_index_fixtureÚ!TableDDLTest._table_index_fixture3   s1   € Ø×$Ñ$¨FÐ$Ð3ˆÜ�L %§'¡'§,¡,Ó/ˆØˆzÐr*   c                 óB  • [         R                  R                  5        nUR                  UR	                  5       R                  S5      5        UR                  UR                  5       5      n[        UR                  5       S5        S S S 5        g ! , (       d  f       g = f)N)r   z	some data)	r   ÚdbÚbeginÚexecuteÚinsertÚvaluesÚselectr	   Úfirst)r&   r3   ÚconnÚresults       r'   Ú_simple_roundtripÚTableDDLTest._simple_roundtrip8   sa   € Ü�Y‰Y�_‰_Ô $Ø�L‰L˜Ÿ™›×.Ñ.Ð/?Ó@ÔAØ—\‘\ %§,¡,£.Ó1ˆFÜ�—‘“Ð 0Ô1÷ ×Öús   ŸA(BÂ
Bc                 ó‚   • U R                  5       nUR                  [        R                  SS9  U R	                  U5        g ©NF©Ú
checkfirst)r(   Úcreater   r8   rA   ©r&   r3   s     r'   Útest_create_tableÚTableDDLTest.test_create_table>   s4   € ð ×$Ñ$Ó&ˆØ�‰”V—Y‘Y¨5ˆÑ1Ø×Ñ˜uÕ%r*   c                 óœ   • U R                  [        R                  S9nUR                  [        R                  SS9  U R                  U5        g )Nr   FrE   )r(   r   Útest_schemarG   r8   rA   rH   s     r'   Útest_create_table_schemaÚ%TableDDLTest.test_create_table_schemaE   s?   € ð ×$Ñ$¬F×,>Ñ,>Ð$Ð?ˆØ�‰”V—Y‘Y¨5ˆÑ1Ø×Ñ˜uÕ%r*   c                 óœ   • U R                  5       nUR                  [        R                  SS9  UR	                  [        R                  SS9  g rD   )r(   rG   r   r8   ÚdroprH   s     r'   Útest_drop_tableÚTableDDLTest.test_drop_tableM   s:   € ð ×$Ñ$Ó&ˆØ�‰”V—Y‘Y¨5ˆÑ1Ø�
‰
”6—9‘9¨ˆ
Ò/r*   c                 ó‚   • U R                  5       nUR                  [        R                  SS9  U R	                  U5        g rD   )r.   rG   r   r8   rA   rH   s     r'   Útest_underscore_namesÚ"TableDDLTest.test_underscore_namesT   s4   € ð ×(Ñ(Ó*ˆØ�‰”V—Y‘Y¨5ˆÑ1Ø×Ñ˜uÕ%r*   c                 óè   • U R                  5       nUR                  USS9  SUl        UR                  [        R
                  " U5      5        [        [        U5      R                  S5      SS05        g ©NFrE   z	a commentr   Útext)	r(   rG   Úcommentr:   r   ÚSetTableCommentr	   r   Úget_table_comment©r&   Ú
connectionr3   s      r'   Útest_add_table_commentÚ#TableDDLTest.test_add_table_comment[   se   € ð ×$Ñ$Ó&ˆØ�‰�Z¨EˆÑ2Ø#ˆŒØ×Ñœ6×1Ò1°%Ó8Ô9ÜÜ�JÓ×1Ñ1°,Ó?Ø�[Ð!õ	
r*   c                 ó2  • U R                  5       nUR                  USS9  SUl        UR                  [        R
                  " U5      5        UR                  [        R                  " U5      5        [        [        U5      R                  S5      SS 05        g rW   )
r(   rG   rY   r:   r   rZ   ÚDropTableCommentr	   r   r[   r\   s      r'   Útest_drop_table_commentÚ$TableDDLTest.test_drop_table_commentg   s|   € ð ×$Ñ$Ó&ˆØ�‰�Z¨EˆÑ2Ø#ˆŒØ×Ñœ6×1Ò1°%Ó8Ô9Ø×Ñœ6×2Ò2°5Ó9Ô:ÜÜ�JÓ×1Ñ1°,Ó?À&È$Àõ	
r*   c                 óú   • U R                  5       nUR                  [        R                  " USS95        [	        [        U5      R                  S5      5        UR                  [        R                  " USS95        g )NT©Úif_not_existsr   )r(   r:   r   ÚCreateTabler   r   Ú	has_tabler\   s      r'   Útest_create_table_if_not_existsÚ,TableDDLTest.test_create_table_if_not_existss   s`   € ð ×$Ñ$Ó&ˆà×Ñœ6×-Ò-¨eÀ4ÑHÔIä”˜
Ó#×-Ñ-¨lÓ;Ô<Ø×Ñœ6×-Ò-¨eÀ4ÑHÕIr*   c                 ó>  • U R                  5       u  p#UR                  [        R                  " USS95        [	        [        U5      R                  S5      5        [        S[        U5      R                  S5       Vs/ sH  nUS   PM
     sn;   5        UR                  [        R                  " USS95        [	        S[        U5      R                  S5       Vs/ sH  nUS   PM
     sn;   5        UR                  [        R                  " USS95        g s  snf s  snf )NTre   r   r1   Úname)
r5   r:   r   rg   r   r   rh   r
   Úget_indexesÚCreateIndex©r&   r]   r3   r4   Úixs        r'   Útest_create_index_if_not_existsÚ,TableDDLTest.test_create_index_if_not_exists}   s  € ð ×.Ñ.Ó0‰
ˆà×Ñœ6×-Ò-¨eÀ4ÑHÔIÜ”˜
Ó#×-Ñ-¨lÓ;Ô<ÜØô " *Ó-×9Ñ9¸,ÔGóáG�Bð �6”
ÙGññô	
ð 	×Ñœ6×-Ò-¨cÀÑFÔGäØô " *Ó-×9Ñ9¸,ÔGóáG�Bð �6”
ÙGññô	
ð 	×Ñœ6×-Ò-¨cÀÑFÕGùò!ùòs   Á<D
ÃD
c                 ób  • U R                  5       nUR                  U5        [        [        U5      R	                  S5      5        UR                  [        R                  " USS95        [        [        U5      R	                  S5      5        UR                  [        R                  " USS95        g )Nr   T©Ú	if_exists)	r(   rG   r   r   rh   r:   r   Ú	DropTabler
   r\   s      r'   Útest_drop_table_if_existsÚ&TableDDLTest.test_drop_table_if_exists˜   s„   € ð ×$Ñ$Ó&ˆà�‰�ZÔ ä”˜
Ó#×-Ñ-¨lÓ;Ô<à×Ñœ6×+Ò+¨E¸TÑBÔCä”˜Ó$×.Ñ.¨|Ó<Ô=à×Ñœ6×+Ò+¨E¸TÑBÕCr*   c                 óÒ  • U R                  5       u  p#UR                  U5        [        S[        U5      R	                  S5       Vs/ sH  nUS   PM
     sn;   5        UR                  [        R                  " USS95        [        S[        U5      R	                  S5       Vs/ sH  nUS   PM
     sn;   5        UR                  [        R                  " USS95        g s  snf s  snf )Nr1   r   rl   Trt   )	r5   rG   r   r   rm   r:   r   Ú	DropIndexr
   ro   s        r'   Útest_drop_index_if_existsÚ&TableDDLTest.test_drop_index_if_exists§   sæ   € ð ×.Ñ.Ó0‰
ˆà�‰�ZÔ äØô " *Ó-×9Ñ9¸,ÔGóáG�Bð �6”
ÙGññô	
ð 	×Ñœ6×+Ò+¨C¸4Ñ@ÔAäØô " *Ó-×9Ñ9¸,ÔGóáG�Bð �6”
ÙGññô	
ð 	×Ñœ6×+Ò+¨C¸4Ñ@ÕAùò!ùòs   ÁC
Â#C$
© )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__sparse_driver_backend__r(   r.   r5   rA   r   Úcreate_tabler   Úprovide_metadatarI   ÚschemasrM   Ú
drop_tablerQ   rT   Úcomment_reflectionr^   rb   Útable_ddl_if_existsri   Úindex_ddl_if_existsrq   rw   r{   Ú__static_attributes__r}   r*   r'   r   r      sÂ  † Ø $Ðô
ò
ôò
2ð ×ÑØ	×Ññ&ó ó ð&ð
 ×ÑØ×ÑØ	×Ññ&ó ó ó ð&ð
 ×ÑØ	×Ññ0ó ó ð0ð
 ×ÑØ	×Ññ&ó ó ð&ð
 ×$Ñ$Ø	×Ññ
ó ó %ð
ð ×$Ñ$Ø	×Ññ
ó ó %ð
ð ×%Ñ%Ø	×ÑñJó ó &ðJð ×%Ñ%Ø	×ÑñHó ó &ðHð2 ×%Ñ%Ø	×ÑñDó ó &ðDð ×%Ñ%Ø	×ÑñBó ó &óBr*   r   c                   ó   • \ rS rSrSrg)ÚFutureTableDDLTestéÃ   r}   N)r~   r   r€   r�   rŠ   r}   r*   r'   rŒ   rŒ   Ã   s   † Úr*   rŒ   c            	       ó   • \ rS rSrSrSrS rS rS rS r	S r
\R                  " S	S
SS\R                  R                  R                  5       4S\R                  R                   R                  5       4SS9S 5       rSrg)ÚLongNameBlowoutTestéÇ   zbtest the creation of a variety of DDL structures and ensure
label length limits pass on backends

Tc           
      ó¶  • SSSR                  S [        S5       5       5      -   0nX1l        [        SU[	        S[
        SS	9SS
9  [        S/S/5      n[        SU[	        S5      USS
9  UR                  nUR                  U5        [        R                  R                  R                  (       a'  [        U5      nUR                  S5      nUS   S   nXX4$ US 4$ )NÚfkzGforeign_key_%(table_name)s_%(column_0_N_name)s_%(referred_table_name)s_Ú_c              3   ób   #   • U H&  nS R                  S [        S5       5       5      v •  M(     g7f)Ú c              3   óL   #   • U H  n[         R                  " S 5      v •  M     g7f©ÚabcdefN©ÚrandomÚchoice©Ú.0Újs     r'   Ú	<genexpr>Ú3LongNameBlowoutTest.fk.<locals>.<genexpr>.<genexpr>Ö   ó   é € ÐG¹Y¸œFŸMšM¨(×3Ð3ºYùó   ‚"$é   N©ÚjoinÚrange©r�   Úis     r'   rŸ   Ú)LongNameBlowoutTest.fk.<locals>.<genexpr>Õ   ó-   é € ð á&˜ð —G‘GÑG¼UÀ2¼YÓG×GÐGÚ&ùó   ‚-/é
   Úa_things_with_stuffÚid_long_column_nameT©r    )Útest_needs_fkÚaidz'a_things_with_stuff.id_long_column_nameÚb_related_things_of_valuer   rl   )r¥   r¦   Únaming_conventionr   r   r   r   rl   Ú
create_allr   ÚrequiresÚ&foreign_key_constraint_name_reflectionÚenabledr   Úget_foreign_keys)	r&   r%   r]   Ú
conventionÚconsÚactual_nameÚinspÚfksÚreflected_names	            r'   r’   ÚLongNameBlowoutTest.fkÏ   sÿ   € àð 'ð —‘ñ ä" 2œYóó ñ	ð

ˆ
ð &0Ô"äØ!ØÜÐ(¬'¸tÑDØò		
ô $ØˆGÐ?Ð@ó
ˆô 	Ø'ØÜØóð Øò	
ð —i‘iˆà×Ñ˜JÔ'ä×Ñ×BÑB×J×JÜ˜:Ó&ˆDØ×'Ñ'Ð(CÓDˆCØ  ™V F™^ˆNàÐ.Ð.à Ð$Ð$r*   c                 óD  • SSSR                  S [        S5       5       5      -   0nX1l        [        SU[	        S[
        SS	9[	        S
[
        SS	95      nUR                  nUR                  nUR                  U5        [        U5      nUR                  S5      nUS   n	Xi4$ )NÚpkz.primary_key_%(table_name)s_%(column_0_N_name)sr“   c              3   ób   #   • U H&  nS R                  S [        S5       5       5      v •  M(     g7f)r•   c              3   óL   #   • U H  n[         R                  " S 5      v •  M     g7fr—   r™   rœ   s     r'   rŸ   Ú3LongNameBlowoutTest.pk.<locals>.<genexpr>.<genexpr>  r¡   r¢   é   Nr¤   r§   s     r'   rŸ   Ú)LongNameBlowoutTest.pk.<locals>.<genexpr>  rª   r«   r¬   r­   r®   Tr¯   Úid_another_long_namerl   )r¥   r¦   r³   r   r   r   r    rl   r´   r   Úget_pk_constraint)
r&   r%   r]   r¹   Úarº   r»   r¼   rÁ   r¾   s
             r'   rÁ   ÚLongNameBlowoutTest.pký   s¶   € àð "ð —‘ñ ä" 2œYóó ñð	
ˆ
ð &0Ô"äØ!ØÜÐ(¬'¸tÑDÜÐ)¬7ÀÑEó	
ˆð �}‰}ˆØ—i‘iˆà×Ñ˜JÔ'Ü�zÓ"ˆØ×#Ñ#Ð$9Ó:ˆØ˜F™ˆØÐ*Ð*r*   c           
      óž  • SSSR                  S [        S5       5       5      -   0nX1l        [        SU[	        S[
        SS	9[	        S
[
        5      5      n[        S UR                  R                  UR                  R                  5      nUR                  nUR                  U5        [        U5      nUR                  S5      nUS   S   n	Xi4$ )Nrp   z(index_%(table_name)s_%(column_0_N_name)sr“   c              3   ób   #   • U H&  nS R                  S [        S5       5       5      v •  M(     g7f)r•   c              3   óL   #   • U H  n[         R                  " S 5      v •  M     g7fr—   r™   rœ   s     r'   rŸ   Ú3LongNameBlowoutTest.ix.<locals>.<genexpr>.<genexpr>  r¡   r¢   rÅ   Nr¤   r§   s     r'   rŸ   Ú)LongNameBlowoutTest.ix.<locals>.<genexpr>  rª   r«   r¬   r­   r®   Tr¯   rÇ   r   rl   )r¥   r¦   r³   r   r   r   r   r2   r®   rÇ   rl   r´   r   rm   )
r&   r%   r]   r¹   rÉ   rº   r»   r¼   rp   r¾   s
             r'   rp   ÚLongNameBlowoutTest.ix  sÑ   € àð "ð —‘ñ ä" 2œYóó ñð	
ˆ
ð &0Ô"äØ!ØÜÐ(¬'¸tÑDÜÐ)¬7Ó3ó	
ˆô �T˜1Ÿ3™3×2Ñ2°A·C±C×4LÑ4LÓMˆØ—i‘iˆà×Ñ˜JÔ'Ü�zÓ"ˆØ×ÑÐ3Ó4ˆØ˜A™˜v™ˆØÐ*Ð*r*   c           
      óN  • SSSR                  S [        S5       5       5      -   0nX1l        [        SS5      n[	        SU[        S[        S	S
9[        S[        5      U5        UR                  nUR                  U5        [        U5      nUR                  S5      nUS   S   nXX4$ )NÚuqz4unique_constraint_%(table_name)s_%(column_0_N_name)sr“   c              3   ób   #   • U H&  nS R                  S [        S5       5       5      v •  M(     g7f)r•   c              3   óL   #   • U H  n[         R                  " S 5      v •  M     g7fr—   r™   rœ   s     r'   rŸ   Ú3LongNameBlowoutTest.uq.<locals>.<genexpr>.<genexpr>;  r¡   r¢   rÅ   Nr¤   r§   s     r'   rŸ   Ú)LongNameBlowoutTest.uq.<locals>.<genexpr>:  rª   r«   r¬   r®   rÇ   r­   Tr¯   r   rl   )r¥   r¦   r³   r   r   r   r   rl   r´   r   Úget_unique_constraints)	r&   r%   r]   r¹   rº   r»   r¼   rÒ   r¾   s	            r'   rÒ   ÚLongNameBlowoutTest.uq5  s¾   € àð "ð —‘ñ ä" 2œYóó ñð	
ˆ
ð &0Ô"äÐ 5Ð7MÓNˆÜØ!ØÜÐ(¬'¸tÑDÜÐ)¬7Ó3Øô	
ð —i‘iˆà×Ñ˜JÔ'Ü�zÓ"ˆØ×(Ñ(Ð)>Ó?ˆØ˜A™˜v™ˆØÐ*Ð*r*   c           
      óL  • SSSR                  S [        S5       5       5      -   0nX1l        [        S5      n[	        SU[        S[        S	S
9[        S[        5      U5        UR                  nUR                  U5        [        U5      nUR                  S5      nUS   S   nXX4$ )NÚckzcheck_constraint_%(table_name)sr“   c              3   ób   #   • U H&  nS R                  S [        S5       5       5      v •  M(     g7f)r•   c              3   óL   #   • U H  n[         R                  " S 5      v •  M     g7fr—   r™   rœ   s     r'   rŸ   Ú3LongNameBlowoutTest.ck.<locals>.<genexpr>.<genexpr>W  r¡   r¢   rÅ   Nr¤   r§   s     r'   rŸ   Ú)LongNameBlowoutTest.ck.<locals>.<genexpr>V  rª   r«   r¬   zsome_long_column_name > 5r­   r®   Tr¯   Úsome_long_column_namer   rl   )r¥   r¦   r³   r   r   r   r   rl   r´   r   Úget_check_constraints)	r&   r%   r]   r¹   rº   r»   r¼   rÚ   r¾   s	            r'   rÚ   ÚLongNameBlowoutTest.ckR  s·   € àÐ3à—‘ñ ä" 2œYóó ñð
ˆ
ð &0Ô"äÐ:Ó;ˆÜØ!ØÜÐ(¬'¸tÑDÜÐ*¬GÓ4Øô	
ð —i‘iˆà×Ñ˜JÔ'Ü�zÓ"ˆØ×'Ñ'Ð(=Ó>ˆØ˜A™˜v™ˆØÐ*Ð*r*   )r’   )rÁ   )rp   rÚ   rÒ   Útype_)Úargnamesc                 óô   • [        X5      " X#5      u  pE[        U5      S:”  d   eUbQ  US[        U5       n[        U5      [        U5      :  a  [        USS US[        U5      S-
   5        g [        Xe5        g g )Néÿ   r   éûÿÿÿé   )ÚgetattrÚlenr	   )r&   râ   r%   r]   r»   r¾   Úoverlaps          r'   Útest_long_convention_nameÚ-LongNameBlowoutTest.test_long_convention_namen  sƒ   € ô '.¨dÔ&:Øó'
Ñ#ˆô �;Ó #Ó%Ð%Ð%àÑ%Ø! !¤c¨.Ó&9Ð:ˆGÜ�7‹|œc +Ó.Ó.Ü�G˜A˜b�M >°!´c¸'³lÀQÑ6FÐ#GÕHä�GÕ,ð &r*   r}   N)r~   r   r€   r�   Ú__doc__r‚   r’   rÁ   rp   rÒ   rÚ   r   Úcombinationsrµ   Úcheck_constraint_reflectionÚas_skipsÚunique_constraint_reflectionrë   rŠ   r}   r*   r'   r�   r�   Ç   sŽ   † ñð
 !%Ðò,%ò\+ò8+ò8+ò:+ð8 ×ÒØØØØ	ˆw×Ñ×;Ñ;×DÑDÓFÐGØ	ˆw×Ñ×<Ñ<×EÑEÓGÐHØññ-óó-r*   r�   )r   rŒ   r�   )rš   r•   r   r   r   r   Ú
assertionsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   ÚTestBaser   ÚFutureEngineMixinrŒ   r�   Ú__all__r}   r*   r'   Ú<module>rö      sˆ   ðó å Ý Ý Ý Ý Ý !Ý  Ý !Ý Ý Ý Ý $Ý Ý Ý Ý Ý Ý  ôaB�8×$Ñ$ô aBôH	˜×3Ñ3°\ô 	ô{-˜(×+Ñ+ô {-ð| H�r*   