Index: src/alter.c ================================================================== --- src/alter.c +++ src/alter.c @@ -480,11 +480,11 @@ static int isRealTable(Parse *pParse, Table *pTab){ const char *zType = 0; #ifndef SQLITE_OMIT_VIEW if( pTab->pSelect ){ zType = "view"; - }else + } #endif #ifndef SQLITE_OMIT_VIRTUALTABLE if( IsVirtual(pTab) ){ zType = "virtual table"; } Index: test/altertab.test ================================================================== --- test/altertab.test +++ test/altertab.test @@ -207,45 +207,47 @@ ALTER TABLE t2 RENAME TO one; } {1 {error in view vv after rename: ambiguous column name: one.a}} #------------------------------------------------------------------------- -register_tcl_module db -proc tcl_command {method args} { - switch -- $method { - xConnect { - return "CREATE TABLE t1(a, b, c)" - } - } - return {} -} - -do_execsql_test 6.0 { - CREATE VIRTUAL TABLE x1 USING tcl(tcl_command); -} - -do_execsql_test 6.1 { - ALTER TABLE x1 RENAME TO x2; - SELECT sql FROM sqlite_master WHERE name = 'x2' -} {{CREATE VIRTUAL TABLE "x2" USING tcl(tcl_command)}} - -do_execsql_test 7.1 { - CREATE TABLE ddd(db, sql, zOld, zNew, bTemp); - INSERT INTO ddd VALUES( - 'main', 'CREATE TABLE x1(i INTEGER, t TEXT)', 'ddd', NULL, 0 - ), ( - 'main', 'CREATE TABLE x1(i INTEGER, t TEXT)', NULL, 'eee', 0 - ), ( - 'main', NULL, 'ddd', 'eee', 0 - ); -} {} - -do_execsql_test 7.2 { - SELECT - sqlite_rename_table(db, 0, 0, sql, zOld, zNew, bTemp) - FROM ddd; -} {{} {} {}} +ifcapable vtab { + register_tcl_module db + proc tcl_command {method args} { + switch -- $method { + xConnect { + return "CREATE TABLE t1(a, b, c)" + } + } + return {} + } + + do_execsql_test 6.0 { + CREATE VIRTUAL TABLE x1 USING tcl(tcl_command); + } + + do_execsql_test 6.1 { + ALTER TABLE x1 RENAME TO x2; + SELECT sql FROM sqlite_master WHERE name = 'x2' + } {{CREATE VIRTUAL TABLE "x2" USING tcl(tcl_command)}} + + do_execsql_test 7.1 { + CREATE TABLE ddd(db, sql, zOld, zNew, bTemp); + INSERT INTO ddd VALUES( + 'main', 'CREATE TABLE x1(i INTEGER, t TEXT)', 'ddd', NULL, 0 + ), ( + 'main', 'CREATE TABLE x1(i INTEGER, t TEXT)', NULL, 'eee', 0 + ), ( + 'main', NULL, 'ddd', 'eee', 0 + ); + } {} + + do_execsql_test 7.2 { + SELECT + sqlite_rename_table(db, 0, 0, sql, zOld, zNew, bTemp) + FROM ddd; + } {{} {} {}} +} #------------------------------------------------------------------------- # reset_db forcedelete test.db2 Index: test/auth.test ================================================================== --- test/auth.test +++ test/auth.test @@ -2142,11 +2142,11 @@ # MAIN: CREATE INDEX t4i1 ON t4(a); # MAIN: CREATE INDEX t4i2 ON t4(b,a,c); # MAIN: CREATE TABLE sqlite_stat1(tbl,idx,stat); # MAIN: CREATE TABLE t1(a,b); # -ifcapable altertable { +ifcapable altertable&&vtab { do_test 1.350 { proc auth {code arg1 arg2 arg3 arg4 args} { if {$code=="SQLITE_ALTER_TABLE"} { set ::authargs [list $arg1 $arg2 $arg3 $arg4] return SQLITE_OK