| Index: third_party/sqlite/src/test/alter.test
|
| diff --git a/third_party/sqlite/src/test/alter.test b/third_party/sqlite/src/test/alter.test
|
| index d4b72a6ae8c49d25f00f966b57bfaca7b2cd2996..ddf16988246dd5a242ffbf31df742889a0a52930 100644
|
| --- a/third_party/sqlite/src/test/alter.test
|
| +++ b/third_party/sqlite/src/test/alter.test
|
| @@ -221,8 +221,8 @@ do_test alter-1.7 {
|
| #
|
| ifcapable attach {
|
| do_test alter-1.8.1 {
|
| - file delete -force test2.db
|
| - file delete -force test2.db-journal
|
| + forcedelete test2.db
|
| + forcedelete test2.db-journal
|
| execsql {
|
| ATTACH 'test2.db' AS aux;
|
| }
|
| @@ -349,7 +349,8 @@ db func trigfunc trigfunc
|
| do_test alter-3.1.0 {
|
| execsql {
|
| CREATE TABLE t6(a, b, c);
|
| - CREATE TRIGGER trig1 AFTER INSERT ON t6 BEGIN
|
| + -- Different case for the table name in the trigger.
|
| + CREATE TRIGGER trig1 AFTER INSERT ON T6 BEGIN
|
| SELECT trigfunc('trig1', new.a, new.b, new.c);
|
| END;
|
| }
|
| @@ -412,8 +413,8 @@ do_test alter-3.1.8 {
|
|
|
| # Make sure "ON" cannot be used as a database, table or column name without
|
| # quoting. Otherwise the sqlite_alter_trigger() function might not work.
|
| -file delete -force test3.db
|
| -file delete -force test3.db-journal
|
| +forcedelete test3.db
|
| +forcedelete test3.db-journal
|
| ifcapable attach {
|
| do_test alter-3.2.1 {
|
| catchsql {
|
| @@ -650,7 +651,7 @@ do_test alter-6.7 {
|
| # Ticket #1665: Make sure ALTER TABLE ADD COLUMN works on a table
|
| # that includes a COLLATE clause.
|
| #
|
| -do_test alter-7.1 {
|
| +do_realnum_test alter-7.1 {
|
| execsql {
|
| CREATE TABLE t1(a TEXT COLLATE BINARY);
|
| ALTER TABLE t1 ADD COLUMN b INTEGER COLLATE NOCASE;
|
| @@ -846,7 +847,8 @@ do_test alter-14.2 {
|
| set system_table_list {1 sqlite_master}
|
| catchsql ANALYZE
|
| ifcapable analyze { lappend system_table_list 2 sqlite_stat1 }
|
| -ifcapable stat2 { lappend system_table_list 3 sqlite_stat2 }
|
| +ifcapable stat3 { lappend system_table_list 3 sqlite_stat3 }
|
| +ifcapable stat4 { lappend system_table_list 4 sqlite_stat4 }
|
|
|
| foreach {tn tbl} $system_table_list {
|
| do_test alter-15.$tn.1 {
|
| @@ -858,5 +860,57 @@ foreach {tn tbl} $system_table_list {
|
| } [list 1 "table $tbl may not be altered"]
|
| }
|
|
|
| +#------------------------------------------------------------------------
|
| +# Verify that ALTER TABLE works on tables with the WITHOUT rowid option.
|
| +#
|
| +do_execsql_test alter-16.1 {
|
| + CREATE TABLE t16a(a TEXT, b REAL, c INT, PRIMARY KEY(a,b)) WITHOUT rowid;
|
| + INSERT INTO t16a VALUES('abc',1.25,99);
|
| + ALTER TABLE t16a ADD COLUMN d TEXT DEFAULT 'xyzzy';
|
| + INSERT INTO t16a VALUES('cba',5.5,98,'fizzle');
|
| + SELECT * FROM t16a ORDER BY a;
|
| +} {abc 1.25 99 xyzzy cba 5.5 98 fizzle}
|
| +do_execsql_test alter-16.2 {
|
| + ALTER TABLE t16a RENAME TO t16a_rn;
|
| + SELECT * FROM t16a_rn ORDER BY a;
|
| +} {abc 1.25 99 xyzzy cba 5.5 98 fizzle}
|
| +
|
| +#-------------------------------------------------------------------------
|
| +# Verify that NULL values into the internal-use-only sqlite_rename_*()
|
| +# functions do not cause problems.
|
| +#
|
| +do_execsql_test alter-17.1 {
|
| + SELECT sqlite_rename_table('CREATE TABLE xyz(a,b,c)','abc');
|
| +} {{CREATE TABLE "abc"(a,b,c)}}
|
| +do_execsql_test alter-17.2 {
|
| + SELECT sqlite_rename_table('CREATE TABLE xyz(a,b,c)',NULL);
|
| +} {{CREATE TABLE "(NULL)"(a,b,c)}}
|
| +do_execsql_test alter-17.3 {
|
| + SELECT sqlite_rename_table(NULL,'abc');
|
| +} {{}}
|
| +do_execsql_test alter-17.4 {
|
| + SELECT sqlite_rename_trigger('CREATE TRIGGER r1 ON xyz WHEN','abc');
|
| +} {{CREATE TRIGGER r1 ON "abc" WHEN}}
|
| +do_execsql_test alter-17.5 {
|
| + SELECT sqlite_rename_trigger('CREATE TRIGGER r1 ON xyz WHEN',NULL);
|
| +} {{CREATE TRIGGER r1 ON "(NULL)" WHEN}}
|
| +do_execsql_test alter-17.6 {
|
| + SELECT sqlite_rename_trigger(NULL,'abc');
|
| +} {{}}
|
| +do_execsql_test alter-17.7 {
|
| + SELECT sqlite_rename_parent('CREATE TABLE t1(a REFERENCES "xyzzy")',
|
| + 'xyzzy','lmnop');
|
| +} {{CREATE TABLE t1(a REFERENCES "lmnop")}}
|
| +do_execsql_test alter-17.8 {
|
| + SELECT sqlite_rename_parent('CREATE TABLE t1(a REFERENCES "xyzzy")',
|
| + 'xyzzy',NULL);
|
| +} {{CREATE TABLE t1(a REFERENCES "(NULL)")}}
|
| +do_execsql_test alter-17.9 {
|
| + SELECT sqlite_rename_parent('CREATE TABLE t1(a REFERENCES "xyzzy")',
|
| + NULL, 'lmnop');
|
| +} {{}}
|
| +do_execsql_test alter-17.10 {
|
| + SELECT sqlite_rename_parent(NULL,'abc','xyz');
|
| +} {{}}
|
|
|
| finish_test
|
|
|