| Index: third_party/sqlite/src/test/collate3.test
|
| diff --git a/third_party/sqlite/src/test/collate3.test b/third_party/sqlite/src/test/collate3.test
|
| index c4dbfbe4cf344c7e1c3abb0cf57453b5ab0d7713..2c051cb9a74fbdca4b60cdebace083de0cc4d090 100644
|
| --- a/third_party/sqlite/src/test/collate3.test
|
| +++ b/third_party/sqlite/src/test/collate3.test
|
| @@ -55,6 +55,104 @@ execsql {
|
| DROP TABLE collate3t1;
|
| }
|
|
|
| +proc caseless {a b} { string compare -nocase $a $b }
|
| +do_test collate3-1.4 {
|
| + db collate caseless caseless
|
| + execsql {
|
| + CREATE TABLE t1(a COLLATE caseless);
|
| + INSERT INTO t1 VALUES('Abc2');
|
| + INSERT INTO t1 VALUES('abc1');
|
| + INSERT INTO t1 VALUES('aBc3');
|
| + }
|
| + execsql { SELECT * FROM t1 ORDER BY a }
|
| +} {abc1 Abc2 aBc3}
|
| +
|
| +do_test collate3-1.5 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { SELECT * FROM t1 ORDER BY a }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.6.1 {
|
| + db collate caseless caseless
|
| + execsql { CREATE INDEX i1 ON t1(a) }
|
| + execsql { SELECT * FROM t1 ORDER BY a }
|
| +} {abc1 Abc2 aBc3}
|
| +
|
| +do_test collate3-1.6.2 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { SELECT * FROM t1 ORDER BY a }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.6.3 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { PRAGMA integrity_check }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.6.4 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { REINDEX }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.7.1 {
|
| + db collate caseless caseless
|
| + execsql {
|
| + DROP TABLE t1;
|
| + CREATE TABLE t1(a);
|
| + CREATE INDEX i1 ON t1(a COLLATE caseless);
|
| + INSERT INTO t1 VALUES('Abc2');
|
| + INSERT INTO t1 VALUES('abc1');
|
| + INSERT INTO t1 VALUES('aBc3');
|
| + SELECT * FROM t1 ORDER BY a COLLATE caseless;
|
| + }
|
| +} {abc1 Abc2 aBc3}
|
| +
|
| +do_test collate3-1.7.2 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { SELECT * FROM t1 ORDER BY a COLLATE caseless}
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.7.4 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { REINDEX }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.7.3 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { PRAGMA integrity_check }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.7.4 {
|
| + db close
|
| + sqlite3 db test.db
|
| + catchsql { REINDEX }
|
| +} {1 {no such collation sequence: caseless}}
|
| +
|
| +do_test collate3-1.7.5 {
|
| + db close
|
| + sqlite3 db test.db
|
| + db collate caseless caseless
|
| + catchsql { PRAGMA integrity_check }
|
| +} {0 ok}
|
| +
|
| +proc needed {nm} { db collate caseless caseless }
|
| +do_test collate3-1.7.6 {
|
| + db close
|
| + sqlite3 db test.db
|
| + db collation_needed needed
|
| + catchsql { PRAGMA integrity_check }
|
| +} {0 ok}
|
| +
|
| +do_test collate3-1.8 {
|
| + execsql { DROP TABLE t1 }
|
| +} {}
|
| +
|
| #
|
| # Create a table with a default collation sequence, then close
|
| # and re-open the database without re-registering the collation
|
|
|