From 1c7042956933eaa3e7e69221e38c8c14e283eae4 Mon Sep 17 00:00:00 2001 From: drh <> Date: Sat, 17 Dec 2022 12:49:04 +0000 Subject: [PATCH] Add NEVER/ALWAYS to branches that have become unreachable due to recent enhancements. FossilOrigin-Name: b4281db4e4762773684d27b809ef911da08b81cb953b3666e535b990d4d5f701 --- manifest | 16 ++++++++-------- manifest.uuid | 2 +- src/select.c | 4 ++-- src/vdbe.c | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 9a47027581..2006258f3b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Update\swasmfs.make\sto\sget\sWASMFS\sbuilding\sagain,\sbut\schanges\smade\sto\sOPFS-over-WASMFS\ssince\swe\slast\stested\sit\shave\smade\sit\sincompatible\swith\show\swe\sused\sit.\sIt\scan\snow\sonly\sbe\sused\sfrom\sworker\sthreads,\seliminating\sthe\sone\sbenefit\sit\shad\sover\sthe\ssqlite3_vfs\sOPFS\simplementation.\sRemove/amend\sreferences\sto\sWASMFS\sin\sthe\sdocs\sand\sremove\sall\sWASMFS-specific\stest\sapp\slinks\sfrom\sindex.html. -D 2022-12-17T11:14:35.220 +C Add\sNEVER/ALWAYS\sto\sbranches\sthat\shave\sbecome\sunreachable\sdue\sto\srecent\nenhancements. +D 2022-12-17T12:49:04.137 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -645,7 +645,7 @@ F src/printf.c e99ee9741e79ae3873458146f59644276657340385ade4e76a5f5d1c25793764 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c efea4e5fbecfd6d0a9071b0be0d952620991673391b6ffaaf4c277b0bb674633 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 -F src/select.c c4f845e116a425c71b8115b7ffc221237cb59569de3253134cbd570b7e04cf0f +F src/select.c 03e79d37c5c322b268734ec81be9ee2bb7c18c0c2f0a97abb664e8e5185f6693 F src/shell.c.in 47d491325ea7e01d9d4b7f6166a83fbfc6729b3d8a546d857d627a58a5d46d73 F src/sqlite.h.in e752f82b9d71f1d42b259b1900e4b1caf0965e844d756cd5cc91cc2cf45ed925 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -717,7 +717,7 @@ F src/upsert.c 5303dc6c518fa7d4b280ec65170f465c7a70b7ac2b22491598f6d0b4875b3145 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 F src/util.c 313f3154e2b85a447326f5dd15de8d31a4df6ab0c3579bd58f426ff634ec9050 F src/vacuum.c 84ce7f01f8a7a08748e107a441db83bcec13970190ddcb0c9ff522adbc1c23fd -F src/vdbe.c c1a65b1bb9e2fdb8831cfb4a7ff4ef3088647dd5f096bcedd5231c03181459f4 +F src/vdbe.c 5c66a10b2372082fb8eb06caef7617cc23e832a6b689e3163305caee6191da6d F src/vdbe.h 73b904a6b3bb27f308c6cc287a5751ebc7f1f89456be0ed068a12b92844c6e8c F src/vdbeInt.h 8651e4c4e04d1860d0bdcf330cb8294e3778a9d4222be30ce4c490d9220af783 F src/vdbeapi.c df3f73a4d0a487f2068e3c84776cd6e3fba5ae80ff612659dcfda4307686420b @@ -2067,8 +2067,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 28ba1fec4519e7ca9466f1a2f787c905f2cf880d38a004639f99f948e46a51e7 -R bc4bbe906c656894d069cd1f6228f4a2 -U stephan -Z 092c21b3ca5e87136be491e74ab05c79 +P 32dc98c8001387b1970623192ec6cb89445000fa49bda5f4bd7c525bbe20bb5b +R fd145bb1e560d360952a4e2703c6c38e +U drh +Z 72f0676cf319efb11f4d48e6755a2325 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index b48b089ec8..215c9972c1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -32dc98c8001387b1970623192ec6cb89445000fa49bda5f4bd7c525bbe20bb5b \ No newline at end of file +b4281db4e4762773684d27b809ef911da08b81cb953b3666e535b990d4d5f701 \ No newline at end of file diff --git a/src/select.c b/src/select.c index d34746fb36..7ce283a377 100644 --- a/src/select.c +++ b/src/select.c @@ -1901,7 +1901,7 @@ static const char *columnTypeImpl( Table *pTab = 0; /* Table structure column is extracted from */ Select *pS = 0; /* Select the column is extracted from */ int iCol = pExpr->iColumn; /* Index of column in pTab */ - while( pNC && !pTab ){ + while( ALWAYS(pNC) && !pTab ){ SrcList *pTabList = pNC->pSrcList; for(j=0;jnSrc && pTabList->a[j].iCursor!=pExpr->iTable;j++); if( jnSrc ){ @@ -1912,7 +1912,7 @@ static const char *columnTypeImpl( } } - if( pTab==0 ){ + if( NEVER(pTab==0) ){ /* At one time, code such as "SELECT new.x" within a trigger would ** cause this condition to run. Since then, we have restructured how ** trigger code is generated and so this condition is no longer diff --git a/src/vdbe.c b/src/vdbe.c index a3390d984f..bd8f57791e 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -2194,7 +2194,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ sqlite3VdbeMemStringify(pIn1, encoding, 1); testcase( (flags1&MEM_Dyn) != (pIn1->flags&MEM_Dyn) ); flags1 = (pIn1->flags & ~MEM_TypeMask) | (flags1 & MEM_TypeMask); - if( pIn1==pIn3 ) flags3 = flags1 | MEM_Str; + if( NEVER(pIn1==pIn3) ) flags3 = flags1 | MEM_Str; } if( (flags3 & MEM_Str)==0 && (flags3&(MEM_Int|MEM_Real|MEM_IntReal))!=0 ){ testcase( pIn3->flags & MEM_Int );