Simplification, performance improvement, and size reduction in the
codeAllEqualityTerms() function of the code generator. FossilOrigin-Name: 4fbe02651e877e442d62308d7f607e503695104cd71c5565132fcd1398c120df
This commit is contained in:
parent
60fd5c34ab
commit
653882ed8c
12
manifest
12
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.
|
C Simplification,\sperformance\simprovement,\sand\ssize\sreduction\sin\sthe\ncodeAllEqualityTerms()\sfunction\sof\sthe\scode\sgenerator.
|
||||||
D 2023-05-17T15:46:46.228
|
D 2023-05-17T16:13:48.064
|
||||||
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
|
||||||
@ -723,7 +723,7 @@ F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
|
|||||||
F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b
|
F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b
|
||||||
F src/where.c b74a83b4c8f65b218c5c1c8d9122433f85ee1300fd9263ba1697d0e1040eeb36
|
F src/where.c b74a83b4c8f65b218c5c1c8d9122433f85ee1300fd9263ba1697d0e1040eeb36
|
||||||
F src/whereInt.h e25203e5bfee149f5f1225ae0166cfb4f1e65490c998a024249e98bb0647377c
|
F src/whereInt.h e25203e5bfee149f5f1225ae0166cfb4f1e65490c998a024249e98bb0647377c
|
||||||
F src/wherecode.c b300db0bcd84ad6c2642bf3f509f92fad7b7d697b9856b64dd66d692d184d054
|
F src/wherecode.c e63b522e780e92ed80b5e278e88f54e1166cafa272d2e06cd36297478f44bce2
|
||||||
F src/whereexpr.c 22cf19b0ececeaf838daed1039c5231a8778784eba5ad67b991442a23473fd3f
|
F src/whereexpr.c 22cf19b0ececeaf838daed1039c5231a8778784eba5ad67b991442a23473fd3f
|
||||||
F src/window.c e075ea85bea322e30e361fa6e69eddba74f461e99e2a564dc09973f8a1fb27d9
|
F src/window.c e075ea85bea322e30e361fa6e69eddba74f461e99e2a564dc09973f8a1fb27d9
|
||||||
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
|
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.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 6dbd5b3cc801a75ea23842a43eb7106b62fc1d26dd5a8477a0217325539a7c1a
|
P 6084c5fb6d3fcedf35cd6c597a44ec7bf8b4a2576c7b277e5342d2a7905318e7
|
||||||
R 9b9c07d26588f36e11a6d0220a07b376
|
R 6485d1d144054894bb806b033900eb87
|
||||||
U drh
|
U drh
|
||||||
Z 7d7251cbba8f3faed0cc8e31b2ace739
|
Z 8a0864d2f033378cf6e10cbbd0a26acb
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
@ -1 +1 @@
|
|||||||
6084c5fb6d3fcedf35cd6c597a44ec7bf8b4a2576c7b277e5342d2a7905318e7
|
4fbe02651e877e442d62308d7f607e503695104cd71c5565132fcd1398c120df
|
@ -812,7 +812,7 @@ static int codeAllEqualityTerms(
|
|||||||
/* Figure out how many memory cells we will need then allocate them.
|
/* Figure out how many memory cells we will need then allocate them.
|
||||||
*/
|
*/
|
||||||
regBase = pParse->nMem + 1;
|
regBase = pParse->nMem + 1;
|
||||||
nReg = pLoop->u.btree.nEq + nExtraReg;
|
nReg = nEq + nExtraReg;
|
||||||
pParse->nMem += nReg;
|
pParse->nMem += nReg;
|
||||||
|
|
||||||
zAff = sqlite3DbStrDup(pParse->db,sqlite3IndexAffinityStr(pParse->db,pIdx));
|
zAff = sqlite3DbStrDup(pParse->db,sqlite3IndexAffinityStr(pParse->db,pIdx));
|
||||||
@ -859,9 +859,6 @@ static int codeAllEqualityTerms(
|
|||||||
sqlite3VdbeAddOp2(v, OP_Copy, r1, regBase+j);
|
sqlite3VdbeAddOp2(v, OP_Copy, r1, regBase+j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
for(j=nSkip; j<nEq; j++){
|
|
||||||
pTerm = pLoop->aLTerm[j];
|
|
||||||
if( pTerm->eOperator & WO_IN ){
|
if( pTerm->eOperator & WO_IN ){
|
||||||
if( pTerm->pExpr->flags & EP_xIsSelect ){
|
if( pTerm->pExpr->flags & EP_xIsSelect ){
|
||||||
/* No affinity ever needs to be (or should be) applied to a value
|
/* No affinity ever needs to be (or should be) applied to a value
|
||||||
|
Loading…
Reference in New Issue
Block a user