23 lines
745 B
Diff
23 lines
745 B
Diff
Index: src/vdbe.c
|
|
==================================================================
|
|
--- src/vdbe.c
|
|
+++ src/vdbe.c
|
|
@@ -2732,12 +2732,14 @@
|
|
}
|
|
db->isTransactionSavepoint = 0;
|
|
rc = p->rc;
|
|
}else{
|
|
iSavepoint = db->nSavepoint - iSavepoint - 1;
|
|
- for(ii=0; ii<db->nDb; ii++){
|
|
- sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, SQLITE_ABORT);
|
|
+ if( p1==SAVEPOINT_ROLLBACK ){
|
|
+ for(ii=0; ii<db->nDb; ii++){
|
|
+ sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, SQLITE_ABORT);
|
|
+ }
|
|
}
|
|
for(ii=0; ii<db->nDb; ii++){
|
|
rc = sqlite3BtreeSavepoint(db->aDb[ii].pBt, p1, iSavepoint);
|
|
if( rc!=SQLITE_OK ){
|
|
goto abort_due_to_error;
|
|
|