σ ΓΜ4]c@sddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lmZdd lm Z dd lm Z dd lm Z dejfd„ƒYZde jejfd„ƒYZdejfd„ƒYZdS(i(tconfig(tfixtures(teq_(t requirements(tColumn(tTablei(tInteger(tMetaData(tschema(tSequence(tString(ttestingt SequenceTestcBs_eZdZeZdZed„ƒZd„Zd„Z d„Z e j d„ƒZ d„ZRS( t sequencesteachc Cs~td|tdttdƒdtƒtdtdƒƒƒtd|tdttddtƒdtƒtdtdƒƒƒdS( Ntseq_pktidt tab_id_seqt primary_keytdatai2t seq_opt_pktoptional(RRRR tTrueR (tclstmetadata((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyt define_tablesscCs?tjj|jjjƒddƒ|j|jjtjƒdS(NRs some data(RtdbtexecutettablesRtinsertt_assert_round_trip(tself((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_insert_roundtrip*s"cCs;tjj|jjjƒddƒ}t|jdgƒdS(NRs some datai(RRRRRRRtinserted_primary_key(Rtr((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_insert_lastrowid.s$cCs2tjj|jjjjjƒ}t|dƒdS(Ni( RRRRRtcRtdefaultR(RR"((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_nextval_direct2s!cCs;tjj|jjjƒddƒ}t|jdgƒdS(NRs some datai(RRRRRRRR!(RR"((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_optional_seq6s cCs,|j|jƒƒjƒ}t|dƒdS(Nis some data(is some data(RtselecttfirstR(Rttabletconntrow((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyR=s(R (t__name__t __module__t __requires__Rt __backend__trun_create_tablest classmethodRR R#R&Rtsequences_optionalR'R(((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyR s   tSequenceCompilerTestcBseZdZeZd„ZRS(R cCs«tdtƒtdttdƒƒtdtƒƒ}|jƒjddƒ}tjj j dddtjj ƒj tdƒƒ}|j |d|fd tdtjj ƒdS( Ntxtyty_seqtqit statementtdialects#INSERT INTO x (y, q) VALUES (%s, 5)t literal_binds(RRRRR RtvaluesR RR:tstatement_compilertNonetvisit_sequencetassert_compileR(RR*tstmtt seq_nextval((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyt!test_literal_binds_inline_compileFs (R (R-R.R/RR0RC(((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyR4BstHasSequenceTestcBszeZdZeZd„Zejjd„ƒZ d„Z ejjd„ƒZ ejjd„ƒZ ejjd„ƒZ RS(R cCsltdƒ}tjjtj|ƒƒz&ttjjjtjdƒt ƒWdtjjtj |ƒƒXdS(Nt user_id_seq( R R RRRtCreateSequenceRR:t has_sequenceRt DropSequence(Rts1((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_has_sequence_s  cCs~tddtjƒ}tjjtj|ƒƒz/ttjj j tjddtjƒt ƒWdtjjtj |ƒƒXdS(NRER( R Rt test_schemaR RRRRFRR:RGRRH(RRI((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_has_sequence_schemajs  cCs&ttjjjtjdƒtƒdS(NRE(RR RR:RGtFalse(R((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_has_sequence_negxscCs/ttjjjtjddtjƒtƒdS(NRER(RR RR:RGRRKRM(R((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyttest_has_sequence_schemas_neg{s cCsutdƒ}tjjtj|ƒƒz/ttjjjtjddt j ƒt ƒWdtjjtj |ƒƒXdS(NRER( R R RRRRFRR:RGRRKRMRH(RRI((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyt'test_has_sequence_default_not_in_remote„s   cCsutddtjƒ}tjjtj|ƒƒz&ttjj j tjdƒt ƒWdtjjtj |ƒƒXdS(NRER( R RRKR RRRRFRR:RGRMRH(RRI((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyt'test_has_sequence_remote_not_in_default’s (R (R-R.R/RR0RJR trequirestschemasRLRNRORPRQ(((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyRD[s   N(tRRt assertionsRRRRRRRR R R t TablesTestR tAssertsCompiledSQLtTestBaseR4RD(((sY/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_sequence.pyts3