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

Do not abort pending queries on a RELEASE of a nested SAVEPOINT.

This is a candidate fix for ticket [27ca74af3c083f787].

FossilOrigin-Name: 79a4a3a84f0b367d54da5e69e64ffca474264717
This commit is contained in:
drh
2012-03-31 17:17:26 +00:00
parent 8c2e0f02ba
commit 31f100556c
3 changed files with 12 additions and 10 deletions

View File

@@ -2734,8 +2734,10 @@ case OP_Savepoint: {
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);