L i&jddlmZddlmZddlmZddlmZddlmZddlmZddl m Z ddl m Z d d lm Z d d lm Z d d lmZd d lmZd dlmZd dlmZGddej$ZGddej(ej*ZGddej$ZGddej*Zy))config)fixtures)eq_)is_true) requirements)normalize_sequence)Column)Table)inspect)Integer)MetaData)Sequence)String)testingc eZdZdZdZdZedZdZdZ dZ e jdZ d Zd Zej"d d d ej$j&dZej$j&dZy) SequenceTest sequencesTeachctd|tdtttt ddtdt dtd|tdtttt dtd dtdt dtd |tdtttt d dtdt dd tjjjrktd|tdtttt dtjdtdt dd tjyy)Nseq_pkid tab_id_seqT primary_keydata2 seq_opt_pk) data_typeoptionalseq_no_returning noret_id_seqF)implicit_returningseq_no_returning_schnoret_sch_id_seqschemar$r() r r r rrrrrrequiresschemasenabled test_schemaclsmetadatas l/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sqlalchemy/testing/suite/test_sequence.py define_tableszSequenceTest.define_tablessD   "68L+AB   66": &     "\WtL!  66": &     "68N+CD   66": &$     # # + + && .v7I7I !% vvbz*#())!  ,c|j|jjjt d|j |jj|yN some datar)executetablesrinsertdict_assert_round_tripself connections r1test_insert_roundtripz"SequenceTest.test_insert_roundtrip]sD4;;--446+8NO  2 2J?r3c|j|jjjt d}t |j tjjjfyr5) r8r9rr:r;rinserted_primary_keyrdbdialectdefault_sequence_baser>r?rs r1test_insert_lastrowidz"SequenceTest.test_insert_lastrowidasW    KK   % % ';)?  " "WZZ%7%7%M%M$O r3c|j|jjjjj }t |tjjjyN) scalarr9rcrdefaultrrrCrDrErFs r1test_nextval_directz SequenceTest.test_nextval_directisH   dkk002255== > Awzz!!778r3c|j|jjjt d}t |j dy)Nr6r7))r8r9rr:r;rrBrFs r1test_optional_seqzSequenceTest.test_optional_seqmsA    KK " " ) ) +T{-C  A " "D)r3c|j|jj}t|tj j jdfy)Nr6)r8selectfirstrrrCrDrE)r>tableconnrows r1r<zSequenceTest._assert_round_tripts>ll5<<>*002 C'**$$::KHIr3c|j|jjjt d|j |jj|yr5)r8r9r"r:r;r<r=s r1+test_insert_roundtrip_no_implicit_returningz8SequenceTest.test_insert_roundtrip_no_implicit_returningxsI KK ( ( / / 14[3I   < r?r$r"s r1test_insert_roundtrip_translatez,SequenceTest.test_insert_roundtrip_translate~s! " J "H%7 M!   66": &1   11".0B0B!C2  +224d 6LM  0*=r3ctttdd}|jdtji}|j |}t |tjjjy)Nr&r\r'r]) rrrr_r-rKrrrCrDrE)r>r?seqrGs r1$test_nextval_direct_schema_translatez1SequenceTest.test_nextval_direct_schema_translatesj H/ E  11".0B0B!C2    c " Awzz!!778r3N)__name__ __module__ __qualname__ __requires__ __backend__run_create_tables classmethodr2r@rHrNrsequences_optionalrQr<rYr combinationsr*r+r`rcr3r1rrs!LK;;z@ 9$$*%* JJ W'86JK >L>.  9 9r3rceZdZdZdZdZy)SequenceCompilerTestrTctdttdtt t t dtdt}|jjd}|jjd|jjt t t d}|j|d|d d |j y) Nxyy_seqq)rt) statementrDzINSERT INTO x (y, q) VALUES (z, 5)T) literal_bindsrD) r rr r rrrr:valuesrDstatement_compilervisit_sequenceassert_compile)r>r?rUstmt seq_nextvals r1!test_literal_binds_inline_compilez6SequenceCompilerTest.test_literal_binds_inline_compiles  J W0'9JK  3  ||~$$q$) ((;;J$6$6< .+FHW4EF G   5@ B&&  r3N)rdrerfrgrhr~rmr3r1roros!LK r3roceZdZdZdZdZedZdZdZ dZ e jjdZd Ze jjd Ze jjd Ze jjd Zd Ze jjdZe jjdZy)HasSequenceTestNrTc tttd|tttd|ddtjj j rTtttdtj|tttdtj|td|td td y) N user_id_seqr0 other_seqT)r0 nomaxvalue nominvalue)r(r0 schema_seq user_id_tablerr) rrrrr*r+r,r-r r r r.s r1r2zHasSequenceTest.define_tabless68MH#MN  !       # # + + !&*<*r?r0inspsss r1test_has_sequence_cachez'HasSequenceTest.test_has_sequence_cachesz" D  m ,d3 X(N O D  i (%0 * !!),e 4     !!),d 3 GGJ BGGJ s /ACCcLtt|jddy)NrFrr=s r1test_has_sequence_other_objectz.HasSequenceTest.test_has_sequence_other_object GJ  , ,_ =uEr3cltt|jdtjdy)Nrr'Trr rrr-r=s r1test_has_sequence_schemaz(HasSequenceTest.test_has_sequence_schemas2 J  , ,f&8&8 -    r3cLtt|jddy)N some_sequenceFrr=s r1test_has_sequence_negz%HasSequenceTest.test_has_sequence_negrr3cltt|jdtjdy)Nrr'Frr=s r1test_has_sequence_schemas_negz-HasSequenceTest.test_has_sequence_schemas_negs2 J  , ,(:(: -    r3cltt|jdtjdy)Nother_sequencer'Frr=s r1'test_has_sequence_default_not_in_remotez7HasSequenceTest.test_has_sequence_default_not_in_remote s2 J  , , );); -    r3cLtt|jddy)NrFrr=s r1'test_has_sequence_remote_not_in_defaultz7HasSequenceTest.test_has_sequence_remote_not_in_defaults GJ  , ,\ :EBr3cddh}tt|j}t|j ||k(td|vy)Nrrr)setr get_sequence_namesr intersection)r>r?express r1test_get_sequence_namesz'HasSequenceTest.test_get_sequence_namessIM*'*%88:;  %,- C'(r3cjtt|jtjgy)Nr')rr rr test_schema_2r=s r1*test_get_sequence_names_no_sequence_schemaz:HasSequenceTest.test_get_sequence_names_no_sequence_schema s0 J  2 2++ 3    r3cttt|jtj ddgy)Nr'rr)rsortedr rrr-r=s r1(test_get_sequence_names_sequences_schemaz8HasSequenceTest.test_get_sequence_names_sequences_schema)s=  #66!--7  = )  r3)rdrerf run_deletesrgrhrjr2rrrrr*r+rrrrrrrrrmr3r1rrsK!LK  <C  F   F       CC)      r3rceZdZdZdZdZy)HasSequenceTestEmptyrTcJtt|jgyrJ)rr rr=s r1#test_get_sequence_names_no_sequencez8HasSequenceTestEmpty.test_get_sequence_names_no_sequence9s J  2 2 4  r3N)rdrerfrgrhrrmr3r1rr5s!LK r3rN)rr assertionsrrr provisionrr(r r r r rrrr TablesTestrAssertsCompiledSQLTestBaserorrrmr3r1rs !*H98&&H9V 755x7H7H 6s h))s l 8,, r3