Index: third_party/sqlite/src/ext/fts5/test/fts5fault5.test |
diff --git a/third_party/sqlite/src/ext/fts5/test/fts5fault5.test b/third_party/sqlite/src/ext/fts5/test/fts5fault5.test |
index 41de5208b2970455a98d5bda59297b9a299b3dc4..75b7d9af503fb8c46e97e924d1bb3f628039202f 100644 |
--- a/third_party/sqlite/src/ext/fts5/test/fts5fault5.test |
+++ b/third_party/sqlite/src/ext/fts5/test/fts5fault5.test |
@@ -65,19 +65,26 @@ do_faultsim_test 2.2 -faults oom-t* -body { |
} |
#------------------------------------------------------------------------- |
-# OOM while scanning an fts5vocab table. |
+# OOM while scanning fts5vocab tables. |
# |
reset_db |
do_test 3.0 { |
execsql { |
CREATE VIRTUAL TABLE tt USING fts5(x); |
CREATE VIRTUAL TABLE tv USING fts5vocab(tt, 'row'); |
+ |
+ CREATE VIRTUAL TABLE tt2 USING fts5(x, detail=col); |
+ CREATE VIRTUAL TABLE tv2 USING fts5vocab(tt2, 'col'); |
+ |
INSERT INTO tt(tt, rank) VALUES('pgsz', 32); |
+ INSERT INTO tt2(tt2, rank) VALUES('pgsz', 32); |
BEGIN; |
} |
+ |
for {set i 0} {$i < 20} {incr i} { |
set str [string repeat "$i " 50] |
execsql { INSERT INTO tt VALUES($str) } |
+ execsql { INSERT INTO tt2 VALUES($str) } |
} |
execsql COMMIT |
} {} |
@@ -98,6 +105,28 @@ do_faultsim_test 3.2 -faults oom-t* -body { |
faultsim_test_result {0 {1 10 11 12 13 14 15 16 17 18 19 2}} |
} |
+breakpoint |
+do_execsql_test 3.3.0 { |
+ SELECT * FROM tv2; |
+} { |
+ 0 x 1 {} 1 x 1 {} 10 x 1 {} 11 x 1 {} 12 x 1 {} 13 x 1 {} |
+ 14 x 1 {} 15 x 1 {} 16 x 1 {} 17 x 1 {} 18 x 1 {} 19 x 1 {} |
+ 2 x 1 {} 3 x 1 {} 4 x 1 {} 5 x 1 {} 6 x 1 {} 7 x 1 {} 8 x 1 {} |
+ 9 x 1 {} |
+} |
+do_faultsim_test 3.3 -faults oom-t* -body { |
+ db eval { |
+ SELECT * FROM tv2; |
+ } |
+} -test { |
+ faultsim_test_result [list 0 [list \ |
+ 0 x 1 {} 1 x 1 {} 10 x 1 {} 11 x 1 {} 12 x 1 {} 13 x 1 {} \ |
+ 14 x 1 {} 15 x 1 {} 16 x 1 {} 17 x 1 {} 18 x 1 {} 19 x 1 {} \ |
+ 2 x 1 {} 3 x 1 {} 4 x 1 {} 5 x 1 {} 6 x 1 {} 7 x 1 {} 8 x 1 {} \ |
+ 9 x 1 {} |
+ ]] |
+} |
+ |
finish_test |