Index: third_party/sqlite/src/ext/fts5/test/fts5config.test |
diff --git a/third_party/sqlite/src/ext/fts5/test/fts5config.test b/third_party/sqlite/src/ext/fts5/test/fts5config.test |
index dcda2d42a677d315908b83cf06fe28426048875b..386d112e7daf3c591d8da3c5111f2e982596c04d 100644 |
--- a/third_party/sqlite/src/ext/fts5/test/fts5config.test |
+++ b/third_party/sqlite/src/ext/fts5/test/fts5config.test |
@@ -44,6 +44,8 @@ foreach {tn opt} { |
3 {prefix='$'} |
4 {prefix='1,2,'} |
5 {prefix=',1'} |
+ 6 {prefix='1,2,3...'} |
+ 7 {prefix='1,2,3xyz'} |
} { |
set res [list 1 {malformed prefix=... directive}] |
do_catchsql_test 2.$tn "CREATE VIRTUAL TABLE f1 USING fts5(x, $opt)" $res |
@@ -159,6 +161,8 @@ do_catchsql_test 8.1 { |
# 9.1.* 'pgsz' options. |
# 9.2.* 'automerge' options. |
# 9.3.* 'crisismerge' options. |
+# 9.4.* a non-existant option. |
+# 9.5.* 'hashsize' options. |
# |
do_execsql_test 9.0 { |
CREATE VIRTUAL TABLE abc USING fts5(a, b); |
@@ -203,6 +207,16 @@ do_catchsql_test 9.4.1 { |
INSERT INTO abc(abc, rank) VALUES('nosuchoption', 1); |
} {1 {SQL logic error or missing database}} |
+do_catchsql_test 9.5.1 { |
+ INSERT INTO abc(abc, rank) VALUES('hashsize', 'not an integer'); |
+} {1 {SQL logic error or missing database}} |
+do_catchsql_test 9.5.2 { |
+ INSERT INTO abc(abc, rank) VALUES('hashsize', -500000); |
+} {1 {SQL logic error or missing database}} |
+do_catchsql_test 9.5.3 { |
+ INSERT INTO abc(abc, rank) VALUES('hashsize', 500000); |
+} {0 {}} |
+ |
#------------------------------------------------------------------------- |
# Too many prefix indexes. Maximum allowed is 31. |
# |
@@ -214,5 +228,40 @@ foreach {tn spec} { |
do_catchsql_test 10.$tn $sql {1 {too many prefix indexes (max 31)}} |
} |
+#------------------------------------------------------------------------- |
+# errors in the detail= option. |
+# |
+foreach {tn opt} { |
+ 1 {detail=x} |
+ 2 {detail='x'} |
+ 3 {detail='$'} |
+ 4 {detail='1,2,'} |
+ 5 {detail=',1'} |
+ 6 {detail=''} |
+} { |
+ set res [list 1 {malformed detail=... directive}] |
+ do_catchsql_test 11.$tn "CREATE VIRTUAL TABLE f1 USING fts5(x, $opt)" $res |
+} |
+ |
+do_catchsql_test 12.1 { |
+ INSERT INTO t1(t1, rank) VALUES('rank', NULL);; |
+} {1 {SQL logic error or missing database}} |
+ |
+#------------------------------------------------------------------------- |
+# errors in the 'usermerge' option |
+# |
+do_execsql_test 13.0 { |
+ CREATE VIRTUAL TABLE tt USING fts5(ttt); |
+} |
+foreach {tn val} { |
+ 1 -1 |
+ 2 4.2 |
+ 3 17 |
+ 4 1 |
+} { |
+ set sql "INSERT INTO tt(tt, rank) VALUES('usermerge', $val)" |
+ do_catchsql_test 13.$tn $sql {1 {SQL logic error or missing database}} |
+} |
+ |
finish_test |