mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-10 01:02:56 +03:00
Omit the Vdbe.doingRerun field for a slight size reduction and performance gain.
FossilOrigin-Name: e93297a9d775688e6274c54ba75b19fc1fe8b29b73b9b5e7f94f3f2ca37f045f
This commit is contained in:
16
manifest
16
manifest
@@ -1,5 +1,5 @@
|
|||||||
C New\smacro\sROUND8P()\swhich\sworks\slike\sROUND8()\sbut\sassumes\sthat\sthe\sinput\sis\nalready\sa\smultiple\sof\sthe\ssize\sof\sa\spointer.\s\sIt\sbecomes\sa\sno-op\sfor\n64-bit\smachines,\sgiving\sa\ssmall\ssize\sreduction\sand\sspeed\sboost.
|
C Omit\sthe\sVdbe.doingRerun\sfield\sfor\sa\sslight\ssize\sreduction\sand\sperformance\sgain.
|
||||||
D 2022-04-01T18:45:11.641
|
D 2022-04-01T19:04:13.644
|
||||||
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
|
||||||
@@ -624,10 +624,10 @@ 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 6c38ddc52f0619865c91dae9c441d4d48bf3040d7dc1bc5b22da1e45547ed0b3
|
F src/vacuum.c 6c38ddc52f0619865c91dae9c441d4d48bf3040d7dc1bc5b22da1e45547ed0b3
|
||||||
F src/vdbe.c 297ff0e5cb7873c177c92627a314e91a21e905323efbd907a50bc3d34d3418d6
|
F src/vdbe.c 8f8373466beab434b7d1991fafec68a13318adf10ccf345a14ed178873c66632
|
||||||
F src/vdbe.h a1d0e3b934e835e73edd146f2e7c4eadb711b5c9875c18159a57483fd78e550e
|
F src/vdbe.h a1d0e3b934e835e73edd146f2e7c4eadb711b5c9875c18159a57483fd78e550e
|
||||||
F src/vdbeInt.h 81172c6b828b546d9fa1ce3e2cbeba90d56e39a6fbef87c46813611090d41f07
|
F src/vdbeInt.h 22babf1e585ae7e5c49f2e6442969b88f07bdcc3d154164346d25ef4efa3ebf3
|
||||||
F src/vdbeapi.c 17474f2122c1f54c93dcdb7b845e68e207bbebab6a040c65ed374c4aec049d34
|
F src/vdbeapi.c 76024c6f5af4ca00490b00caa4fb1fb6e016bded19f3b901c255686455d0ef31
|
||||||
F src/vdbeaux.c 7be57b47c60e348c32048d2e33c719b3d918a2aef36b30c6da571033c489dd58
|
F src/vdbeaux.c 7be57b47c60e348c32048d2e33c719b3d918a2aef36b30c6da571033c489dd58
|
||||||
F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd
|
F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd
|
||||||
F src/vdbemem.c 062cd58c54f887dc2eeb865686251c17237f791f0e6394e9c6f7a6f3c1a7e206
|
F src/vdbemem.c 062cd58c54f887dc2eeb865686251c17237f791f0e6394e9c6f7a6f3c1a7e206
|
||||||
@@ -1945,8 +1945,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 cb5e6f8e265c91221227e5f15b95798c688773262407dd138d414103184702f6
|
P d126f304cde66ebfe21a4967c22dcba0bac27cbce56318b14bd50051e49c978c
|
||||||
R d734309bfa3d7179546c9735303c8516
|
R e63b5f59e7e4b2f0f7f707ce12aa7775
|
||||||
U drh
|
U drh
|
||||||
Z 952158b32ce23df022f8a24df89bf845
|
Z 4a5439f66922b2e5d0302346fbe72c1a
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
@@ -1 +1 @@
|
|||||||
d126f304cde66ebfe21a4967c22dcba0bac27cbce56318b14bd50051e49c978c
|
e93297a9d775688e6274c54ba75b19fc1fe8b29b73b9b5e7f94f3f2ca37f045f
|
@@ -8340,7 +8340,7 @@ case OP_Init: { /* jump */
|
|||||||
|
|
||||||
#ifndef SQLITE_OMIT_TRACE
|
#ifndef SQLITE_OMIT_TRACE
|
||||||
if( (db->mTrace & (SQLITE_TRACE_STMT|SQLITE_TRACE_LEGACY))!=0
|
if( (db->mTrace & (SQLITE_TRACE_STMT|SQLITE_TRACE_LEGACY))!=0
|
||||||
&& !p->doingRerun
|
&& p->minWriteFileFormat!=254 /* tag-20220401a */
|
||||||
&& (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0
|
&& (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0
|
||||||
){
|
){
|
||||||
#ifndef SQLITE_OMIT_DEPRECATED
|
#ifndef SQLITE_OMIT_DEPRECATED
|
||||||
|
@@ -455,7 +455,6 @@ struct Vdbe {
|
|||||||
u8 errorAction; /* Recovery action to do in case of an error */
|
u8 errorAction; /* Recovery action to do in case of an error */
|
||||||
u8 minWriteFileFormat; /* Minimum file format for writable database files */
|
u8 minWriteFileFormat; /* Minimum file format for writable database files */
|
||||||
u8 prepFlags; /* SQLITE_PREPARE_* flags */
|
u8 prepFlags; /* SQLITE_PREPARE_* flags */
|
||||||
u8 doingRerun; /* True if rerunning after an auto-reprepare */
|
|
||||||
u8 eVdbeState; /* On of the VDBE_*_STATE values */
|
u8 eVdbeState; /* On of the VDBE_*_STATE values */
|
||||||
bft expired:2; /* 1: recompile VM immediately 2: when convenient */
|
bft expired:2; /* 1: recompile VM immediately 2: when convenient */
|
||||||
bft explain:2; /* True if EXPLAIN present on SQL command */
|
bft explain:2; /* True if EXPLAIN present on SQL command */
|
||||||
|
@@ -797,7 +797,6 @@ int sqlite3_step(sqlite3_stmt *pStmt){
|
|||||||
}
|
}
|
||||||
db = v->db;
|
db = v->db;
|
||||||
sqlite3_mutex_enter(db->mutex);
|
sqlite3_mutex_enter(db->mutex);
|
||||||
v->doingRerun = 0;
|
|
||||||
while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
|
while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
|
||||||
&& cnt++ < SQLITE_MAX_SCHEMA_RETRY ){
|
&& cnt++ < SQLITE_MAX_SCHEMA_RETRY ){
|
||||||
int savedPc = v->pc;
|
int savedPc = v->pc;
|
||||||
@@ -823,7 +822,13 @@ int sqlite3_step(sqlite3_stmt *pStmt){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sqlite3_reset(pStmt);
|
sqlite3_reset(pStmt);
|
||||||
if( savedPc>=0 ) v->doingRerun = 1;
|
if( savedPc>=0 ){
|
||||||
|
/* Setting minWriteFileFormat to 254 is a signal to the OP_Init and
|
||||||
|
** OP_Trace opcodes to *not* perform SQLITE_TRACE_STMT because one
|
||||||
|
** should output has already occurred due to SQLITE_SCHEMA.
|
||||||
|
** tag-20220401a */
|
||||||
|
v->minWriteFileFormat = 254;
|
||||||
|
}
|
||||||
assert( v->expired==0 );
|
assert( v->expired==0 );
|
||||||
}
|
}
|
||||||
sqlite3_mutex_leave(db->mutex);
|
sqlite3_mutex_leave(db->mutex);
|
||||||
|
Reference in New Issue
Block a user