summaryrefslogtreecommitdiffstats
path: root/test/pragma4.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/pragma4.test')
-rw-r--r--test/pragma4.test32
1 files changed, 31 insertions, 1 deletions
diff --git a/test/pragma4.test b/test/pragma4.test
index 97c6226..5360fba 100644
--- a/test/pragma4.test
+++ b/test/pragma4.test
@@ -97,7 +97,7 @@ do_test pragma4-2.100 {
}
string map {\[ x \] x \173 {} \175 {}} \
[db eval {EXPLAIN PRAGMA integrity_check}]
-} {/ IntegrityCk 2 2 1 x[0-9]+,1x /}
+} {/ IntegrityCk 1 2 8 x[0-9]+,1x /}
#--------------------------------------------------------------------------
@@ -271,6 +271,8 @@ catch {db3 close}
ifcapable vtab {
reset_db
do_execsql_test 6.0 {
+ DROP TABLE IF EXISTS t1;
+ DROP TABLE IF EXISTS t2;
CREATE TABLE t1(a INT PRIMARY KEY, b INT);
CREATE TABLE t2(c INT PRIMARY KEY, d INT REFERENCES t1);
SELECT t.name, f."table", f."from", i.name, i.pk
@@ -281,4 +283,32 @@ ifcapable vtab {
} {t2 t1 d a 1}
}
+# 2024-05-08 https://sqlite.org/forum/forumpost/cf29a33e94
+#
+ifcapable vtab {
+ do_execsql_test 7.0 {
+ CREATE TABLE t3 ("a" TEXT, "b" TEXT);
+ CREATE TABLE t4 ("a" TEXT, "b" TEXT, "c" TEXT);
+ }
+
+ do_execsql_test 7.1 {
+ CREATE TABLE pragma_t3 AS SELECT * FROM pragma_table_info('t3');
+ CREATE TABLE pragma_t4 AS SELECT * FROM pragma_table_info('t4');
+ }
+
+ do_execsql_test 7.2 {
+ SELECT pragma_t4.name, pragma_t3.name
+ FROM pragma_t4 RIGHT JOIN pragma_t3 ON (pragma_t4.name=pragma_t3.name);
+ } {a a b b}
+
+ do_execsql_test 7.3 {
+ SELECT t4.name, t3.name
+ FROM pragma_table_info('t4') t4
+ RIGHT JOIN pragma_table_info('t3') t3 ON (t4.name=t3.name);
+ } {a a b b}
+}
+
+
+
+
finish_test