]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Various fixes so that "make test" works with OMIT_FOREIGN_KEY, OMIT_TRIGGER and OMIT_...
authordan <dan@noemail.net>
Tue, 29 Sep 2009 06:33:23 +0000 (06:33 +0000)
committerdan <dan@noemail.net>
Tue, 29 Sep 2009 06:33:23 +0000 (06:33 +0000)
FossilOrigin-Name: e4eb227b14e4bfcb9f7f284692a391b7355f0204

13 files changed:
manifest
manifest.uuid
src/alter.c
test/boundary4.tcl
test/boundary4.test
test/fkey2.test
test/fkey3.test
test/tkt3838.test
test/tkt3992.test
test/vtab1.test
test/vtab5.test
test/vtab_alter.test
test/vtab_shared.test

index a50bfe89c297b9041eee828c1e7c193c99699b8f..d28272855a027fb31bafab20898247d201f0ff85 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Ignore\sforeign\skey\smismatch\serrors\swhile\scompiling\sDROP\sTABLE\scommands.
-D 2009-09-28T18:52:12
+C Various\sfixes\sso\sthat\s"make\stest"\sworks\swith\sOMIT_FOREIGN_KEY,\sOMIT_TRIGGER\sand\sOMIT_ALTER_TABLE.
+D 2009-09-29T06:33:24
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 4ca3f1dd6efa2075bcb27f4dc43eef749877740d
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -99,7 +99,7 @@ F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca
 F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
 F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc
 F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad
-F src/alter.c 082657ce3a584a512ed472e3163c09ed399e17f4
+F src/alter.c 1b63d4f2a6e76af9e2964d4d86ccc8e74c3fae4a
 F src/analyze.c 5a8b8aa3d170eac5e71af45458cec61f83c623ee
 F src/attach.c 13995348fc5a26cdd136a50806faf292aabc173f
 F src/auth.c d6a88bf8e81e6a079ccb8881002b327e42ec46b9
@@ -260,8 +260,8 @@ F test/boundary2.tcl e34ef4e930cf1083150d4d2c603e146bd3b76bcb
 F test/boundary2.test 9ae758d7dab7e882c8b6cc4a6a10278385bff8fa
 F test/boundary3.tcl 8901d6a503d0bf64251dd81cc74e5ad3add4b119
 F test/boundary3.test 56ef82096b4329aca2be74fa1e2b0f762ea0eb45
-F test/boundary4.tcl bf068a95bed74cffd5829766b836479fcebeb18b
-F test/boundary4.test 940bd509e34ae93c14ae62aeb8cf9afcf178b863
+F test/boundary4.tcl 0bb4b1a94f4fc5ae59b79b9a2b7a140c405e2983
+F test/boundary4.test 89e02fa66397b8a325d5eb102b5806f961f8ec4b
 F test/busy.test 76b4887f8b9160ba903c1ac22e8ff406ad6ae2f0
 F test/cache.test 3ff445c445742a7b6b9ba6e1d62a25263f9424b9
 F test/capi2.test 172c717ed101e78e0798dd21b9896a22366f35b4
@@ -330,8 +330,8 @@ F test/expr.test 9f521ae22f00e074959f72ce2e55d46b9ed23f68
 F test/filectrl.test 8923a6dc7630f31c8a9dd3d3d740aa0922df7bf8
 F test/filefmt.test 84e3d0fe9f12d0d2ac852465c6f8450aea0d6f43
 F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da
-F test/fkey2.test a041806ef603f8dbae139ad99e57ed1e6cadebf2
-F test/fkey3.test 4d8d87a72e0dee5b5411cf10dc05ad9edebbeac8
+F test/fkey2.test 3efd8c692e480205cc46026ff2430977e032133a
+F test/fkey3.test c17565b40c97a0dd5102610183c744611171b5ec
 F test/fkey_malloc.test da912d000bb6ceb1cd11b655de1989762fa71ceb
 F test/format4.test 1f0cac8ff3895e9359ed87e41aaabee982a812eb
 F test/fts1a.test 46090311f85da51bb33bd5ce84f7948359c6d8d7
