idh#ddlZddlmZddlmZddlmZddlmZddlmZdd lmZdd l m Z d d lm Z d d lm Z d dlm Z d dlmZd dlmZd dlmZd dlm Z d dlmZd dlmZGddejZGddejZdZdS)N)testing)config)fixtures)util)eq_) requirements)Table)CheckConstraint)Column)ForeignKeyConstraint)Index)inspect)Integerschema)String)UniqueConstraintceZdZdZd dZdZdZeje j dZ ejej e j dZ eje j dZeje j d Zeje j d Zeje j d ZdS) TableDDLTestTNc td|jtdtddtdt d|S) N test_tableidTF primary_key autoincrementdata2rr metadatarrr)selfrs V/opt/cloudlinux/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_ddl.py_simple_fixturezTableDDLTest._simple_fixturesK  M 4d% H H H 66":: & &     c td|jtdtddtdt dS)N _test_tablerTFr_datar r!)r#s r$_underscore_fixturez TableDDLTest._underscore_fixture!sC  M 4d% H H H 7F2JJ ' '    r&cztj5}||d||}t|dddddS#1swxYwYdS)N)rz some data) rdbbeginexecuteinsertvaluesselectr first)r#tableconnresults r$_simple_roundtripzTableDDLTest._simple_roundtrip)s Y__   2$ LL../?@@ A A A\\%,,..11F   0 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2sBB00B47B4c|}|tjd||dSNF checkfirst)r%createrr,r6r#r3s r$test_create_tablezTableDDLTest.test_create_table/sG$$&& VY5 111 u%%%%%r&c|tj}|tjd||dS)NrFr9)r%r test_schemar;r,r6r<s r$test_create_table_schemaz%TableDDLTest.test_create_table_schema6sO$$F,>$?? VY5 111 u%%%%%r&c|}|tjd|tjddSr8)r%r;rr,dropr<s r$test_drop_tablezTableDDLTest.test_drop_table>sK$$&& VY5 111 69 /////r&c|}|tjd||dSr8)r*r;rr,r6r<s r$test_underscore_namesz"TableDDLTest.test_underscore_namesEsG((** VY5 111 u%%%%%r&cX|}|tjdd|_tjt j|tttj dddidSNFr9z a commentrtext) r%r;rr,commentr.rSetTableCommentr rget_table_commentr<s r$test_add_table_commentz#TableDDLTest.test_add_table_commentLs$$&& VY5 111#  &077888 FI   0 0 > > [ !     r&c|}|tjdd|_tjt j|tjt j|tttj dddidSrG) r%r;rr,rIr.rrJDropTableCommentr rrKr<s r$test_drop_table_commentz$TableDDLTest.test_drop_table_commentXs$$&& VY5 111#  &077888 &1%88999 GFI   0 0 > >OOOOOr&)N)__name__ __module__ __qualname__ __backend__r%r*r6r create_tablerprovide_metadatar=schemasr@ drop_tablerCrEcomment_reflectionrLrOr&r$rrslK       222  &&&  &&&  000  &&& $   %$ $ PP%$PPPr&rc eZdZdZdZdZdZdZdZdZ e j dd d d e j j fd e j jfd e jdZdS)LongNameBlowoutTestzjtest the creation of a variety of DDL structures and ensure label length limits pass on backends Tc ddddtdDzi}||_td|t dt d d t d gd g}td |t d |d |j}||tj j j r6t|}|d }|dd}||fS|dfS)NfkzGforeign_key_%(table_name)s_%(column_0_N_name)s_%(referred_table_name)s__c3nK|]0}ddtdDV1dS)c3>K|]}tjdVdSabcdefNrandomchoice.0js r$ z3LongNameBlowoutTest.fk...r,GGFM(33GGGGGGr&Njoinrangerhis r$rjz)LongNameBlowoutTest.fk..qWGGGGU2YYGGGGGr& a_things_with_stuffid_long_column_nameTr) test_needs_fkaidz'a_things_with_stuff.id_long_column_nameb_related_things_of_valuername)rnronaming_conventionr rrrrz create_allrrequires&foreign_key_constraint_name_reflectionenabledrget_foreign_keys) r#r" connection conventioncons actual_nameinspfksreflected_names r$r]zLongNameBlowoutTest.fkksM '"2YY   &0" !  ('t D D D     $ G?@    '         i J'''   B J %:&&D''(CDDC VF^N. .$ $r&c ddddtdDzi}||_td|t dt d t d t d }|j}|j}||t|}| d}|d } || fS) Npkz.primary_key_%(table_name)s_%(column_0_N_name)sr^c3nK|]0}ddtdDV1dS)r`c3>K|]}tjdVdSrbrdrgs r$rjz3LongNameBlowoutTest.pk...rkr&Nrmrps r$rjz)LongNameBlowoutTest.pk..rrr&rsrtruTrvid_another_long_namerz) rnror{r rrrrzr|rget_pk_constraint) r#r"rrarrrrrs r$rzLongNameBlowoutTest.pks ""2YY  &0"  !  ('t D D D )7 E E E    }i J'''z""  # #$9 : :FN**r&c ddddtdDzi}||_td|t dt d t d t }t d|jj|jj }|j }| |t|}| d}|d d } || fS) Nixz(index_%(table_name)s_%(column_0_N_name)sr^c3nK|]0}ddtdDV1dS)r`c3>K|]}tjdVdSrbrdrgs r$rjz3LongNameBlowoutTest.ix...rkr&rNrmrps r$rjz)LongNameBlowoutTest.ix..rrr&rsrtruTrvrrrz)rnror{r rrrcrurrzr|r get_indexes) r#r"rrrrrrrrs r$rzLongNameBlowoutTest.ixs ""2YY  &0"  !  ('t D D D )7 3 3    T132AC4LMMi J'''z""   3 4 4AvN**r&c ddddtdDzi}||_tdd}t d|t dt d t dt ||j}||t|}| d}|d d }||fS) Nuqz4unique_constraint_%(table_name)s_%(column_0_N_name)sr^c3nK|]0}ddtdDV1dS)r`c3>K|]}tjdVdSrbrdrgs r$rjz3LongNameBlowoutTest.uq...rkr&rNrmrps r$rjz)LongNameBlowoutTest.uq..rrr&rsrurrtTrvrrz) rnror{rr rrrzr|rget_unique_constraints) r#r"rrrrrrrs r$rzLongNameBlowoutTest.uqs ""2YY  &0" 57MNN !  ('t D D D )7 3 3     i J'''z""  ( ()> ? ?AvN**r&c ddddtdDzi}||_td}t d|t dt d t d t ||j}||t|}| d}|d d }||fS)Nckzcheck_constraint_%(table_name)sr^c3nK|]0}ddtdDV1dS)r`c3>K|]}tjdVdSrbrdrgs r$rjz3LongNameBlowoutTest.ck...rkr&rNrmrps r$rjz)LongNameBlowoutTest.ck..rrr&rszsome_long_column_name > 5rtruTrvsome_long_column_namerrz) rnror{r r rrrzr|rget_check_constraints) r#r"rrrrrrrs r$rzLongNameBlowoutTest.cks 3"2YY &0":;; !  ('t D D D *G 4 4     i J'''z""  ' '(= > >AvN**r&)r])r)rrrtype_)argnamescr|j}t||||\}}t|dksJ|{|dt|}t|t|kr2t|dd|dt|dz dSt||dSdS)Nr)r"getattrlenr )r#rrr"rroverlaps r$test_long_convention_namez-LongNameBlowoutTest.test_long_convention_name s=&:gdE&:&: j' ' # ^;#%%%%  %!!c.&9&9"9:G7||c+....GAbDM>!c'llQ6F2F#GHHHHHG^,,,,, & %r&N)rPrQrR__doc__rSr]rrrrr combinationsr}check_constraint_reflectionas_skipsunique_constraint_reflectionrUrrYr&r$r[r[cs K,%,%,%\+++8+++8+++:+++8W w;DDFFG w<EEGGH  -----r&r[)rr[)rer`rrrr assertionsr r rr r rrrrrrrTestBaserr[__all__rYr&r$rs !!!!!!$$$$$$ KPKPKPKPKP8$KPKPKP\~-~-~-~-~-(+~-~-~-B 2r&