| Index: third_party/sqlite/sqlite-src-3100200/test/without_rowid1.test
|
| diff --git a/third_party/sqlite/sqlite-src-3080704/test/without_rowid1.test b/third_party/sqlite/sqlite-src-3100200/test/without_rowid1.test
|
| similarity index 87%
|
| copy from third_party/sqlite/sqlite-src-3080704/test/without_rowid1.test
|
| copy to third_party/sqlite/sqlite-src-3100200/test/without_rowid1.test
|
| index 9d7a6430fe3b4b30ce6b9e798fea9913c0faac93..0c77773abb3e7812fb19c5f8ff76c8a91c835f6b 100644
|
| --- a/third_party/sqlite/sqlite-src-3080704/test/without_rowid1.test
|
| +++ b/third_party/sqlite/sqlite-src-3100200/test/without_rowid1.test
|
| @@ -277,5 +277,56 @@ foreach {tn cnt where eqp} $queries {
|
| do_eqp_test 5.7.$tn.2 "SELECT count(*) FROM t46 WHERE $where" $eqp
|
| }
|
|
|
| +#-------------------------------------------------------------------------
|
| +# Check that redundant UNIQUE constraints do not cause a problem.
|
| +#
|
| +do_execsql_test 6.0 {
|
| + CREATE TABLE t47(a, b UNIQUE PRIMARY KEY) WITHOUT ROWID;
|
| + CREATE INDEX i47 ON t47(a);
|
| + INSERT INTO t47 VALUES(1, 2);
|
| + INSERT INTO t47 VALUES(2, 4);
|
| + INSERT INTO t47 VALUES(3, 6);
|
| + INSERT INTO t47 VALUES(4, 8);
|
| +
|
| + VACUUM;
|
| + PRAGMA integrity_check;
|
| + SELECT name FROM sqlite_master WHERE tbl_name = 't47';
|
| +} {ok t47 i47}
|
| +
|
| +do_execsql_test 6.1 {
|
| + CREATE TABLE t48(
|
| + a UNIQUE UNIQUE,
|
| + b UNIQUE,
|
| + PRIMARY KEY(a),
|
| + UNIQUE(a)
|
| + ) WITHOUT ROWID;
|
| + INSERT INTO t48 VALUES('a', 'b'), ('c', 'd'), ('e', 'f');
|
| + VACUUM;
|
| + PRAGMA integrity_check;
|
| + SELECT name FROM sqlite_master WHERE tbl_name = 't48';
|
| +} {
|
| + ok t48 sqlite_autoindex_t48_2
|
| +}
|
| +
|
| +# 2015-05-28: CHECK constraints can refer to the rowid in a
|
| +# rowid table, but not in a WITHOUT ROWID table.
|
| +#
|
| +do_execsql_test 7.1 {
|
| + CREATE TABLE t70a(
|
| + a INT CHECK( rowid!=33 ),
|
| + b TEXT PRIMARY KEY
|
| + );
|
| + INSERT INTO t70a(a,b) VALUES(99,'hello');
|
| +} {}
|
| +do_catchsql_test 7.2 {
|
| + INSERT INTO t70a(rowid,a,b) VALUES(33,99,'xyzzy');
|
| +} {1 {CHECK constraint failed: t70a}}
|
| +do_catchsql_test 7.3 {
|
| + CREATE TABLE t70b(
|
| + a INT CHECK( rowid!=33 ),
|
| + b TEXT PRIMARY KEY
|
| + ) WITHOUT ROWID;
|
| +} {1 {no such column: rowid}}
|
| +
|
|
|
| finish_test
|
|
|