σ ΓΜ4]c@sddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z dd lmZdejfd„ƒYZdejfd„ƒYZdejfd„ƒYZdZdS(i(tconfig(tengines(tfixtures(teq_(t requirements(tColumn(tTablei(tInteger(tliteral(tliteral_column(tselect(tStringt LastrowidTestcBsceZdZeZd Zied6Zed„ƒZ d„Z d„Z d„Z e jd„ƒZRS( teachtimplements_get_lastrowidtautoincrement_inserttimplicit_returningc Csrtd|tdtdtdtƒtdtdƒƒƒtd|tdtdtdtƒtdtdƒƒƒdS( Nt autoinc_pktidt primary_keyttest_needs_autoincrementtdatai2t manual_pkt autoincrement(RRRtTrueR tFalse(tclstmetadata((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt define_tablesscCs;|j|jƒƒjƒ}t|tjjjdfƒdS(Ns some data(texecuteR tfirstRRtdbtdialecttdefault_sequence_base(tselfttabletconntrow((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt_assert_round_trip*scCs?tjj|jjjƒddƒ|j|jjtjƒdS(NRs some data(RRRttablesRtinsertR&(R"((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_autoincrement_on_insert.s"cCsbtjj|jjjƒddƒ}tjjt|jjjj gƒƒ}t |j |gƒdS(NRs some data( RRRR'RR(tscalarR tcRRtinserted_primary_key(R"trtpk((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_last_inserted_id3s 'cCsetjj|jjjƒddƒ}|j}tjjt|jjj j gƒƒ}t ||ƒdS(NRs some data( RRRR'RR(t lastrowidR*R R+RR(R"R-R0R.((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_native_lastrowid_autoinc?s   '(RR(t__name__t __module__t run_deletesRt __backend__t __requires__Rt__engine_options__t classmethodRR&R)R/Rtdbapi_lastrowidR1(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyR s    tInsertBehaviorTestcBs˜eZdZeZed„ƒZd„Zej d„ƒZ ej d„ƒZ ej d„ƒZej d„ƒZej d„ƒZej d„ƒZRS( R cCsγtd|tdtdtdtƒtdtdƒƒƒtd|tdtdtdtƒtdtdƒƒƒtd |tdtdtdtƒtdtdƒƒtd td d ƒtd td tddtƒtdƒƒƒdS(NRRRRRi2RRtincludes_defaultstxtdefaultityt2ttype_i(RRRRR RR R(RR((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyRMs,cCsVtjjr(tjditd6ƒ}n tj}|j|j j j ƒddƒ}dS(NtoptionsRRs some data( Rt returningtenabledRttesting_engineRRRRR'RR((R"tengineR-((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_autoclose_on_insertls    !cCs(tjj|jjjƒddƒ}dS(NRs some data(RRRR'RR((R"R-((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt+test_autoclose_on_insert_implicit_returningzs cCs[tjj|jjjƒƒ}tjj|jjjƒj|jjjj dkƒƒ}dS(N( RRRR'RR(R twhereR+RtNone(R"R-((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_empty_insert„s  c Cs|jj}|jj}tjj|jƒtddddƒtddddƒtddddƒgƒtjj|jƒjd t |j j gƒj |j j j ddgƒƒƒƒ}t|jdgƒtjjt |j j gƒj|j j ƒƒ}t|jƒd d gƒdS( NRiRtdata1itdata2itdata3(R(RL(RM(R'RRRRRR(tdictt from_selectR R+RRHtin_RR,RItorder_bytfetchall(R"t src_tablet dest_tabletresult((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_insert_from_select_autoinc’s       $ 'cCsΓ|jj}|jj}tjj|jƒjdt|j j gƒj |j j j ddgƒƒƒƒ}t |jdgƒtjjt|j j gƒj|j j ƒƒ}t |jƒgƒdS(NRRLRM(R(R'RRRRRR(ROR R+RRHRPRR,RIRQRR(R"RSRTRU((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt'test_insert_from_select_autoinc_no_rows―s    $ 'c Cs |jj}tjj|jƒtddddƒtddddƒtddddƒgƒtjj|jd tƒjd t |j j d |j j gƒj |j j jddgƒƒƒƒttjjt |j j gƒj|j j ƒƒjƒd d dddgƒdS(NRiRRKiRLiRMtinlinei(RR(RK(RL(RL(RM(RM(R'RRRRR(RNRROR R+RRRHRPRRQRR(R"R#((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_insert_from_selectΔs    "" *c Cs|jj}tjj|jƒtddddƒtddddƒtddddƒgƒtjj|jd tƒjdt |j j d |j j gƒj |j j jddgƒƒƒƒttjjt |gƒj|j j |j j ƒƒjƒdddddgƒdS(NRiRRKiRLiRMRXiiii(RR(iRKii(iRLii(iRLii(iRMii(iRMii(R'R;RRRR(RNRROR R+RRRHRPRRQRR(R"R#((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt%test_insert_from_select_with_defaultsΰs&    "" -(R2R3R4RR5R8RRFRRBRGt empty_insertsRJtinsert_from_selectRVRWRYRZ(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyR:Is  t ReturningTestcBsleZdZd ZeZied6Zd„Zed„ƒZ e j d„ƒZ d„Z d„Zd „ZRS( R RBRRcCs;|j|jƒƒjƒ}t|tjjjdfƒdS(Ns some data(RR RRRRR R!(R"R#R$R%((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyR& sc Cs;td|tdtdtdtƒtdtdƒƒƒdS(NRRRRRi2(RRRRR (RR((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyRs cCstj}|jj}|j|jƒj|jjƒddƒ}|j ƒd}tjj t |jjgƒƒ}t ||ƒdS(NRs some datai( RRR'RRR(RBR+RRR*R R(R"RER#R-R.t fetched_pk((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt%test_explicit_returning_pk_autocommits  $!cCs–tj}|jj}|jƒA}|j|jƒj|jj ƒddƒ}|j ƒd}WdQXtjj t |jj gƒƒ}t ||ƒdS(NRs some datai(RRR'RtbeginRR(RBR+RRR*R R(R"RER#R$R-R.R^((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt(test_explicit_returning_pk_no_autocommit$s  $!cCs?tjj|jjjƒddƒ|j|jjtjƒdS(NRs some data(RRRR'RR(R&(R"((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt/test_autoincrement_on_insert_implicit_returning/s"cCsbtjj|jjjƒddƒ}tjjt|jjjj gƒƒ}t |j |gƒdS(NRs some data( RRRR'RR(R*R R+RRR,(R"R-R.((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt(test_last_inserted_id_implicit_returning4s '(RBR(R2R3trun_create_tablesR6RR5R7R&R8RRtfetch_rows_post_commitR_RaRbRc(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyR]s    N(R R:R](tRRRt assertionsRRtschemaRRRRR R R t TablesTestR R:R]t__all__(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyts:Ί: