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

Fix a problem introduced by [77948b5eceab92a7] causing duplicate calls to be made to the xSavepoint() method of virtual tables under some circumstances.

FossilOrigin-Name: e64a4173d2899acf13b73e6e28f2e164fd638a75
This commit is contained in:
dan
2016-08-02 11:29:16 +00:00
parent 38b802dfd7
commit 914b7e4238
4 changed files with 51 additions and 10 deletions

View File

@@ -947,7 +947,10 @@ int sqlite3VtabBegin(sqlite3 *db, VTable *pVTab){
if( rc==SQLITE_OK ){
int iSvpt = db->nStatement + db->nSavepoint;
addToVTrans(db, pVTab);
if( iSvpt ) rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN, iSvpt-1);
if( iSvpt && pModule->xSavepoint ){
pVTab->iSavepoint = iSvpt;
rc = pModule->xSavepoint(pVTab->pVtab, iSvpt-1);
}
}
}
}