ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ 4]c@sddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z dd lmZdejfdYZdejfdYZdejfdYZdZdS(i(tconfig(tengines(tfixtures(teq_(t requirements(tColumn(tTablei(tInteger(tliteral(tliteral_column(tselect(tStringt LastrowidTestcBsceZdZeZd Zied6ZedZ dZ dZ dZ e jdZRS( teachtimplements_get_lastrowidtautoincrement_inserttimplicit_returningc Csrtd|tdtdtdttdtdtd|tdtdtdttdtddS( 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|jj}t|tjjjdfdS(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|jjjdd|j|jjtjdS(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|jjjdd}tjjt|jjjj g}t |j |gdS(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|jjjdd}|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    tInsertBehaviorTestcBseZdZeZedZdZej dZ ej dZ ej dZej dZej dZej dZRS( R cCstd|tdtdtdttdtdtd|tdtdtdttdtdtd |tdtdtdttdtdtd td d td td tddttddS(NRRRRRi2RRtincludes_defaultstxtdefaultityt2ttype_i(RRRRR RR R(RR((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyRMs,cCstjjr(tjditd6}n tj}|j|j j j dd}|j sat |j sqt |jst |j st dS(NtoptionsRRs some data(Rt returningtenabledRttesting_engineRRRRR'RR(t _soft_closedtAssertionErrortclosedt is_insertt returns_rows(R"tengineR-((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_autoclose_on_insertls   !cCsftjj|jjjdd}|js3t|j sCt|j sRt|j sbtdS(NRs some data( RRRR'RR(RERFRGRHRI(R"R-((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt+test_autoclose_on_insert_implicit_returningzs  cCstjj|jjj}|js-t|j s=ttjj|jjj j |jjj j dk}t|jstdS(N(RRRR'RR(RERFRGR twhereR+RtNonetlentfetchall(R"R-((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_empty_inserts c Cs|jj}|jj}tjj|jtddddtddddtddddgtjj|jjd t |j j gj |j j j ddg}t|jdgtjjt |j j gj|j j }t|jd d gdS( NRiRtdata1itdata2itdata3(R(RS(RT(R'RRRRRR(tdictt from_selectR R+RRMtin_RR,RNtorder_byRP(R"t src_tablet dest_tabletresult((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_insert_from_select_autoincs       $ 'cCs|jj}|jj}tjj|jjdt|j j gj |j j j ddg}t |jdgtjjt|j j gj|j j }t |jgdS(NRRSRT(R(R'RRRRRR(RVR R+RRMRWRR,RNRXRP(R"RYRZR[((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt'test_insert_from_select_autoinc_no_rowss    $ 'c Cs |jj}tjj|jtddddtddddtddddgtjj|jd tjd t |j j d |j j gj |j j jddgttjjt |j j gj|j j jd d dddgdS(NRiRRRiRSiRTtinlinei(RR(RR(RS(RS(RT(RT(R'RRRRR(RURRVR R+RRRMRWRRXRP(R"R#((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyttest_insert_from_selects    "" *c Cs|jj}tjj|jtddddtddddtddddgtjj|jd tjdt |j j d |j j gj |j j jddgttjjt |gj|j j |j j jdddddgdS(NRiRRRiRSiRTR^iiii(RR(iRRii(iRSii(iRSii(iRTii(iRTii(R'R;RRRR(RURRVR R+RRRMRWRRXRP(R"R#((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt%test_insert_from_select_with_defaultss&    "" -(R2R3R4RR5R8RRKRRBRLt empty_insertsRQtinsert_from_selectR\R]R_R`(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyR:Is  t ReturningTestcBsleZdZd ZeZied6ZdZedZ e j dZ dZ dZd ZRS( R RBRRcCs;|j|jj}t|tjjjdfdS(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|tdtdtdttdtddS(NRRRRRi2(RRRRR (RR((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyRs cCstj}|jj}|j|jj|jjdd}|j d}tjj t |jjg}t ||dS(NRs some datai( RRR'RRR(RBR+RRR*R R(R"RJR#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  $!cCstj}|jj}|jA}|j|jj|jj dd}|j d}WdQXtjj t |jj g}t ||dS(NRs some datai(RRR'RtbeginRR(RBR+RRR*R R(R"RJR#R$R-R.Rd((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyt(test_explicit_returning_pk_no_autocommit$s  $!cCs?tjj|jjjdd|j|jjtjdS(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|jjjdd}tjjt|jjjj g}t |j |gdS(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_commitReRgRhRi(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyRcs    N(R R:Rc(tRRRt assertionsRRtschemaRRRRR R R t TablesTestR R:Rct__all__(((sW/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/suite/test_insert.pyts::