From: drh <> Date: Wed, 17 May 2023 16:13:48 +0000 (+0000) Subject: Simplification, performance improvement, and size reduction in the X-Git-Tag: version-3.43.0~266 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=653882ed8ce3fa794ac23dbafaba404ffda04b0d;p=thirdparty%2Fsqlite.git Simplification, performance improvement, and size reduction in the codeAllEqualityTerms() function of the code generator. FossilOrigin-Name: 4fbe02651e877e442d62308d7f607e503695104cd71c5565132fcd1398c120df --- diff --git a/manifest b/manifest index d88d8dc2e4..8559206bb7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C New\sassert()\sstatements\sto\sverify\sthat\sExpr.iColumn\sis\snever\sused\sas\san\narray\sindex\swhen\sits\svalue\sis\snegative. -D 2023-05-17T15:46:46.228 +C Simplification,\sperformance\simprovement,\sand\ssize\sreduction\sin\sthe\ncodeAllEqualityTerms()\sfunction\sof\sthe\scode\sgenerator. +D 2023-05-17T16:13:48.064 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -723,7 +723,7 @@ F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b F src/where.c b74a83b4c8f65b218c5c1c8d9122433f85ee1300fd9263ba1697d0e1040eeb36 F src/whereInt.h e25203e5bfee149f5f1225ae0166cfb4f1e65490c998a024249e98bb0647377c -F src/wherecode.c b300db0bcd84ad6c2642bf3f509f92fad7b7d697b9856b64dd66d692d184d054 +F src/wherecode.c e63b522e780e92ed80b5e278e88f54e1166cafa272d2e06cd36297478f44bce2 F src/whereexpr.c 22cf19b0ececeaf838daed1039c5231a8778784eba5ad67b991442a23473fd3f F src/window.c e075ea85bea322e30e361fa6e69eddba74f461e99e2a564dc09973f8a1fb27d9 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 @@ -2070,8 +2070,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 6dbd5b3cc801a75ea23842a43eb7106b62fc1d26dd5a8477a0217325539a7c1a -R 9b9c07d26588f36e11a6d0220a07b376 +P 6084c5fb6d3fcedf35cd6c597a44ec7bf8b4a2576c7b277e5342d2a7905318e7 +R 6485d1d144054894bb806b033900eb87 U drh -Z 7d7251cbba8f3faed0cc8e31b2ace739 +Z 8a0864d2f033378cf6e10cbbd0a26acb # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index d73c3f7c65..ebc3507eb4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6084c5fb6d3fcedf35cd6c597a44ec7bf8b4a2576c7b277e5342d2a7905318e7 \ No newline at end of file +4fbe02651e877e442d62308d7f607e503695104cd71c5565132fcd1398c120df \ No newline at end of file diff --git a/src/wherecode.c b/src/wherecode.c index a998c0a4f4..9158c9738c 100644 --- a/src/wherecode.c +++ b/src/wherecode.c @@ -812,7 +812,7 @@ static int codeAllEqualityTerms( /* Figure out how many memory cells we will need then allocate them. */ regBase = pParse->nMem + 1; - nReg = pLoop->u.btree.nEq + nExtraReg; + nReg = nEq + nExtraReg; pParse->nMem += nReg; zAff = sqlite3DbStrDup(pParse->db,sqlite3IndexAffinityStr(pParse->db,pIdx)); @@ -859,9 +859,6 @@ static int codeAllEqualityTerms( sqlite3VdbeAddOp2(v, OP_Copy, r1, regBase+j); } } - } - for(j=nSkip; jaLTerm[j]; if( pTerm->eOperator & WO_IN ){ if( pTerm->pExpr->flags & EP_xIsSelect ){ /* No affinity ever needs to be (or should be) applied to a value