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

Allow virtual tables to prepare writes to shadow tables in defensive mode from with xRelease() callbacks - even if the xRelease() is invoked from within sqlite3_finalize().

FossilOrigin-Name: a17106494a8a67bc92cfe27ee8ef9bf160517d6930d796980ae12287b98c1cfe
This commit is contained in:
dan
2023-05-05 11:47:31 +00:00
parent 0498caec89
commit cad6aae45e
4 changed files with 42 additions and 13 deletions

View File

@@ -1102,7 +1102,10 @@ int sqlite3VtabSavepoint(sqlite3 *db, int op, int iSavepoint){
break;
}
if( xMethod && pVTab->iSavepoint>iSavepoint ){
u64 savedFlags = (db->flags & SQLITE_Defensive);
db->flags &= ~(u64)SQLITE_Defensive;
rc = xMethod(pVTab->pVtab, iSavepoint);
db->flags |= savedFlags;
}
sqlite3VtabUnlock(pVTab);
}