@@ -659,7 +659,7 @@ F test/tkt3793.test 754b73f0e6a9349c70dc57e522cf3247272ecd5d
 F test/tkt3810.test 90fa0635dfa7da9680c8cd3513350a49b3a8ae12
 F test/tkt3824.test 3da2f5c81b057e3ff355f5dfc9aa0cf0a92e0206
 F test/tkt3832.test 2300d10d57562b89875b72148338ac3e14f8847d
-F test/tkt3838.test 2a1525946bc9d3751e1d49ce95f3a2472f2b7408
+F test/tkt3838.test f956f0719b5f805b12dd1dbf19f19d298bacebc3
 F test/tkt3841.test 4659845bc53f809a5932c61c6ce8c5bb9d6b947f
 F test/tkt3871.test 43ecbc8d90dc83908e2a454aef345acc9d160c6f
 F test/tkt3879.test 2ad5bef2c87e9991ce941e054c31abe26ef7fb90
@@ -668,7 +668,7 @@ F test/tkt3918.test e6cdf6bfcfe9ba939d86a4238a9dc55d6eec5d42
 F test/tkt3922.test 022ace32c049e3964f68492c12eb803e8e4856d8
 F test/tkt3929.test 75a862e45bcb39e9a7944c89b92afa531304afca
 F test/tkt3935.test e15261fedb9e30a4305a311da614a5d8e693c767
-F test/tkt3992.test 12e5f884524379ec05b0649eda8f2dc9c15f5395
+F test/tkt3992.test f3e7d548ac26f763b47bc0f750da3d03c81071da
 F test/tkt3997.test a335fa41ca3985660a139df7b734a26ef53284bd
 F test/tkt4018.test 7c2c9ba4df489c676a0a7a0e809a1fb9b2185bd1
 F test/tokenize.test ce430a7aed48fc98301611429595883fdfcab5d7
@@ -700,11 +700,11 @@ F test/vacuum3.test f39ad1428347c5808cd2da7578c470f186a4d0ce
 F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
 F test/veryquick.test e265401afefa994cdf2fe4b6f286b1e87c2f9b9d
 F test/view.test 45f518205ecdb6dd23a86dd4a99bb4ae945e625d
-F test/vtab1.test e321e3c80434fe8de97fa4ad815882d2c7838d21
+F test/vtab1.test 9bc4a349a1989bcd064eb3b8fac2f06aca64297a
 F test/vtab2.test 7bcffc050da5c68f4f312e49e443063e2d391c0d
 F test/vtab3.test baad99fd27217f5d6db10660522e0b7192446de1
 F test/vtab4.test 942f8b8280b3ea8a41dae20e7822d065ca1cb275
-F test/vtab5.test a0a84a89c622f4e2e816ebf39883dc319b4a1024
+F test/vtab5.test 889f444970393c73f1e077e2bdc5d845e157a391
 F test/vtab6.test c7f290d172609d636fbfc58166eadcb55d5c117c
 F test/vtab7.test a8c3c3cb3eb60be364991bd714e4927e26c4cd85
 F test/vtab8.test e19fa4a538fcd1bb66c22825fa8f71618fb13583
@@ -713,9 +713,9 @@ F test/vtabA.test 0dcd4c81ffb56649f47d1b5fb9c5ae807ccf41f7
 F test/vtabB.test 04df5dc531b9f44d9ca65b9c1b79f12b5922a796
 F test/vtabC.test 1cf7896ab6859bfe3074244b2b0e12de5cbdd766
 F test/vtabD.test 74167b1578e5886fe4c886d6bef2fd1406444c42
