mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Small performance improvement and size reduction in the expression
code generator. FossilOrigin-Name: eeb53e219551d8a05a87f1de9a7cd9af295d08a296f1f435a8509ea1252ccdcc
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Change\sa\sdatatype\sfrom\si16\sto\sint\sto\sappease\sConverity\sand\shelp\seliminate\na\sfalse-positive.
|
C Small\sperformance\simprovement\sand\ssize\sreduction\sin\sthe\sexpression\ncode\sgenerator.
|
||||||
D 2020-05-27T00:02:07.312
|
D 2020-05-27T12:44:28.447
|
||||||
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
|
||||||
@@ -485,7 +485,7 @@ F src/date.c b29b349d277e3d579dcc295b24c0a2caed83fd8f090a9f7cbe6070c0fd662384
|
|||||||
F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
|
F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
|
||||||
F src/dbstat.c 793deaf88a0904f88285d93d6713c636d55ede0ffd9f08d10f4ea825531d367f
|
F src/dbstat.c 793deaf88a0904f88285d93d6713c636d55ede0ffd9f08d10f4ea825531d367f
|
||||||
F src/delete.c 88047c8e59878c920fce14582bc1dde4d81157d1ca5ffdf36c2907e6d41996c4
|
F src/delete.c 88047c8e59878c920fce14582bc1dde4d81157d1ca5ffdf36c2907e6d41996c4
|
||||||
F src/expr.c 4d5ca337ac207a15e647a1db2356d14282647afc8edca5ff577601048c88ceb4
|
F src/expr.c 4750c6b63419eefb24c8a6158b9287dea2a9714b4e6e297e25805505c9f73b6c
|
||||||
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
||||||
F src/fkey.c 4b575423b0a5d4898b1a7868ce985cf1a8ad91c741c9abbb108ff02536d20f41
|
F src/fkey.c 4b575423b0a5d4898b1a7868ce985cf1a8ad91c741c9abbb108ff02536d20f41
|
||||||
F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0
|
F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0
|
||||||
@@ -1866,7 +1866,7 @@ 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 d5cdd57150db914b61b8b9c61c6caac9690fe7b647ee2c003e75b9b62be62752
|
P 5b560ec49041d89c87ea3315d8fc17f7fb0e03a82091934be7373b290183f82e
|
||||||
R e25f872a3296dd9d4a4620f30c7f47be
|
R 49a1e2497fcf7da09e39544b00e72660
|
||||||
U drh
|
U drh
|
||||||
Z 7d2d03c71662193ff9282263dd7aee70
|
Z 247f47fe4deb86e087e29547910405d2
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
5b560ec49041d89c87ea3315d8fc17f7fb0e03a82091934be7373b290183f82e
|
eeb53e219551d8a05a87f1de9a7cd9af295d08a296f1f435a8509ea1252ccdcc
|
||||||
10
src/expr.c
10
src/expr.c
@@ -3797,10 +3797,7 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
|
|||||||
int p5 = 0;
|
int p5 = 0;
|
||||||
|
|
||||||
assert( target>0 && target<=pParse->nMem );
|
assert( target>0 && target<=pParse->nMem );
|
||||||
if( v==0 ){
|
assert( v!=0 );
|
||||||
assert( pParse->db->mallocFailed );
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
expr_code_doover:
|
expr_code_doover:
|
||||||
if( pExpr==0 ){
|
if( pExpr==0 ){
|
||||||
@@ -4630,9 +4627,10 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
|
|||||||
|
|
||||||
assert( pExpr==0 || !ExprHasVVAProperty(pExpr,EP_Immutable) );
|
assert( pExpr==0 || !ExprHasVVAProperty(pExpr,EP_Immutable) );
|
||||||
assert( target>0 && target<=pParse->nMem );
|
assert( target>0 && target<=pParse->nMem );
|
||||||
inReg = sqlite3ExprCodeTarget(pParse, pExpr, target);
|
|
||||||
assert( pParse->pVdbe!=0 || pParse->db->mallocFailed );
|
assert( pParse->pVdbe!=0 || pParse->db->mallocFailed );
|
||||||
if( inReg!=target && pParse->pVdbe ){
|
if( pParse->pVdbe==0 ) return;
|
||||||
|
inReg = sqlite3ExprCodeTarget(pParse, pExpr, target);
|
||||||
|
if( inReg!=target ){
|
||||||
u8 op;
|
u8 op;
|
||||||
if( ExprHasProperty(pExpr,EP_Subquery) ){
|
if( ExprHasProperty(pExpr,EP_Subquery) ){
|
||||||
op = OP_Copy;
|
op = OP_Copy;
|
||||||
|
|||||||
Reference in New Issue
Block a user