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:
@@ -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;
|
||||
|
Reference in New Issue
Block a user