aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
diff options
context:
space:
mode:
authordrh <>2022-04-01 19:04:13 +0000
committerdrh <>2022-04-01 19:04:13 +0000
commita24832b7b2ca8e10705448d04d4d0ca38e41a0bd (patch)
tree29594f57b5742269ba345dd4846e55ad14af9a97 /src/vdbeapi.c
parentcf6e3fd787fdcc3eb2e5edf2ea80146a195ac874 (diff)
downloadsqlite-a24832b7b2ca8e10705448d04d4d0ca38e41a0bd.tar.gz
sqlite-a24832b7b2ca8e10705448d04d4d0ca38e41a0bd.zip
Omit the Vdbe.doingRerun field for a slight size reduction and performance gain.
FossilOrigin-Name: e93297a9d775688e6274c54ba75b19fc1fe8b29b73b9b5e7f94f3f2ca37f045f
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r--src/vdbeapi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c
index 40821c114..b07211177 100644
--- a/src/vdbeapi.c
+++ b/src/vdbeapi.c
@@ -797,7 +797,6 @@ int sqlite3_step(sqlite3_stmt *pStmt){
}
db = v->db;
sqlite3_mutex_enter(db->mutex);
- v->doingRerun = 0;
while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
&& cnt++ < SQLITE_MAX_SCHEMA_RETRY ){
int savedPc = v->pc;
@@ -823,7 +822,13 @@ int sqlite3_step(sqlite3_stmt *pStmt){
break;
}
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 );
}
sqlite3_mutex_leave(db->mutex);