diff --git a/manifest b/manifest index b33a06de2e..29807464a4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\squery\sflattener\sto\sdeal\swith\sa\sRIGHT\sJOIN\scorner\scase\sdescribed\nby\s[forum:/forumpost/323f86cc30|forum\spost\s323f86cc30]. -D 2022-06-07T13:09:58.839 +C New\stest\scases\srefute\scheck-in\s[3f45007d544e5f78]. +D 2022-06-08T13:13:12.952 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -1159,7 +1159,7 @@ F test/ioerr4.test f130fe9e71008577b342b8874d52984bd04ede2c F test/ioerr5.test 2edfa4fb0f896f733071303b42224df8bedd9da4 F test/ioerr6.test a395a6ab144b26a9e3e21059a1ab6a7149cca65b F test/istrue.test e7f285bb70282625c258e866ce6337d4c762922f5a300e1b50f958aef6e7d9c9 -F test/join.test edeaff6edc1c1a2bcfebee343744e04d000f861c3d67cb653114f88565f8c955 +F test/join.test 5c7f917aa219a125d1df517d3df384c79f74860fdfb2e48c0a599f1e2b3e9ed8 F test/join2.test 466b07233820f5deee66a6c3bf6e4500c8bbf7b83649e67606f5f649c07928c0 F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0 F test/join4.test 1a352e4e267114444c29266ce79e941af5885916 @@ -1975,8 +1975,11 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 7f97cb67d01a11f1b7e5b5f05824f9adbc6e4689d1809d60ceda50a595ba6d4a -R 413a4b040170a880590160583cee3c05 +P 3f45007d544e5f787d5837b4d9f484ba473d69cdba83c229228e9c2f6b972b75 +R c96b16d4cbc04e083033588816910e05 +T *branch * right-join-query-flattener +T *sym-right-join-query-flattener * +T -sym-trunk * U drh -Z 0662644a85d84e671b5268c6a964cd54 +Z 2df224370f3f0ffaebb8686aa2afb5ed # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index bec5ee0b5d..0a4525f13b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3f45007d544e5f787d5837b4d9f484ba473d69cdba83c229228e9c2f6b972b75 \ No newline at end of file +12d3c96c39d12f6b01b77456eb874fff445ebfc60f50aada51b06ed37af364ea \ No newline at end of file diff --git a/test/join.test b/test/join.test index 09ede1a4af..38143c0560 100644 --- a/test/join.test +++ b/test/join.test @@ -1067,4 +1067,38 @@ do_catchsql_test join-26.1 { SELECT * FROM t5 JOIN ((t4 JOIN (t5 JOIN t6)) t7); } {/1 {.*}/} +# 2022-06-09 Invalid subquery flattening caused by +# check-in 3f45007d544e5f78 and detected by dbsqlfuzz +# +reset_db +do_execsql_test join-27.1 { + CREATE TABLE t1(a INT,b INT,c INT); INSERT INTO t1 VALUES(NULL,NULL,NULL); + CREATE TABLE t2(d INT,e INT); INSERT INTO t2 VALUES(NULL,NULL); + CREATE INDEX x2 ON t1(c,b); + CREATE TABLE t3(x INT); INSERT INTO t3 VALUES(NULL); +} +do_execsql_test join-27.2 { + WITH t99(b) AS MATERIALIZED ( + SELECT b FROM t2 LEFT JOIN t1 ON c IN (SELECT x FROM t3) + ) + SELECT 5 FROM t2 JOIN t99 ON b IN (1,2,3); +} {} +do_execsql_test join-27.3 { + WITH t99(b) AS NOT MATERIALIZED ( + SELECT b FROM t2 LEFT JOIN t1 ON c IN (SELECT x FROM t3) + ) + SELECT 5 FROM t2 JOIN t99 ON b IN (1,2,3); +} {} +do_execsql_test join-27.4 { + WITH t99(b) AS (SELECT b FROM t2 LEFT JOIN t1 ON c IN (SELECT x FROM t3)) + SELECT 5 FROM t2 JOIN t99 ON b IN (1,2,3); +} {} +do_execsql_test join-27.5 { + SELECT 5 + FROM t2 JOIN ( + SELECT b FROM t2 LEFT JOIN t1 ON c IN (SELECT x FROM t3) + ) AS t99 ON b IN (1,2,3); +} {} + + finish_test