]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add tests for the use of SQLITE_PREPARE_NO_VTAB in fts5.
authordan <dan@noemail.net>
Fri, 21 Dec 2018 19:30:18 +0000 (19:30 +0000)
committerdan <dan@noemail.net>
Fri, 21 Dec 2018 19:30:18 +0000 (19:30 +0000)
FossilOrigin-Name: 1999612010e310fc2430d1f00076f69fade0c66d202771dbb0f3d5597ac0a03c

ext/fts5/test/fts5circref.test [new file with mode: 0644]
manifest
manifest.uuid

diff --git a/ext/fts5/test/fts5circref.test b/ext/fts5/test/fts5circref.test
new file mode 100644 (file)
index 0000000..ea99219
--- /dev/null
@@ -0,0 +1,80 @@
+# 2018 Dec 22
+#
+# The author disclaims copyright to this source code.  In place of
+# a legal notice, here is a blessing:
+#
+#    May you do good and not evil.
+#    May you find forgiveness for yourself and forgive others.
+#    May you share freely, never taking more than you give.
+#
+#*************************************************************************
+# This file implements regression tests for SQLite library.  The
+# focus of this script is testing the FTS5 module.
+#
+
+source [file join [file dirname [info script]] fts5_common.tcl]
+set testprefix fts5circref
+
+# If SQLITE_ENABLE_FTS5 is not defined, omit this file.
+ifcapable !fts5 {
+  finish_test
+  return
+}
+
+do_execsql_test 1.0 {
+  CREATE VIRTUAL TABLE tt USING fts5(a);
+  SELECT name FROM sqlite_master ORDER BY 1;
+} {
+  tt tt_config tt_content tt_data tt_docsize tt_idx
+}
+db_save_and_close
+
+foreach {tn schema sql} {
+  1 {
+    CREATE TRIGGER tr1 AFTER INSERT ON tt_config BEGIN
+      SELECT * FROM tt;
+    END;
+  } {
+    INSERT INTO tt(tt, rank) VALUES('usermerge', 4);
+  }
+
+  2 {
+    CREATE TRIGGER tr1 AFTER INSERT ON tt_docsize BEGIN
+      SELECT * FROM tt;
+    END;
+  } {
+    INSERT INTO tt(a) VALUES('one two three');
+  }
+
+  3 {
+    CREATE TRIGGER tr1 AFTER INSERT ON tt_content BEGIN
+      SELECT * FROM tt;
+    END;
+  } {
+    INSERT INTO tt(a) VALUES('one two three');
+  }
+
+  4 {
+    CREATE TRIGGER tr1 AFTER INSERT ON tt_data BEGIN
+      SELECT * FROM tt;
+    END;
+  } {
+    INSERT INTO tt(a) VALUES('one two three');
+  }
+
+  5 {
+    CREATE TRIGGER tr1 AFTER INSERT ON tt_idx BEGIN
+      SELECT * FROM tt;
+    END;
+  } {
+    INSERT INTO tt(a) VALUES('one two three');
+  }
+} {
+  db_restore_and_reopen
+  do_execsql_test 1.1.$tn.1 $schema
+  do_catchsql_test 1.1.$tn.2 $sql {1 {SQL logic error}}
+  db close
+}
+
+
+finish_test
index 8ee5ea2577a5cff3c7a30af204e7dcc2aa0acfd6..e37b48aefe0da300366254c21343f67286354c37 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\snew\ssqlite3_prepare_v3()\sflag\sSQLITE_PREPARE_NO_VTAB,\sfor\spreparing\nstatements\sthat\sare\snot\sallowed\sto\suse\sany\svirtual\stables.\sUse\sthis\sto\sprevent\ncircular\sreferences\sin\striggers\son\svirtual\stable\sshadow\stables\sfrom\scausing\nresource\sleaks.
-D 2018-12-21T19:29:11.823
+C Add\stests\sfor\sthe\suse\sof\sSQLITE_PREPARE_NO_VTAB\sin\sfts5.
+D 2018-12-21T19:30:18.205
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6
@@ -147,6 +147,7 @@ F ext/fts5/test/fts5auxdata.test eacc97ff04892f1a5f3d4df5a73f8bcbc3955ea1d12c9f2
 F ext/fts5/test/fts5bigpl.test 6466c89b38439f0aba26ac09e232a6b963f29b1cbe1304f6a664fe1e7a8f5fd3
 F ext/fts5/test/fts5bigtok.test 541119e616c637caea925a8c028c37c2c29e94383e00aa2f9198d530724b6e36
 F ext/fts5/test/fts5cat.test daba0b80659460b0cb60bd1f40b402478a761fe7ea414c3c94c2be25568cc33a
+F ext/fts5/test/fts5circref.test f880dfd0d99f6fb73b88ccacb0927d18e833672fd906cc47d6b4e529419eaa62
 F ext/fts5/test/fts5colset.test a30473451321bbf0b6218af62e96b4ae5fa99931cfdb210b5ecc804623b30f75
 F ext/fts5/test/fts5columnsize.test 45459ce4dd9fd853b6044cdc9674921bff89e3d840f348ca8c1630f9edbf5482
 F ext/fts5/test/fts5config.test 60094712debc59286c59aef0e6cf511c37d866802776a825ce437d26afe0817f
@@ -1789,10 +1790,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 1abb83d29a06308c96bea379311b390240347c5f81824749348d18ad75840c96
-R ee9e12df7c7a61a1c20da6986c808868
-T *branch * prepare-no-vtab
-T *sym-prepare-no-vtab *
-T -sym-trunk *
+P 25666e3d03950caf753295cdb55df162e07dbcf6840b05875c6e0b127c469ecb
+R 9c838f062778a619a345ffd7c73a0d58
 U dan
-Z 260eb4490c77104dc85705b69e11da46
+Z 77c2c3902048e99c38e264cb7ed84747
index e1b994092b8a3a42d2377de629a013f01839df1d..570bb182e1e00c19d509b5b6878872c97c1a68f0 100644 (file)
@@ -1 +1 @@
-25666e3d03950caf753295cdb55df162e07dbcf6840b05875c6e0b127c469ecb
\ No newline at end of file
+1999612010e310fc2430d1f00076f69fade0c66d202771dbb0f3d5597ac0a03c
\ No newline at end of file