-F test/vtab_alter.test 3a299749fee97ca3d53bd55717f536e4a2284856
+F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
-F test/vtab_shared.test 561305eff0bb574a983c29029ef294a4a895a14c
+F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d
 F test/where.test de337a3fe0a459ec7c93db16a519657a90552330
 F test/where2.test 45eacc126aabb37959a387aa83e59ce1f1f03820
 F test/where3.test 97d3936e6a443b968f1a61cdcc0f673252000e94
@@ -755,7 +755,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 8353808c9e70412fdee31bfda7810e948f1c7485
-R d0e9896e0ec532c989c7902d96591d81
+P 5b4d46374a8e808246a1813c12c36c4a75371898
+R 32675a16ccbf8ba9a57d02ab929283d4
 U dan
-Z c982a4c0e50b77ad87726fbdb4e6d971
+Z 3978b535f562bf4c0abfd653652139fb
index bc5950d77f6290b2aaa404d039c438336fbecbdd..0bcc7d5f1d7493cf7f1af9059f5db23c6ffad1ea 100644 (file)
@@ -1 +1 @@
-5b4d46374a8e808246a1813c12c36c4a75371898
\ No newline at end of file
+e4eb227b14e4bfcb9f7f284692a391b7355f0204
\ No newline at end of file
index 875a448c956414d3efe309fa40b66b3a1fbdf086..c7ba3026f59c700fa46de90e84fca8e71f46ee93 100644 (file)
@@ -266,6 +266,7 @@ static char *whereOrName(sqlite3 *db, char *zWhere, char *zConstant){
   return zNew;
 }
 
