zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
U
¸ý°d'ã@søddlmZddlmZddlmZddlmZddlmZddlmZddl    m
Z
ddl    m Z d    d
lm Z d    d lm Z d    d lmZd    d lmZd    dlmZd    dlmZGdd„dejƒZGdd„dejejƒZGdd„dejƒZGdd„dejƒZdS)é)Úconfig)Úfixtures)Úeq_)Úis_true)Ú requirements)Únormalize_sequence)ÚColumn)ÚTableé)Úinspect)ÚInteger)ÚMetaData)ÚSequence)ÚString)Útestingc@sŠeZdZdZdZdZedd„ƒZdd„Zdd    „Z    d
d „Z
e j d d „ƒZ dd„Zdd„Zejddddejjdd„ƒƒZejjdd„ƒZdS)Ú SequenceTest©Ú    sequencesTZeachc CsÞtd|tdttttdƒƒddtdtdƒƒƒtd|tdttttdtdd    ƒddtdtdƒƒƒtd
|tdttttd ƒƒddtdtdƒƒd d tjj    j
rÚtd|tdttttdtj dƒddtdtdƒƒd tj ddS)NÚseq_pkÚidZ
tab_id_seqT©Z primary_keyÚdataé2Ú
seq_opt_pk)Z    data_typeÚoptionalÚseq_no_returningZ noret_id_seqF)Úimplicit_returningÚseq_no_returning_schÚnoret_sch_id_seq©Úschema©rr ) r    rr rrrrrÚrequiresÚschemasÚenabledÚ test_schema©ÚclsÚmetadata©r)ú]d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\sqlalchemy/testing/suite/test_sequence.pyÚ define_tablessr ü ÷  þù     ô ü ö
ÿþ÷ ðzSequenceTest.define_tablescCs.| |jj ¡tdd¡| |jj|¡dS©Nú    some data©r)ÚexecuteÚtablesrÚinsertÚdictÚ_assert_round_trip©ÚselfÚ
connectionr)r)r*Útest_insert_roundtripWsz"SequenceTest.test_insert_roundtripcCs2| |jj ¡tdd¡}t|jtjj    j
fƒdSr,) r/r0rr1r2rÚinserted_primary_keyrÚdbÚdialectÚdefault_sequence_base©r5r6Úrr)r)r*Útest_insert_lastrowid[s
ÿ
ÿz"SequenceTest.test_insert_lastrowidcCs(| |jjjjj¡}t|tjj    j
ƒdS©N) Úscalarr0rÚcrÚdefaultrrr9r:r;r<r)r)r*Útest_nextval_directcsz SequenceTest.test_nextval_directcCs*| |jj ¡tdd¡}t|jdƒdS)Nr-r.)é)r/r0rr1r2rr8r<r)r)r*Útest_optional_seqgs
 
ÿzSequenceTest.test_optional_seqcCs*| | ¡¡ ¡}t|tjjjdfƒdS)Nr-)r/ÚselectÚfirstrrr9r:r;)r5ÚtableÚconnÚrowr)r)r*r3nszSequenceTest._assert_round_tripcCs.| |jj ¡tdd¡| |jj|¡dSr,)r/r0rr1r2r3r4r)r)r*Ú+test_insert_roundtrip_no_implicit_returningrs
 
ÿz8SequenceTest.test_insert_roundtrip_no_implicit_returning)T)Fr)Úargnamesc Csrtdtƒtdttttdddƒddtdtd    ƒƒ|dd
}|jdtj    id }| 
|  ¡t d d ¡|  ||¡dS)NrrrÚ
alt_schemarTrrrr!©Zschema_translate_mapr-r.)r    r rr rrrrÚexecution_optionsr%r/r1r2r3)r5r6rrr)r)r*Útest_insert_roundtrip_translatexs*
ÿú óÿz,SequenceTest.test_insert_roundtrip_translatecCsBtttdddƒ}|jdtjid}| |¡}t|tjj    j
ƒdS)NrrMrrN) rrrrOr%r@rrr9r:r;)r5r6Úseqr=r)r)r*Ú$test_nextval_direct_schema_translate’s
ÿÿ
z1SequenceTest.test_nextval_direct_schema_translateN)Ú__name__Ú
__module__Ú __qualname__Ú __requires__Ú __backend__Zrun_create_tablesÚ classmethodr+r7r>rCrZsequences_optionalrEr3rKrÚ combinationsr"r#rPrRr)r)r)r*rs"
=
 rc@seZdZdZdZdd„ZdS)ÚSequenceCompilerTestrTc
