SELECT * FROM X1;
} {1 1}
+#--------------------------------------------------------------------
+reset_db
+do_execsql_test 6.0 {
+ CREATE TABLE p1(a INTEGER PRIMARY KEY, b);
+ CREATE TABLE c1(x INTEGER PRIMARY KEY, y REFERENCES p1);
+}
+
+set ::cc [changeset_from_sql {
+ INSERT INTO c1 VALUES(10, 20);
+}]
+
+forcedelete test.db2
+sqlite3 db2 test.db2
+do_execsql_test -db db2 6.1 {
+ CREATE TABLE c1(x INTEGER PRIMARY KEY, y REFERENCES p1);
+ PRAGMA foreign_keys = ON;
+ PRAGMA foreign_keys;
+} {1}
+
+proc conflict_handler {args} {
+ puts $args
+ return "OMIT"
+}
+
+breakpoint
+do_test 6.2 {
+ list [catch {sqlite3changeset_apply db2 $::cc conflict_handler} msg] $msg
+} {}
+
+do_test 6.3.1 { sqlite3_errmsg db2 } {}
+do_test 6.3.2 { sqlite3_errcode db2 } {}
+
+do_test 6.4 {
+ catchsql { INSERT INTO c1 VALUES(100, 200) } db2
+} {1 {no such table: main.p1}}
+
finish_test
** update the "main" database attached to handle db with the changes found in
** the changeset passed via the second and third arguments.
**
+** All changes made by these functions are enclosed in a savepoint transaction.
+** If any other error (aside from a constraint failure when attempting to
+** write to the target database) occurs, then the savepoint transaction is
+** rolled back, restoring the target database to its original state, and an
+** SQLite error code returned.
+**
** The fourth argument (xFilter) passed to these functions is the "filter
** callback". This may be passed NULL, in which case all changes in the
** changeset are applied to the database. For sqlite3changeset_apply() and
** This can be used to further customize the application's conflict
** resolution strategy.
**
-** All changes made by these functions are enclosed in a savepoint transaction.
-** If any other error (aside from a constraint failure when attempting to
-** write to the target database) occurs, then the savepoint transaction is
-** rolled back, restoring the target database to its original state, and an
-** SQLite error code returned.
-**
** If the output parameters (ppRebase) and (pnRebase) are non-NULL and
** the input is a changeset (not a patchset), then sqlite3changeset_apply_v2()
** may set (*ppRebase) to point to a "rebase" that may be used with the
-C The\sGetSystemTimePreciseAsFileTime()\sAPI\sdoes\snot\sexist\son\s32-bit\swindows.\nAdjust\s[c5dbe93114d318fe]\sso\sthat\sit\sworks\swith\sthis\slimitation.
-D 2025-09-10T14:28:07.926
+C Change\sthe\sorder\sof\ssome\sparagraphs\swithin\sdocumentation\scomments\sin\ssqlite3session.h.
+D 2025-09-10T16:55:43.157
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F ext/session/session5.test 716bc6fafd625ce60dfa62ae128971628c1a1169
F ext/session/session6.test 35279f2ec45448cd2e24a61688219dc6cf7871757716063acf4a8b5455e1e926
F ext/session/session8.test 326f3273abf9d5d2d7d559eee8f5994c4ea74a5d935562454605e6607ee29904
-F ext/session/session9.test 4e3aff62d6b4294498ddbe309076de06f4fddffad4fe5f5a6c033358b01df083
+F ext/session/session9.test 792c4dd2e015105d75bd319aba9cc2ec055fac6ba0e287a288b4c4efe49d6307
F ext/session/sessionA.test 1feeab0b8e03527f08f2f1defb442da25480138f
F ext/session/sessionB.test c4fb7f8a688787111606e123a555f18ee04f65bb9f2a4bb2aa71d55ce4e6d02c
F ext/session/sessionC.test f8a5508bc059ae646e5ec9bdbca66ad24bc92fe99fda5790ac57e1f59fce2fdf
F ext/session/sessionstat1.test 5e718d5888c0c49bbb33a7a4f816366db85f59f6a4f97544a806421b85dc2dec
F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
F ext/session/sqlite3session.c 9205e6e8f389ea44a8118082ce3832374da92284a60e4fb3ea6b1b421f0dbc54
-F ext/session/sqlite3session.h b81e8536ce4b83babafd700f4ff67017804b6c1d71df963b30d3972958e7f4a7
+F ext/session/sqlite3session.h 6641184274b1d46594e450793d39aa96053916043234fb9e653c661160a166a7
F ext/session/test_session.c 8766b5973a6323934cb51248f621c3dc87ad2a98f023c3cc280d79e7d78d36fb
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
F ext/wasm/GNUmakefile 89e18d6e4783841a5236930b988df27e02317b3ac440a1a5571de4a79df3c8e7
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 0f31711591c56f3896fb6f092752fb82c4ea646bf8e5838dfbe55302994ea091
-R 92f5496970f9c5f8107276d283e96509
-U drh
-Z d1a933d782194f41c167cb8645e06e10
+P 61d9e204c5801a94811fdb0afe2c04f9814e08f2e141afa6dbda0fa45f026f70
+R d8eeaa39e3079cdffd4caa67c2d6ce8a
+U dan
+Z a73995d9824b3ee4ac825fd3b1388017
# Remove this line to create a well-formed Fossil manifest.
-branch trunk
-tag trunk
+branch mistake
+tag mistake
-61d9e204c5801a94811fdb0afe2c04f9814e08f2e141afa6dbda0fa45f026f70
+cc101c71ccc22067660885bcc7aeb9fd645801ea892a66dab3c2283ed0499656