]> git.ipfire.org Git - thirdparty/sqlite.git/commit
Experimental change to the handling of foreign key constraint violations when applyin...
authordan <dan@noemail.net>
Wed, 3 Jul 2013 19:53:05 +0000 (19:53 +0000)
committerdan <dan@noemail.net>
Wed, 3 Jul 2013 19:53:05 +0000 (19:53 +0000)
commitcb3e4b797ed2144ec3af50113833f597006b1ed8
treed1e2ab7910a428f0cd63515cb094d0c21f8b618c
parent35e2858e980a5c45d37eadc8ec3cb341ff1ed363
Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset, or to apply it, constraint violations and all.

FossilOrigin-Name: 1d44e5d3c2b1dc958442f9114a960b256e002ed3
16 files changed:
ext/session/session1.test
ext/session/session9.test [new file with mode: 0644]
ext/session/sqlite3session.c
ext/session/sqlite3session.h
ext/session/test_session.c
manifest
manifest.uuid
src/fkey.c
src/main.c
src/pragma.c
src/sqlite.h.in
src/sqliteInt.h
src/vdbe.c
src/vdbeInt.h
src/vdbeapi.c
src/vdbeaux.c