From: dan Date: Thu, 3 Oct 2019 14:36:36 +0000 (+0000) Subject: Fix some test script issues that come up with SQLITE_OMIT_VIRTUALTABLE builds. X-Git-Tag: version-3.30.0~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b008e4d744175052c219ab78db1ea3732682ceb3;p=thirdparty%2Fsqlite.git Fix some test script issues that come up with SQLITE_OMIT_VIRTUALTABLE builds. FossilOrigin-Name: 3934d2d08ee14d644dc01f967c10f219b76b172c963c90a7a8141f2b08a7d5bf --- diff --git a/manifest b/manifest index 9c3fb30b7e..5e11f24a10 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sissues\swith\scommand\sline\sinvocation\sof\swapptest.tcl. -D 2019-10-03T13:44:08.247 +C Fix\ssome\stest\sscript\sissues\sthat\scome\sup\swith\sSQLITE_OMIT_VIRTUALTABLE\sbuilds. +D 2019-10-03T14:36:36.858 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -488,7 +488,7 @@ F src/hwtime.h 747c1bbe9df21a92e9c50f3bbec1de841dc5e5da F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 F src/insert.c 40557ebd69f4115e7a273f9304a8ab637a47ce44f3c6923396928f023967b5e8 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa -F src/loadext.c a045bb3425a9a633cc0f78e93d9beda6866f4c0f15bfdee735aba7c6b39f5cc4 +F src/loadext.c 4ddc65ae13c0d93db0ceedc8b14a28c8c260513448b0eb8c5a2ac375e3b6a85d F src/main.c 3851950717170ade4f6d718c18c6c7400ef5994c2a654679af2cff2ffd0fb2b9 F src/malloc.c 0f9da2a66b230a5785af94b9672126845099b57b70a32c987d04ac28c69da990 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 @@ -1731,13 +1731,13 @@ F test/with2.test e0030e2f0267a910d6c0e4f46f2dfe941c1cc0d4f659ba69b3597728e7e8f1 F test/with3.test b5f1372097690c6ef84db2f13fc7e64a88c7263c3f88493605f90597e8a68d45 F test/with4.test 257be66c0c67fee1defbbac0f685c3465e2cad037f21ce65f23f86084f198205 F test/withM.test 693b61765f2b387b5e3e24a4536e2e82de15ff64 -F test/without_rowid1.test f40c2757272ce171b88e4227f14450db2c4d42800d447baa7656a65562d2f8d9 +F test/without_rowid1.test 0abe18762b74714580c1d4d00a8e540e58966d3e46aae41ddb1a1d2c88c9277d F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99 F test/without_rowid3.test ea4b59dd1b0d7f5f5e4b7cca978cdb905752a9d7c57dc4344a591dba765a3691 F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a F test/without_rowid5.test 89b1c587bd92a0590e440da33e7666bf4891572a -F test/without_rowid6.test 3c1bbf0eb81c672115933158b62b009e67cf1a7f8c2c612bbce63a7385efa18e -F test/without_rowid7.test 0e0d7be00f05f54898e20e07bcc947cd97b42d7106021fa0d2897324bc6d330e +F test/without_rowid6.test 8463b20098e9f75a501a9f17dfb42fffc79068eac0b2775fe56ef2281d2df45e +F test/without_rowid7.test d7c59a93d726b55812d620f8f284e01904a5b85f9ee9eea8f2f68571a5e8c40e F test/wordcount.c d721a4b6fae93e6e33449700bce1686bc23257c27425bc3ef1599dc912adec66 F test/writecrash.test f1da7f7adfe8d7f09ea79b42e5ca6dcc41102f27f8e334ad71539501ddd910cc F test/zeroblob.test 07a5b11ab591d1f26c626945fb7f228f68b993533b2ada77273edf6ee29db174 @@ -1846,7 +1846,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 3f36b988360204628d5ad1df2db34818b9a2d6ba989018d4c17757229f4b0f65 -R 1ccda743d3e9d70fa02a48a9934b7b56 +P 9e0d5d2640a92070967bc9fdf5c5b1653e41b9c04e04dcb70f18ead10f053aef +R 3a28e103f730904ab51d0e6ee6470a7b U dan -Z 91e4861321d88dff250a48c5b1521faf +Z 8acae364a317e12955d8d3a9b0658eb3 diff --git a/manifest.uuid b/manifest.uuid index 83246f2144..cbf1401721 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9e0d5d2640a92070967bc9fdf5c5b1653e41b9c04e04dcb70f18ead10f053aef \ No newline at end of file +3934d2d08ee14d644dc01f967c10f219b76b172c963c90a7a8141f2b08a7d5bf \ No newline at end of file diff --git a/src/loadext.c b/src/loadext.c index 03997c0275..423a16fde9 100644 --- a/src/loadext.c +++ b/src/loadext.c @@ -463,7 +463,11 @@ static const sqlite3_api_routines sqlite3Apis = { sqlite3_stmt_isexplain, sqlite3_value_frombind, /* Version 3.30.0 and later */ +#ifndef SQLITE_OMIT_VIRTUALTABLE sqlite3_drop_modules, +#else + 0, +#endif }; /* diff --git a/test/without_rowid1.test b/test/without_rowid1.test index 294b13c77a..23fae118e4 100644 --- a/test/without_rowid1.test +++ b/test/without_rowid1.test @@ -17,6 +17,10 @@ set testdir [file dirname $argv0] source $testdir/tester.tcl set testprefix without_rowid1 +proc do_execsql_test_if_vtab {tn sql {res {}}} { + ifcapable vtab { uplevel [list do_execsql_test $tn $sql $res] } +} + # Create and query a WITHOUT ROWID table. # do_execsql_test without_rowid1-1.0 { @@ -31,7 +35,7 @@ do_execsql_test without_rowid1-1.0 { integrity_check without_rowid1-1.0ic -do_execsql_test without_rowid1-1.0ixi { +do_execsql_test_if_vtab without_rowid1-1.0ixi { SELECT name, key FROM pragma_index_xinfo('t1'); } {c 1 a 1 b 0 d 0} @@ -119,7 +123,7 @@ do_execsql_test 2.1.2 { UPDATE t4 SET a = 'ABC'; SELECT * FROM t4; } {ABC def} -do_execsql_test 2.1.3 { +do_execsql_test_if_vtab 2.1.3 { SELECT name, coll, key FROM pragma_index_xinfo('t4'); } {a nocase 1 b BINARY 0} @@ -135,7 +139,7 @@ do_execsql_test 2.2.2 { SELECT * FROM t4; } {xyz ABC} -do_execsql_test 2.2.3 { +do_execsql_test_if_vtab 2.2.3 { SELECT name, coll, key FROM pragma_index_xinfo('t4'); } {a nocase 1 b BINARY 0} @@ -146,7 +150,7 @@ do_execsql_test 2.3.1 { UPDATE t5 SET a='abc', b='def'; } {} -do_execsql_test 2.3.2 { +do_execsql_test_if_vtab 2.3.2 { SELECT name, coll, key FROM pragma_index_xinfo('t5'); } {b BINARY 1 a BINARY 1} @@ -165,7 +169,7 @@ do_execsql_test 2.4.2 { SELECT * FROM t6 ORDER BY c; } {ABC def ghi ABC def ghi} -do_execsql_test 2.4.3 { +do_execsql_test_if_vtab 2.4.3 { SELECT name, coll, key FROM pragma_index_xinfo('t6'); } {b BINARY 1 a nocase 1 c BINARY 0} diff --git a/test/without_rowid6.test b/test/without_rowid6.test index 4ad4d84576..567acfaed6 100644 --- a/test/without_rowid6.test +++ b/test/without_rowid6.test @@ -16,6 +16,10 @@ set testdir [file dirname $argv0] source $testdir/tester.tcl +proc do_execsql_test_if_vtab {tn sql {res {}}} { + ifcapable vtab { uplevel [list do_execsql_test $tn $sql $res] } +} + do_execsql_test without_rowid6-100 { CREATE TABLE t1(a,b,c,d,e, PRIMARY KEY(a,b,c,a,b,c,d,a,b,c)) WITHOUT ROWID; CREATE INDEX t1a ON t1(b, b); @@ -24,7 +28,7 @@ do_execsql_test without_rowid6-100 { INSERT INTO t1(a,b,c,d,e) SELECT i, i+1000, printf('x%dy',i), 0, 0 FROM c; ANALYZE; } {} -do_execsql_test without_rowid6-101 { +do_execsql_test_if_vtab without_rowid6-101 { SELECT name, key FROM pragma_index_xinfo('t1'); } {a 1 b 1 c 1 d 1 e 0} do_execsql_test without_rowid6-110 { @@ -54,7 +58,7 @@ do_execsql_test without_rowid6-200 { INSERT INTO t1(a,b,c) VALUES(1,8,3),(4,5,6),(7,2,9); SELECT a FROM t1 WHERE b>3 ORDER BY b; } {4 1} -do_execsql_test without_rowid6-201 { +do_execsql_test_if_vtab without_rowid6-201 { SELECT name, key FROM pragma_index_xinfo('t1'); } {b 1 a 0 c 0} do_execsql_test without_rowid6-210 { @@ -111,7 +115,7 @@ do_execsql_test without_rowid6-500 { INSERT INTO t1(a,b,c) VALUES(1,8,3),(4,5,6),(7,2,9); SELECT a FROM t1 WHERE b>3 ORDER BY b; } {4 1} -do_execsql_test without_rowid6-501 { +do_execsql_test_if_vtab without_rowid6-501 { SELECT name, key FROM pragma_index_xinfo('t1'); } {b 1 c 1 a 0} do_execsql_test without_rowid6-510 { diff --git a/test/without_rowid7.test b/test/without_rowid7.test index c75ceff35b..56e9fb40b9 100644 --- a/test/without_rowid7.test +++ b/test/without_rowid7.test @@ -15,6 +15,10 @@ set testdir [file dirname $argv0] source $testdir/tester.tcl set testprefix without_rowid7 +proc do_execsql_test_if_vtab {tn sql {res {}}} { + ifcapable vtab { uplevel [list do_execsql_test $tn $sql $res] } +} + do_execsql_test 1.0 { CREATE TABLE t1(a, b COLLATE nocase, PRIMARY KEY(a, a, b)) WITHOUT ROWID; } @@ -36,13 +40,13 @@ do_execsql_test 2.1 { do_execsql_test 2.2a { PRAGMA index_info(t2); } {0 0 a 1 0 a} -do_execsql_test 2.2b { +do_execsql_test_if_vtab 2.2b { SELECT *, '|' FROM pragma_index_info('t2'); } {0 0 a | 1 0 a |} do_execsql_test 2.3a { PRAGMA index_xinfo(t2); } {0 0 a 0 nocase 1 1 0 a 0 BINARY 1 2 1 b 0 BINARY 0} -do_execsql_test 2.3b { +do_execsql_test_if_vtab 2.3b { SELECT *, '|' FROM pragma_index_xinfo('t2'); } {0 0 a 0 nocase 1 | 1 0 a 0 BINARY 1 | 2 1 b 0 BINARY 0 |}