Index: third_party/sqlite/src/test/fts4content.test |
diff --git a/third_party/sqlite/src/test/fts4content.test b/third_party/sqlite/src/test/fts4content.test |
index 6b2cd3cc8ee3c40508fa30439e3c25d0c37af3b3..5a91987867e11e9710b544c9b99462fe50c61d41 100644 |
--- a/third_party/sqlite/src/test/fts4content.test |
+++ b/third_party/sqlite/src/test/fts4content.test |
@@ -48,6 +48,9 @@ ifcapable !fts3 { |
# |
# 9.* - Test using content=xxx where xxx is a virtual table. |
# |
+# 11.* - Test that circular references (e.g. "t1(content=t1)") are |
+# detected. |
+# |
do_execsql_test 1.1.1 { |
CREATE TABLE t1(a, b, c); |
@@ -406,7 +409,7 @@ do_execsql_test 5.1.7 { |
# |
do_catchsql_test 6.1.1 { |
CREATE VIRTUAL TABLE ft7 USING fts4(content=t7); |
-} {1 {vtable constructor failed: ft7}} |
+} {1 {no such table: main.t7}} |
do_execsql_test 6.2.1 { |
CREATE TABLE t7(one, two); |
@@ -433,7 +436,7 @@ do_execsql_test 6.2.3 { |
} |
do_catchsql_test 6.2.4 { |
SELECT * FROM ft7; |
-} {1 {vtable constructor failed: ft7}} |
+} {1 {no such table: main.t7}} |
do_execsql_test 6.2.5 { |
CREATE TABLE t7(x, y); |
INSERT INTO t7 VALUES('A B', 'B A'); |
@@ -584,7 +587,7 @@ do_execsql_test 10.1 { |
INSERT INTO idx VALUES (3, 't3.txt'); |
CREATE VIRTUAL TABLE vt USING fs(idx); |
- SELECT * FROM vt; |
+ SELECT path, data FROM vt; |
} { |
1 {a b c d e f g h i j k l m n o p q r s t u v w x y z} |
2 {a b c d e f g h i j k l m a b c d e f g h i j k l m} |
@@ -592,7 +595,7 @@ do_execsql_test 10.1 { |
} |
do_execsql_test 10.2 { |
- SELECT * FROM vt WHERE rowid = 2; |
+ SELECT path, data FROM vt WHERE rowid = 2; |
} { |
2 {a b c d e f g h i j k l m a b c d e f g h i j k l m} |
} |
@@ -622,4 +625,15 @@ do_execsql_test 10.7 { |
{...c d [e] f g...} |
} |
+#------------------------------------------------------------------------- |
+# Test cases 11.* |
+# |
+reset_db |
+ |
+do_catchsql_test 11.1 { |
+ CREATE VIRTUAL TABLE x1 USING fts4(content=x1); |
+} {1 {vtable constructor called recursively: x1}} |
+ |
+ |
finish_test |
+ |