+#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
 /*
 ** Generate the text of a WHERE expression which can be used to select all
 ** tables that have foreign key constraints that refer to table pTab (i.e.
@@ -280,6 +281,7 @@ static char *whereForeignKeys(Parse *pParse, Table *pTab){
   }
   return zWhere;
 }
+#endif
 
 /*
 ** Generate the text of a WHERE expression which can be used to select all
@@ -470,7 +472,7 @@ void sqlite3AlterRenameTable(
   zTabName = pTab->zName;
   nTabName = sqlite3Utf8CharLen(zTabName, -1);
 
-#ifndef SQLITE_OMIT_FOREIGN_KEY
+#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
   if( db->flags&SQLITE_ForeignKeys ){
     /* If foreign-key support is enabled, rewrite the CREATE TABLE 
     ** statements corresponding to all child tables of foreign key constraints
@@ -536,7 +538,7 @@ void sqlite3AlterRenameTable(
   }
 #endif
 
-#ifndef SQLITE_OMIT_FOREIGN_KEY
+#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER)
   if( db->flags&SQLITE_ForeignKeys ){
     FKey *p;
     for(p=sqlite3FkReferences(pTab); p; p=p->pNextTo){
index 8fcde63c94a0afabfe65d17491461699b32cc8e5..20f5c9680fb8a7d781187a0ac874a86125c83644 100644 (file)
@@ -20,6 +20,7 @@ source $testdir/tester.tcl
 
 # Many of the boundary tests depend on a working 64-bit implementation.
 if {![working_64bit_int]} { finish_test; return }
+ifcapable !altertable     { finish_test; return }
 }
 
 expr srand(0)
index 5a30a175c960c5724ebe7122e1b6da7600cd76ab..b77ac3acf0bc91870acefdd1eb46fe327394f76d 100644 (file)
@@ -20,6 +20,7 @@ source $testdir/tester.tcl
 
 # Many of the boundary tests depend on a working 64-bit implementation.
 if {![working_64bit_int]} { finish_test; return }
+ifcapable !altertable     { finish_test; return }
 
 do_test boundary4-1.1 {
   db eval {
index 375b4da8a7c84508be0c49131e9b27b2cd6d39c8..abf52a93fea3a7f9c2b7df252af0adeb1c989c06 100644 (file)
@@ -780,89 +780,91 @@ do_test fkey2-13.1.4 {
 # fkey2-14.3*: DROP TABLE
 #
 drop_all_tables
-do_test fkey2-14.1.1 {
-  # Adding a column with a REFERENCES clause is not supported.
-  execsql { 
-    CREATE TABLE t1(a PRIMARY KEY);
-    CREATE TABLE t2(a, b);
-  }
-  catchsql { ALTER TABLE t2 ADD COLUMN c REFERENCES t1 }
-} {0 {}}
-do_test fkey2-14.1.2 {
-  catchsql { ALTER TABLE t2 ADD COLUMN d DEFAULT NULL REFERENCES t1 }
-} {0 {}}
-do_test fkey2-14.1.3 {
-  catchsql { ALTER TABLE t2 ADD COLUMN e REFERENCES t1 DEFAULT NULL}
-} {0 {}}
-do_test fkey2-14.1.4 {
-  catchsql { ALTER TABLE t2 ADD COLUMN f REFERENCES t1 DEFAULT 'text'}
-} {1 {Cannot add a REFERENCES column with non-NULL default value}}
-do_test fkey2-14.1.5 {
-  catchsql { ALTER TABLE t2 ADD COLUMN g DEFAULT CURRENT_TIME REFERENCES t1 }
-} {1 {Cannot add a REFERENCES column with non-NULL default value}}
-do_test fkey2-14.1.6 {
-  execsql { 
-    PRAGMA foreign_keys = off;
-    ALTER TABLE t2 ADD COLUMN h DEFAULT 'text' REFERENCES t1;
-    PRAGMA foreign_keys = on;
-    SELECT sql FROM sqlite_master WHERE name='t2';
+ifcapable altertable {
+  do_test fkey2-14.1.1 {
+    # Adding a column with a REFERENCES clause is not supported.
+    execsql { 
+      CREATE TABLE t1(a PRIMARY KEY);
+      CREATE TABLE t2(a, b);
+    }
+    catchsql { ALTER TABLE t2 ADD COLUMN c REFERENCES t1 }
+  } {0 {}}
+  do_test fkey2-14.1.2 {
+    catchsql { ALTER TABLE t2 ADD COLUMN d DEFAULT NULL REFERENCES t1 }
+  } {0 {}}
+  do_test fkey2-14.1.3 {
+    catchsql { ALTER TABLE t2 ADD COLUMN e REFERENCES t1 DEFAULT NULL}
+  } {0 {}}
+  do_test fkey2-14.1.4 {
+    catchsql { ALTER TABLE t2 ADD COLUMN f REFERENCES t1 DEFAULT 'text'}
+  } {1 {Cannot add a REFERENCES column with non-NULL default value}}
+  do_test fkey2-14.1.5 {
+    catchsql { ALTER TABLE t2 ADD COLUMN g DEFAULT CURRENT_TIME REFERENCES t1 }
+  } {1 {Cannot add a REFERENCES column with non-NULL default value}}
+  do_test fkey2-14.1.6 {
+    execsql { 
+      PRAGMA foreign_keys = off;
+      ALTER TABLE t2 ADD COLUMN h DEFAULT 'text' REFERENCES t1;
+      PRAGMA foreign_keys = on;
+      SELECT sql FROM sqlite_master WHERE name='t2';
+    }
+  } {{CREATE TABLE t2(a, b, c REFERENCES t1, d DEFAULT NULL REFERENCES t1, e REFERENCES t1 DEFAULT NULL, h DEFAULT 'text' REFERENCES t1)}}
+  
+  
+  # Test the sqlite_rename_parent() function directly.
+  #
+  proc test_rename_parent {zCreate zOld zNew} {
+    db eval {SELECT sqlite_rename_parent($zCreate, $zOld, $zNew)}
   }
-} {{CREATE TABLE t2(a, b, c REFERENCES t1, d DEFAULT NULL REFERENCES t1, e REFERENCES t1 DEFAULT NULL, h DEFAULT 'text' REFERENCES t1)}}
-
-
-# Test the sqlite_rename_parent() function directly.
-#
-proc test_rename_parent {zCreate zOld zNew} {
-  db eval {SELECT sqlite_rename_parent($zCreate, $zOld, $zNew)}
+  do_test fkey2-14.2.1.1 {
+    test_rename_parent {CREATE TABLE t1(a REFERENCES t2)} t2 t3
+  } {{CREATE TABLE t1(a REFERENCES "t3")}}
+  do_test fkey2-14.2.1.2 {
+    test_rename_parent {CREATE TABLE t1(a REFERENCES t2)} t4 t3
+  } {{CREATE TABLE t1(a REFERENCES t2)}}
+  do_test fkey2-14.2.1.3 {
+    test_rename_parent {CREATE TABLE t1(a REFERENCES "t2")} t2 t3
+  } {{CREATE TABLE t1(a REFERENCES "t3")}}
+  
+  # Test ALTER TABLE RENAME TABLE a bit.
+  #
+  do_test fkey2-14.2.2.1 {
+    drop_all_tables
+    execsql {
+      CREATE TABLE t1(a PRIMARY KEY, b REFERENCES t1);
+      CREATE TABLE t2(a PRIMARY KEY, b REFERENCES t1, c REFERENCES t2);
+      CREATE TABLE t3(a REFERENCES t1, b REFERENCES t2, c REFERENCES t1);
+    }
+    execsql { SELECT sql FROM sqlite_master WHERE type = 'table'}
+  } [list \
+    {CREATE TABLE t1(a PRIMARY KEY, b REFERENCES t1)}                     \
+    {CREATE TABLE t2(a PRIMARY KEY, b REFERENCES t1, c REFERENCES t2)}    \
+    {CREATE TABLE t3(a REFERENCES t1, b REFERENCES t2, c REFERENCES t1)}  \
+  ]
+  do_test fkey2-14.2.2.2 {
+    execsql { ALTER TABLE t1 RENAME TO t4 }
+    execsql { SELECT sql FROM sqlite_master WHERE type = 'table'}
+  } [list \
+    {CREATE TABLE "t4"(a PRIMARY KEY, b REFERENCES "t4")}                    \
+    {CREATE TABLE t2(a PRIMARY KEY, b REFERENCES "t4", c REFERENCES t2)}     \
+    {CREATE TABLE t3(a REFERENCES "t4", b REFERENCES t2, c REFERENCES "t4")} \
+  ]
+  do_test fkey2-14.2.2.3 {
+    catchsql { INSERT INTO t3 VALUES(1, 2, 3) }
+  } {1 {foreign key constraint failed}}
+  do_test fkey2-14.2.2.4 {
+    execsql { INSERT INTO t4 VALUES(1, NULL) }
+  } {}
+  do_test fkey2-14.2.2.5 {
+    catchsql { UPDATE t4 SET b = 5 }
+  } {1 {foreign key constraint failed}}
+  do_test fkey2-14.2.2.6 {
+    catchsql { UPDATE t4 SET b = 1 }
+  } {0 {}}
+  do_test fkey2-14.2.2.7 {
+    execsql { INSERT INTO t3 VALUES(1, NULL, 1) }
+  } {}
 }
-do_test fkey2-14.2.1.1 {
-  test_rename_parent {CREATE TABLE t1(a REFERENCES t2)} t2 t3
-} {{CREATE TABLE t1(a REFERENCES "t3")}}
-do_test fkey2-14.2.1.2 {
-  test_rename_parent {CREATE TABLE t1(a REFERENCES t2)} t4 t3
-} {{CREATE TABLE t1(a REFERENCES t2)}}
-do_test fkey2-14.2.1.3 {
-  test_rename_parent {CREATE TABLE t1(a REFERENCES "t2")} t2 t3
-} {{CREATE TABLE t1(a REFERENCES "t3")}}
-
-# Test ALTER TABLE RENAME TABLE a bit.
-#
-do_test fkey2-14.2.2.1 {
-  drop_all_tables
-  execsql {
-    CREATE TABLE t1(a PRIMARY KEY, b REFERENCES t1);
-    CREATE TABLE t2(a PRIMARY KEY, b REFERENCES t1, c REFERENCES t2);
-    CREATE TABLE t3(a REFERENCES t1, b REFERENCES t2, c REFERENCES t1);
-  }
-  execsql { SELECT sql FROM sqlite_master WHERE type = 'table'}
-} [list \
-  {CREATE TABLE t1(a PRIMARY KEY, b REFERENCES t1)}                     \
-  {CREATE TABLE t2(a PRIMARY KEY, b REFERENCES t1, c REFERENCES t2)}    \
-  {CREATE TABLE t3(a REFERENCES t1, b REFERENCES t2, c REFERENCES t1)}  \
-]
-do_test fkey2-14.2.2.2 {
-  execsql { ALTER TABLE t1 RENAME TO t4 }
-  execsql { SELECT sql FROM sqlite_master WHERE type = 'table'}
-} [list \
-  {CREATE TABLE "t4"(a PRIMARY KEY, b REFERENCES "t4")}                     \
-  {CREATE TABLE t2(a PRIMARY KEY, b REFERENCES "t4", c REFERENCES t2)}    \
-  {CREATE TABLE t3(a REFERENCES "t4", b REFERENCES t2, c REFERENCES "t4")}  \
-]
-do_test fkey2-14.2.2.3 {
-  catchsql { INSERT INTO t3 VALUES(1, 2, 3) }
-} {1 {foreign key constraint failed}}
-do_test fkey2-14.2.2.4 {
-  execsql { INSERT INTO t4 VALUES(1, NULL) }
-} {}
-do_test fkey2-14.2.2.5 {
-  catchsql { UPDATE t4 SET b = 5 }
-} {1 {foreign key constraint failed}}
-do_test fkey2-14.2.2.6 {
-  catchsql { UPDATE t4 SET b = 1 }
-} {0 {}}
-do_test fkey2-14.2.2.7 {
-  execsql { INSERT INTO t3 VALUES(1, NULL, 1) }
-} {}
 
 do_test fkey-2.14.3.1 {
   drop_all_tables
index 010a75047735b7e82f07d36c2375fd76d1a388fa..2f3e8cf3b03777066e2c57defca8c0d0f9156b28 100644 (file)
@@ -16,7 +16,7 @@
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
-ifcapable {!foreignkey} {
+ifcapable {!foreignkey||!trigger} {
   finish_test
   return
 }
index f56b7058a220a9af72054b55a9cf700490bcef8c..4fb5c55a8a24be3d2eae8314f415cb43bf9d4f67 100644 (file)
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
+ifcapable !altertable {
+  finish_test
+  return
+}
 
 do_test tkt3838-1.1 {
   db eval {
index be7e50d709798350622c0f9514ed2dde4e2f0575..0d8a30f94d7386617765b374e184ae4c586dac22 100644 (file)
@@ -44,20 +44,22 @@ do_test tkt3992-1.3 {
   }
 } {2 1.0}
 
-do_test tkt3992-2.1 {
-  execsql {
-    CREATE TABLE t1(a, b);
-    INSERT INTO t1 VALUES(1, 2);
-    ALTER TABLE t1 ADD COLUMN c DEFAULT 3;
-    SELECT * FROM t1;
-  }
-} {1 2 3}
-do_test tkt3992-2.2 {
-  execsql {
-    UPDATE t1 SET a = 'one';
-    SELECT * FROM t1;
-  }
-} {one 2 3}
+ifcapable altertable {
+  do_test tkt3992-2.1 {
+    execsql {
+      CREATE TABLE t1(a, b);
+      INSERT INTO t1 VALUES(1, 2);
+      ALTER TABLE t1 ADD COLUMN c DEFAULT 3;
+      SELECT * FROM t1;
+    }
+  } {1 2 3}
+  do_test tkt3992-2.2 {
+    execsql {
+      UPDATE t1 SET a = 'one';
+      SELECT * FROM t1;
+    }
+  } {one 2 3}
+}
 
 ifcapable trigger {
   db function tcl eval
index 3bf7286ce3d755bd095d9151de9a0a0824362915..bafd29ae2d9570c6bb98d9665c719958bf13ef40 100644 (file)
@@ -1154,12 +1154,14 @@ foreach method [list \
   incr tn
 }
 
-do_test vtab1-16.$tn {
-  set echo_module_fail(xRename,t2) "the xRename method has failed"
-  catchsql { ALTER TABLE echo_t2 RENAME TO another_name }
-} "1 {echo-vtab-error: the xRename method has failed}"
-unset echo_module_fail(xRename,t2)
-incr tn
+ifcapable altertable {
+  do_test vtab1-16.$tn {
+    set echo_module_fail(xRename,t2) "the xRename method has failed"
+    catchsql { ALTER TABLE echo_t2 RENAME TO another_name }
+  } "1 {echo-vtab-error: the xRename method has failed}"
+  unset echo_module_fail(xRename,t2)
+  incr tn
+}
 
 unset -nocomplain echo_module_begin_fail
 finish_test
index 7fd7e0e129ff69aa23a32e561f0f1103d98e04f4..bb84a5ceec6c6237db80ac6e6b04762dd3089790 100644 (file)
@@ -134,11 +134,13 @@ do_test vtab5.4.1 {
 
 # Test that it is impossible to add a column to a virtual table.
 #
-do_test vtab5.4.2 {
-  catchsql {
-    ALTER TABLE echo_strings ADD COLUMN col2;
-  }
-} {1 {virtual tables may not be altered}}
+ifcapable altertable {
+  do_test vtab5.4.2 {
+    catchsql {
+      ALTER TABLE echo_strings ADD COLUMN col2;
+    }
+  } {1 {virtual tables may not be altered}}
+}
 
 # Test that it is impossible to rename a virtual table.
 # UPDATE: It is now possible.
index cf28822ad9619d1a16a1a2db62ebe0c2dfcb777f..eb50a28a5e8d93e60e80dfa7f38da49d8df75a71 100644 (file)
@@ -17,7 +17,7 @@
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
-ifcapable !vtab {
+ifcapable !vtab||!altertable {
   finish_test
   return
 }
index e195ef232b2d5218c1cf3683bb351426fcc4eb48..ce2e432fcfa23d858f8e81e0c95473bd566cbdd2 100644 (file)
@@ -144,17 +144,19 @@ do_test vtab_shared-1.12.2 {
 
 # Try a rename or two.
 #
-do_test vtab_shared-1.13.1 {
-  execsql { ALTER TABLE t1 RENAME TO t4 }
-  execsql { SELECT * FROM t4 } db
-} {1 2 3 4 5 6}
-do_test vtab_shared-1.13.2 {
-  execsql { SELECT * FROM t4 } db2
-} {1 2 3 4 5 6}
-do_test vtab_shared-1.13.3 {
-  execsql { ALTER TABLE t2 RENAME TO t5 }
-  execsql { SELECT * FROM t4 } db2
-} {1 2 3 4 5 6}
+ifcapable altertable {
+  do_test vtab_shared-1.13.1 {
+    execsql { ALTER TABLE t1 RENAME TO t4 }
+    execsql { SELECT * FROM t4 } db
+  } {1 2 3 4 5 6}
+  do_test vtab_shared-1.13.2 {
+    execsql { SELECT * FROM t4 } db2
+  } {1 2 3 4 5 6}
+  do_test vtab_shared-1.13.3 {
+    execsql { ALTER TABLE t2 RENAME TO t5 }
+    execsql { SELECT * FROM t4 } db2
+  } {1 2 3 4 5 6}
+}
 
 # Try an UPDATE/INSERT/DELETE on a shared vtab as the first statement after a
 # schema is loaded.