1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Put an ALWAYS() on an unreachable branch.

FossilOrigin-Name: 58caa50a410b7eb0e68658ea1e606d75ea85cdae04e864270c932246ba990b5e
This commit is contained in:
drh
2022-06-25 20:32:29 +00:00
parent fe9833482f
commit 54f1fc4f94
3 changed files with 8 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
C Allow\sflattening\sof\sa\ssubquery\sthat\sis\sthe\sright\soperand\sof\sa\sLEFT\sJOIN\nin\san\saggregate\squery\sas\slong\sas\sthere\sis\sno\sGROUP\sBY\sclause.\s\s(The\sGROUP\sBY\nclause\swill\sinterfere\swith\sthe\soperation\sof\sthe\sTK_IF_NULL_ROW\sexpression\nnodes.) C Put\san\sALWAYS()\son\san\sunreachable\sbranch.
D 2022-06-25T19:43:44.263 D 2022-06-25T20:32:29.777
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -642,7 +642,7 @@ F src/upsert.c 8789047a8f0a601ea42fa0256d1ba3190c13746b6ba940fe2d25643a7e991937
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
F src/util.c 602fe229f32a96ceccae4f40824129669582096f7c355f53dbac156c9fecef23 F src/util.c 602fe229f32a96ceccae4f40824129669582096f7c355f53dbac156c9fecef23
F src/vacuum.c bb346170b0b54c6683bba4a5983aea40485597fdf605c87ec8bc2e199fe88cd8 F src/vacuum.c bb346170b0b54c6683bba4a5983aea40485597fdf605c87ec8bc2e199fe88cd8
F src/vdbe.c ba1018c513ee177486a386dd0d4f52ec62e6fbaba9ebc23f100677af5599ff26 F src/vdbe.c 1266f3a4744224253dd74f0080014be8056b062c6f2f6a81e229fa0d306d4102
F src/vdbe.h 07641758ca8b4f4c6d81ea667ea167c541e6ece21f5574da11e3d21ec37e2662 F src/vdbe.h 07641758ca8b4f4c6d81ea667ea167c541e6ece21f5574da11e3d21ec37e2662
F src/vdbeInt.h 2cad0aeeb106371ed0e0946bab89f60627087068847afc2451c05056961c18da F src/vdbeInt.h 2cad0aeeb106371ed0e0946bab89f60627087068847afc2451c05056961c18da
F src/vdbeapi.c 602610f1252d59cd69742f78a1e2f6fbae40a4b407f5506a6a7b869b0df08ff2 F src/vdbeapi.c 602610f1252d59cd69742f78a1e2f6fbae40a4b407f5506a6a7b869b0df08ff2
@@ -1978,9 +1978,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 4542e32302067f24bf71c77620e09663f47c3ddce703c21ffa82d09532ae1d51 27f68e47320c751e3663507500c1c44f0b7f885f89c678fce6a35b1bc372dd64 P 2cf373b10c9bc4cbc5fe63d0a6948011df7bbc2f40dc025c9349f875da782b88
R 4695ba0a9eb0bfc0b34e8cb342c27d65 R 23ab54c38d6c741c18713aabfeb224f1
T +closed 27f68e47320c751e3663507500c1c44f0b7f885f89c678fce6a35b1bc372dd64
U drh U drh
Z 487b1bcb2151096fdcfe32d425a680ba Z 708e41bc037d720b3b5f9e0e89bbf5aa
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@@ -1 +1 @@
2cf373b10c9bc4cbc5fe63d0a6948011df7bbc2f40dc025c9349f875da782b88 58caa50a410b7eb0e68658ea1e606d75ea85cdae04e864270c932246ba990b5e

View File

@@ -2646,7 +2646,7 @@ case OP_IfNullRow: { /* jump */
VdbeCursor *pC; VdbeCursor *pC;
assert( pOp->p1>=0 && pOp->p1<p->nCursor ); assert( pOp->p1>=0 && pOp->p1<p->nCursor );
pC = p->apCsr[pOp->p1]; pC = p->apCsr[pOp->p1];
if( pC && pC->nullRow ){ if( ALWAYS(pC) && pC->nullRow ){
sqlite3VdbeMemSetNull(aMem + pOp->p3); sqlite3VdbeMemSetNull(aMem + pOp->p3);
goto jump_to_p2; goto jump_to_p2;
} }