1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Performance optimization in the sqlite3VdbeHalt() routine.

FossilOrigin-Name: 9564d72a0820dbcb38f905fcd42ed4c858ea8fb5f648b189ceb65380a14a785b
This commit is contained in:
drh
2022-04-03 22:35:13 +00:00
parent 8bb93daca0
commit 8703edd3e9
4 changed files with 15 additions and 14 deletions

View File

@@ -3649,7 +3649,10 @@ case OP_Savepoint: {
}
}
if( rc ) goto abort_due_to_error;
if( p->eVdbeState==VDBE_HALT_STATE ){
rc = SQLITE_DONE;
goto vdbe_return;
}
break;
}
@@ -8602,7 +8605,7 @@ abort_due_to_error:
testcase( sqlite3GlobalConfig.xLog!=0 );
sqlite3_log(rc, "statement aborts at %d: [%s] %s",
(int)(pOp - aOp), p->zSql, p->zErrMsg);
sqlite3VdbeHalt(p);
if( p->eVdbeState==VDBE_RUN_STATE ) sqlite3VdbeHalt(p);
if( rc==SQLITE_IOERR_NOMEM ) sqlite3OomFault(db);
if( rc==SQLITE_CORRUPT && db->autoCommit==0 ){
db->flags |= SQLITE_CorruptRdOnly;