Csxtdtƒtdttttdƒƒƒtdtƒƒ}| ¡jdd}|j    j
d|j    d  tttdƒƒ¡}|j |d|fd    |j    d
dS) NÚxÚyZy_seqÚqé)r])Z    statementr:z#INSERT INTO x (y, q) VALUES (%s, 5)T)Z literal_bindsr:) r    r rr rrrr1Úvaluesr:Zstatement_compilerZvisit_sequenceZassert_compile)r5r6rHZstmtZ seq_nextvalr)r)r*Ú!test_literal_binds_inline_compile£s. ÿú    ÿ þüz6SequenceCompilerTest.test_literal_binds_inline_compileN)rSrTrUrVrWr`r)r)r)r*rZŸsrZc@s¬eZdZdZdZdZedd„ƒZdd„Zdd    „Z    d
d „Z
e j j d d „ƒZdd„Ze j j dd„ƒZe j j dd„ƒZe j j dd„ƒZdd„Ze j j dd„ƒZe j j dd„ƒZdS)ÚHasSequenceTestNrTcCsxtttd|dƒtttd|dddƒtjjjr^tttdtj|dƒtttdtj|dƒtd|t    d    t
dd
ƒdS) NÚ user_id_seq©r(Ú    other_seqT)r(Z
nomaxvalueZ
nominvalue)r r(Ú
schema_seqÚ user_id_tablerr) rrrrr"r#r$r%r    rr r&r)r)r*r+Às@üþ    
ÿþÿþ ýzHasSequenceTest.define_tablescCstt|ƒ d¡dƒdS)NrbT©rr Ú has_sequencer4r)r)r*Útest_has_sequenceßsz!HasSequenceTest.test_has_sequencec    Cs‚t|ƒ}t| d¡dƒtttd|dƒ}t| d¡dƒ| |¡z,t| d¡dƒ| ¡t| d¡dƒW5| |¡XdS)NrbTZnew_seqrcF)    r rrhrrrÚcreateZdropÚ clear_cache)r5r6r(ZinspÚssr)r)r*Útest_has_sequence_cacheâs
z'HasSequenceTest.test_has_sequence_cachecCstt|ƒ d¡dƒdS)NrfFrgr4r)r)r*Útest_has_sequence_other_objectïsz.HasSequenceTest.test_has_sequence_other_objectcCstt|ƒjdtjddƒdS)NrbrT©rr rhrr%r4r)r)r*Útest_has_sequence_schemaòsÿüz(HasSequenceTest.test_has_sequence_schemacCstt|ƒ d¡dƒdS)NÚ some_sequenceFrgr4r)r)r*Útest_has_sequence_negûsz%HasSequenceTest.test_has_sequence_negcCstt|ƒjdtjddƒdS)NrqrFror4r)r)r*Útest_has_sequence_schemas_negþsÿüz-HasSequenceTest.test_has_sequence_schemas_negcCstt|ƒjdtjddƒdS)NZother_sequencerFror4r)r)r*Ú'test_has_sequence_default_not_in_remotesÿüz7HasSequenceTest.test_has_sequence_default_not_in_remotecCstt|ƒ d¡dƒdS)NreFrgr4r)r)r*Ú'test_has_sequence_remote_not_in_defaultsz7HasSequenceTest.test_has_sequence_remote_not_in_defaultcCs:ddh}tt|ƒ ¡ƒ}t| |¡|kƒtd|kƒdS)Nrdrbre)Úsetr Úget_sequence_namesrÚ intersection)r5r6ÚexpÚresr)r)r*Útest_get_sequence_namessz'HasSequenceTest.test_get_sequence_namescCstt|ƒjtjdgƒdS)Nr)rr rwrZ test_schema_2r4r)r)r*Ú*test_get_sequence_names_no_sequence_schemas ÿüz:HasSequenceTest.test_get_sequence_names_no_sequence_schemacCs$ttt|ƒjtjdƒddgƒdS)Nrrerb)rÚsortedr rwrr%r4r)r)r*Ú(test_get_sequence_names_sequences_schema$sÿÿúz8HasSequenceTest.test_get_sequence_names_sequences_schema)rSrTrUZ run_deletesrVrWrXr+rirmrnrr"r#rprrrsrtrur{r|r~r)r)r)r*raºs,
 
 
 
 
 
rac@seZdZdZdZdd„ZdS)ÚHasSequenceTestEmptyrTcCstt|ƒ ¡gƒdSr?)rr rwr4r)r)r*Ú#test_get_sequence_names_no_sequence4s
þz8HasSequenceTestEmpty.test_get_sequence_names_no_sequenceN)rSrTrUrVrWr€r)r)r)r*r0srN)ÚrrZ
assertionsrrrZ    provisionrr rr    r r r rrrZ
TablesTestrZAssertsCompiledSQLZTestBaserZrarr)r)r)r*Ú<module>s$               v