aboutsummaryrefslogtreecommitdiff
path: root/ext/session/sqlite3session.c
diff options
context:
space:
mode:
authordan <Dan Kennedy>2023-10-21 15:04:24 +0000
committerdan <Dan Kennedy>2023-10-21 15:04:24 +0000
commitca9dc173a2b95b4af9cc65557faaf3d2b3fa9e3d (patch)
tree274ef52681b786f3944a240c82050801b149579f /ext/session/sqlite3session.c
parent51b358e5e54b9a64d2ee9ecb2f035780e74ddb8c (diff)
downloadsqlite-ca9dc173a2b95b4af9cc65557faaf3d2b3fa9e3d.tar.gz
sqlite-ca9dc173a2b95b4af9cc65557faaf3d2b3fa9e3d.zip
Fix a problem with SQLITE_CHANGESETAPPLY_FKNOACTION and the foreign-key-trigger-cache.
FossilOrigin-Name: 95304ec6c9654b4366dc58ae263270cb42861cb5017174936f816922b5eb61e6
Diffstat (limited to 'ext/session/sqlite3session.c')
-rw-r--r--ext/session/sqlite3session.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/session/sqlite3session.c b/ext/session/sqlite3session.c
index bf3f1390d..e7459b1af 100644
--- a/ext/session/sqlite3session.c
+++ b/ext/session/sqlite3session.c
@@ -5326,6 +5326,7 @@ int sqlite3changeset_apply_v2(
if( flags & SQLITE_CHANGESETAPPLY_FKNOACTION ){
db->flags |= ((u64)SQLITE_FkNoAction);
+ db->aDb[0].pSchema->schema_cookie -= 32;
}
if( rc==SQLITE_OK ){
@@ -5336,7 +5337,8 @@ int sqlite3changeset_apply_v2(
if( (flags & SQLITE_CHANGESETAPPLY_FKNOACTION) && savedFlag==0 ){
assert( db->flags & SQLITE_FkNoAction );
- db->flags &= ((u64)SQLITE_FkNoAction);
+ db->flags &= ~((u64)SQLITE_FkNoAction);
+ db->aDb[0].pSchema->schema_cookie -= 32;
}
return rc;
}