Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add new test file reuse5.test. For testing the shell tool ".shared-schema" command. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | reuse-schema |
Files: | files | file ages | folders |
SHA3-256: |
fa6008d547c6b24108a26e022f3f427f |
User & Date: | dan 2019-02-26 16:13:43.604 |
Context
2019-02-26
| ||
16:36 | Update doc/shared_schema.md to describe the shell tool ".shared-schema" dot-command. (check-in: 0ce2092a59 user: dan tags: reuse-schema) | |
16:13 | Add new test file reuse5.test. For testing the shell tool ".shared-schema" command. (check-in: fa6008d547 user: dan tags: reuse-schema) | |
15:43 | Add the ".shared-schema check|fix DB1 DB2..." command to the shell tool. For checking if a database is eligible to share an in-memory with the main database, and for fixing small problems that prevent it from being so. (check-in: 7d8e8a9572 user: dan tags: reuse-schema) | |
Changes
Added test/reuse5.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | # 2019 February 26 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # # set testdir [file dirname $argv0] source $testdir/tester.tcl set testprefix reuse5 set CLI [test_find_cli] do_execsql_test 1.0 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1x ON t1(x); CREATE INDEX t1y ON t1(y); CREATE VIEW v1 AS SELECT * FROM t2; } foreach {tn sql out1 out2} { 1 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1x ON t1(x); CREATE INDEX t1y ON t1(y); CREATE VIEW v1 AS SELECT * FROM t2; } { test.db2 is compatible } {} 2 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1x ON t1(x); CREATE INDEX t1y ON t1(y); CREATE VIEW v1 AS SELECT * FROM t2; CREATE TABLE x1(x); DROP TABLE x1; } { test.db2 is NOT compatible (schema cookie) } { Fixing test.db2... test.db2 is compatible } 3 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1y ON t1(y); CREATE VIEW v1 AS SELECT * FROM t2; } { test.db2 is NOT compatible (objects) } {} 4 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1x ON t1(X); CREATE INDEX t1y ON t1(y); CREATE VIEW v1 AS SELECT * FROM t2; } { test.db2 is NOT compatible (SQL) } {} 5 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1y ON t1(y); CREATE INDEX t1x ON t1(x); CREATE VIEW v1 AS SELECT * FROM t2; } { test.db2 is NOT compatible (root pages) } { Fixing test.db2... test.db2 is compatible } 6 { CREATE TABLE t1(x, y); CREATE TABLE t2(a, b, c); CREATE INDEX t1x ON t1(x); CREATE INDEX t1y ON t1(y); CREATE VIEW v1 AS SELECT * FROM t2; DROP INDEX t1x; CREATE INDEX t1x ON t1(x); } { test.db2 is NOT compatible (order of sqlite_master rows) } { Fixing test.db2... test.db2 is compatible } } { forcedelete test.db2 sqlite3 db2 test.db2 db2 eval $sql db2 close if {$out2==""} {set out2 $out1} do_test 1.$tn.1 { catchcmd test.db ".shared-schema check test.db2" } [list 0 [string trim $out1]] do_test 1.$tn.2 { catchcmd test.db ".shared-schema fix test.db2" } [list 0 [string trim $out2]] do_test 1.$tn.3 { catchcmd test.db2 "PRAGMA integrity_check" } [list 0 ok] } finish_test |