o =?h?@sHddlZddlZGdddejZddZddZedkr"edSdS) Nc@s<eZdZddZddZddZddZd d Zd d Zd S) DumpTestscCstd|_|j|_dS)N:memory:)sqliteconnectcxcursorcuselfr 8/opt/alt/python310/lib64/python3.10/sqlite3/test/dump.pysetUps zDumpTests.setUpcCs|jdSN)rcloser r r r tearDown szDumpTests.tearDowncsdgdfddDj}dd|DdgdgfddttDdS)N) z#CREATE TABLE "index"("index" blob);z"INSERT INTO "index" VALUES(X'01');z3CREATE TABLE "quoted""table"("quoted""field" text);z4INSERT INTO "quoted""table" VALUES('quoted''value');zCREATE TABLE t1(id integer primary key, s1 text, t1_i1 integer not null, i2 integer, unique (s1), constraint t1_idx1 unique (i2));z'INSERT INTO "t1" VALUES(1,'foo',10,20);z(INSERT INTO "t1" VALUES(2,'foo2',30,30);ztCREATE TABLE t2(id integer, t2_i1 integer, t2_i2 integer, primary key (id),foreign key(t2_i1) references t1(t1_i1));zrCREATE TRIGGER trigger_1 update of t1_i1 on t1 begin update t2 set t2_i1 = new.t1_i1 where t2_i1 = old.t1_i1; end;z;CREATE VIEW v1 as select * from t1 left join t2 using (id);csg|]}j|qSr )rexecute.0sr r r -sz-DumpTests.test_table_dump..cSg|]}|qSr r rr r r r/BEGIN TRANSACTION;COMMIT;cs g|] }||qSr ) assertEqual)riZ actual_sqlsZ expected_sqlsr r r r2s)riterdumprangelen)r rr rr test_table_dumps   zDumpTests.test_table_dumpcCslgd}|jd||ddd|d<|dd|gdd d |jD}|||dS) N)z9CREATE TABLE "t1" (id integer primary key autoincrement);zINSERT INTO "t1" VALUES(NULL);z9CREATE TABLE "t2" (id integer primary key autoincrement);ZNULL1rr)zDELETE FROM "sqlite_sequence";z-INSERT INTO "sqlite_sequence" VALUES('t1',1);rcSrr r )rZstmtr r r rFrz5DumpTests.test_dump_autoincrement..) r executescriptjoinreplaceinsertextendrrr)r expectedZactualr r r test_dump_autoincrement5s z!DumpTests.test_dump_autoincrementc Cs|jd|jd|jd|jdddtdD|jdd dtd D|jtd }d |j }| || }d }|D]0\}}|j ||d|d|f}| }||dd|Wdn1sxwYqMdS)NzBEGIN TRANSACTIONz6CREATE TABLE t1 (id integer primary key autoincrement)z6CREATE TABLE t2 (id integer primary key autoincrement)zINSERT INTO t1 VALUES(?)cs|]}dVqdSrNr r_r r r MzBDumpTests.test_dump_autoincrement_create_new_db.. zINSERT INTO t2 VALUES(?)csr+r,r r-r r r r/Nr0rr!))t1r1)t2r2)tableseqz[ SELECT "seq" FROM "sqlite_sequence" WHERE "name" == ? r)rrZ executemanyrrZcommitrrr%rr$rZsubTestZfetchallr) r Zcx2ZqueryZcu2Zdatasetr5r6resZrowsr r r %test_dump_autoincrement_create_new_dbIs*       z/DumpTests.test_dump_autoincrement_create_new_dbcCs`Gddd}||j_d}d}d||dg}|j||j|t|j}|||dS)Nc@seZdZddZddZdS)z6DumpTests.test_unorderable_row..UnorderableRowcSs ||_dSrrow)r rr:r r r __init__e z?DumpTests.test_unorderable_row..UnorderableRow.__init__cSs |j|Srr9)r indexr r r __getitem__gr<zBDumpTests.test_unorderable_row..UnorderableRow.__getitem__N)__name__ __module__ __qualname__r;r>r r r r UnorderableRowds rBzCREATE TABLE "alpha" ("one");zCREATE TABLE "beta" ("two");rr)rZ row_factoryrrlistrr)r rBZ CREATE_ALPHAZ CREATE_BETAr)Zgotr r r test_unorderable_rowbs  zDumpTests.test_unorderable_rowN) r?r@rAr rr r*r8rDr r r r rs& rcCstg}tdd|DS)NcSsg|] }t|qSr )unittestZ TestLoaderZloadTestsFromTestCase)rtr r r r|szsuite..)rrEZ TestSuite)Ztestsr r r suitews  rGcCst}|tdSr)rEZTextTestRunnerrunrG)Zrunnerr r r testsrI__main__)rEZsqlite3rZTestCaserrGrIr?r r r r sp