From: drh <> Date: Wed, 4 Mar 2026 13:02:08 +0000 (+0000) Subject: Fix a code-generator bug introduced by the UNION/INTERSECT/EXISTS X-Git-Tag: version-3.52.0~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76e562e2225651f91fbe34d36be76170b3fe8714;p=thirdparty%2Fsqlite.git Fix a code-generator bug introduced by the UNION/INTERSECT/EXISTS optimization of check-in [132ba781b031972c] and reported in [forum:/forumpost/2026-03-04T05:06:26Z|forum post 2026-03-04T05:06:26Z]. FossilOrigin-Name: 6ba7797cac7dc873b62a12be5712511c9199b379342dac4a1887bfd65227a298 --- diff --git a/manifest b/manifest index ea0c2eff2d..6dcb09672c 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\san\sobscure\srace\scondition\sbetween\sa\scheckpointer\sand\sa\swriter\swrapping\saround\sto\sthe\sstart\sof\sthe\swal\sfile. -D 2026-03-03T19:43:19.771 +C Fix\sa\scode-generator\sbug\sintroduced\sby\sthe\sUNION/INTERSECT/EXISTS\noptimization\sof\scheck-in\s[132ba781b031972c]\sand\sreported\sin\n[forum:/forumpost/2026-03-04T05:06:26Z|forum\spost\s2026-03-04T05:06:26Z]. +D 2026-03-04T13:02:08.305 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -729,7 +729,7 @@ F src/printf.c 9cff219dba73b1aa9a8113e83e962f03f7bea8b6eb51cefb25bc468d5a69fb2d F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 928ff887f2a7c64275182060d94d06fdddbe32226c569781cf7e7edc6f58d7fd F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 -F src/select.c 8fe87c39a45037dac2e3dc02e1dc13ca09c1155cc14df9daaa65e5318179beaf +F src/select.c d739fb0ac7e632327b9fb4a1ac46629ec93f5e3438943df813f230f7822c56ab F src/shell.c.in 2acdfca982deb70cdfefb8b422822d4e0234fe4dde6ff2bd9020b26445853917 F src/sqlite.h.in 1f853f1d836af3e5a0b451521041d05658988a45f6978aaae08286e483fee5ac F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 @@ -2074,7 +2074,7 @@ F test/windowerr.tcl f5acd6fbc210d7b5546c0e879d157888455cd4a17a1d3f28f07c1c8a387 F test/windowerr.test a8b752402109c15aa1c5efe1b93ccb0ce1ef84fa964ae1cd6684dd0b3cc1819b F test/windowfault.test 15094c1529424e62f798bc679e3fe9dfab6e8ba2f7dfe8c923b6248c31660a7c F test/windowpushd.test c420e2265f0e09a0e798d0513a660d71b51602088d81b3dbd038918ee1339dcc -F test/with1.test 1ee171d7c306ab8b0771f3511d870f56c735607729836585bbceb1fc2f47e0b1 +F test/with1.test 31db84788e0429885b63995149fab57d32e26196b752a3a926249ae74c0adddd F test/with2.test 181674a6cc86a601ca2ac052741cdfad5b529e07e870435d2f6cdb92d589ff17 F test/with3.test e30369ea27aa27eb1bda4c5e510c8a9f782c8afd2ab99d1a02b8a7f25a5d3e65 F test/with4.test 257be66c0c67fee1defbbac0f685c3465e2cad037f21ce65f23f86084f198205 @@ -2189,9 +2189,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P 88dce64242552e7443d9fb496f6f3ad71dc5b4a882ce21b7ef1d5ea4e26f1e61 703cbb0f760515eac1e6f72a5e5cd928258c71378e4a976082b6518c90128135 -R 081029f3feecf24cb4be31bd4056634e -T +closed 703cbb0f760515eac1e6f72a5e5cd928258c71378e4a976082b6518c90128135 -U dan -Z aa660315ed5ec6682f68be7645c0d8b8 +P 7168988acbec2d8d51106a263e553f8942b8b23d983dbbe5028e0f9be68cbb83 +R 919bab5ba9cb4a7afc21d24bdc3fa2c5 +U drh +Z 463d87a5025767bf46752b6593cc33c4 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 5e463bf5c6..171b2c7c09 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7168988acbec2d8d51106a263e553f8942b8b23d983dbbe5028e0f9be68cbb83 +6ba7797cac7dc873b62a12be5712511c9199b379342dac4a1887bfd65227a298 diff --git a/src/select.c b/src/select.c index 62e73a699c..027c776911 100644 --- a/src/select.c +++ b/src/select.c @@ -3268,7 +3268,6 @@ static int generateOutputSubroutine( sqlite3VdbeAddOp3(v, OP_MakeRecord, pIn->iSdst, pIn->nSdst, r3); if( pDest->eDest==SRT_DistQueue ){ sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm+1, r3); - sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); } for(ii=0; ii