mirror of
https://github.com/sqlite/sqlite.git
synced 2026-10-23 21:49:02 +03:00
Fix a problem in the query flattener associated with RIGHT JOIN, as
reported by [bugs:/info/2026-10-11T16:49:00Z|Bug 2026-10-11T16:49:00Z]. This problem surfaced after the fix to [forum:/info/2025-08-21T14:14:03Z|Forum post 2025-08-21T14:14:03Z] at check-in [e0beda7ffe92abf6]. Before that, the query would not parse. FossilOrigin-Name: e6e27e37eb8c3159d67529959694971f35a589da75648e207c44e317e6d160be
This commit is contained in:
15
manifest
15
manifest
@@ -1,5 +1,5 @@
|
||||
C Back\sout\sa\sminor\sperformance\soptimization\sassociated\swith\nsqlite3VdbeMakeReady()\sas\sit\shas\sbeen\sfound\sto\snot\swork\scorrectly\son\nsome\s32-bit\sbuilds.\n[bugs:/info/2026-10-10T18:05:46Z|Bug\s2026-10-10T18:05:46Z]
|
||||
D 2026-10-10T19:11:52.975
|
||||
C Fix\sa\sproblem\sin\sthe\squery\sflattener\sassociated\swith\sRIGHT\sJOIN,\sas\nreported\sby\s[bugs:/info/2026-10-11T16:49:00Z|Bug\s2026-10-11T16:49:00Z].\nThis\sproblem\ssurfaced\safter\sthe\sfix\sto\n[forum:/info/2025-08-21T14:14:03Z|Forum\spost\s2025-08-21T14:14:03Z]\nat\scheck-in\s[e0beda7ffe92abf6].\s\sBefore\sthat,\sthe\squery\swould\snot\sparse.
|
||||
D 2026-10-11T17:44:08.449
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@@ -801,7 +801,7 @@ F src/printf.c 4bd228ed9e9346d558362be562757ee5eef6f9bf483b7f02751ca42cf95174d3
|
||||
F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
|
||||
F src/resolve.c 0e0990f60c93db38c735d85e5d1741130e72dd0670aec204b5a39118b53c8044
|
||||
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
|
||||
F src/select.c f6ad8bbf82f21a32c68ce3d885f1a960469d48efde93f432f5ba680869ae64f6
|
||||
F src/select.c 5e7655839fadbcbfa4ad256821f8e3b7d572428a9c8317937106786e6e8305f0
|
||||
F src/shell.c.in 5968e51d260f72f3ac074ca435b041324c7e5b04702e7e0e3cab4261ce5dda67
|
||||
F src/sqlite.h.in 648fdc66f52433fc0f6cf9564ac924cde544eca9605bbac36aa22d8c944f11ed
|
||||
F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
|
||||
@@ -1421,7 +1421,7 @@ F test/joinD.test 2ce62e7353a0702ca5e70008faf319c1d4686aa19fba34275c6d1da0e960be
|
||||
F test/joinE.test d5d182f3812771e2c0d97c9dcf5dbe4c41c8e21c82560e59358731c4a3981d6b
|
||||
F test/joinF.test 53dd66158806823ea680dd7543b5406af151b5aafa5cd06a7f3231cd94938127
|
||||
F test/joinH.test 19fed5f335f75990a537612ad6ad2d2bfced58ff5cd458af17d83878a167e08e
|
||||
F test/joinI.test 4317e5acf69de782187a35e2e67261a350973c75e1be51e3bbeab598b3538097
|
||||
F test/joinI.test a7bc696ad455d19c71286992ae915bf3d40bdd3e1cc4406b0979e09a6ac912a2
|
||||
F test/journal1.test bc61a4228db11bffca118bd358ba4b868524bf080f3532749de6c539656e20fa
|
||||
F test/journal2.test 9dac6b4ba0ca79c3b21446bbae993a462c2397c4
|
||||
F test/journal3.test e5aeff93a7776cf644dbc48dec277655cff80a1cd24689036abc87869b120ea6
|
||||
@@ -2283,9 +2283,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
|
||||
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
|
||||
P e3e5ef4e17373677e1cc589ac79e20f6fb523e60fe8afdbc0b92f12cc75cff8b
|
||||
Q -9a2a230464e4314033e67e602dbd9f554f50ec2eefc7b1a5f05b85249591f7b8
|
||||
R ab1793ac445552f5f48eb8e31a17e874
|
||||
P 6ebd1e69486cabc6be3316426f67341d75073e8b392de5d6e5307662dd0000dd
|
||||
R 3319ccaf0c0774a4e4e39c418ec93b36
|
||||
U drh
|
||||
Z 45d1b3cab50790979b84a51171404376
|
||||
Z e86168cc2acce42c941a0f03a4eff586
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
||||
@@ -1 +1 @@
|
||||
6ebd1e69486cabc6be3316426f67341d75073e8b392de5d6e5307662dd0000dd
|
||||
e6e27e37eb8c3159d67529959694971f35a589da75648e207c44e317e6d160be
|
||||
|
||||
@@ -4124,7 +4124,9 @@ static int renumberCursorsCb(Walker *pWalker, Expr *pExpr){
|
||||
if( op==TK_COLUMN || op==TK_IF_NULL_ROW ){
|
||||
renumberCursorDoMapping(pWalker, &pExpr->iTable);
|
||||
}
|
||||
if( ExprHasProperty(pExpr, EP_OuterON) ){
|
||||
if( ExprHasProperty(pExpr, (EP_OuterON|EP_InnerON)) ){
|
||||
testcase( ExprHasProperty(pExpr, EP_OuterON) );
|
||||
testcase( ExprHasProperty(pExpr, EP_InnerON) );
|
||||
renumberCursorDoMapping(pWalker, &pExpr->w.iJoin);
|
||||
}
|
||||
return WRC_Continue;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 2022 May 17
|
||||
# 2025-08-22
|
||||
#
|
||||
# The author disclaims copyright to this source code. In place of
|
||||
# a legal notice, here is a blessing:
|
||||
@@ -286,4 +286,17 @@ do_execsql_test 9.4 {
|
||||
WHERE t1.b IS NULL;
|
||||
}
|
||||
|
||||
# Bug 2026-10-11T16:49:00Z
|
||||
db null NULL
|
||||
do_execsql_test 10.0 {
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES(1);
|
||||
SELECT x.a AS xa, y.a AS yz, z.a AS za, va
|
||||
FROM t1 AS x JOIN t1 AS y ON x.a+y.a=0
|
||||
RIGHT JOIN t1 AS z ON z.a+y.a=0
|
||||
CROSS JOIN (SELECT 2 AS va FROM t1 UNION ALL SELECT 3 FROM t1)
|
||||
ORDER BY +va;
|
||||
} {NULL NULL 1 2 NULL NULL 1 3}
|
||||
|
||||
finish_test
|
||||
|
||||
Reference in New Issue
Block a user