-C After\sa\sDELETE\strigger\sis\sfired\sby\sREPLACE\sconflict\shandling,\sretest\sall\sUNIQUE\sconstraints\sto\sensure\sthat\sthe\srow\sbeing\sinserted\sor\supdated\sdoes\snot\sconflict\swith\sone\swritten\sby\sthe\sDELETE\strigger.\sAbort\sthe\sstatement\sif\sit\sdoes.\sPossible\sfix\sfor\sforum\spost\s[forum:/info/2026-07-18T03:35:48Z\s|\s2026-07-18T03:35:48Z].
-D 2026-07-18T19:31:56.512
+C Test\scase\sfixes\sdue\sto\sthe\sprevious.
+D 2026-07-18T19:49:18.411
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F test/upfrom3.test 6130f24ebf97f5ea865e5d2a14a2d543fe5428a62e87cc60f62d875e45c1f5f0
F test/upfrom4.test 78f742a6577c91a7a55c64edb8811004e7c6aa99b8d57b2320f70a918c357807
F test/upfromfault.test 3a10075a0043f0c4fad6614b2c371f88a8ba5a4acab68b907438413865d6a8d6
-F test/upsert1.test d29de66c2a034a2ed83a3e26e693e9d02bd3b6e0e67dcde62631c6e15023ca79
+F test/upsert1.test 1ae9667f734f5ba1f4be4db351020e336e661e77192fb726b211cc5b74d6ce9b
F test/upsert2.test 720e94d09f7362a282bc69b3c6b83d51daeaaf0440eb4920a08b86518b8c7496
F test/upsert3.test 88d7d590a1948a9cb6eac1b54b0642f67a9f35a1fc0f19b200e97d5d39e3179c
F test/upsert4.test 25d2a1da92f149331ae0c51ca6e3eee78189577585eab92de149900d62994fa5
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 053e0d1f011d9ff4d57a6e33adf8de9a7a5550a3c5f6a6d4c511f75b85a09a99
-R 732f1b3492a9559cb0f57b5c2b2574f5
-U dan
-Z d92037b0ac0aaa02a191794baee1be8a
+P e2ab286bb713e1358ae9a1d50dc894362d0ea6f1a2e8467c587f42f0e483dd3a
+R b1bddc0276aa195bc5ec2df639e3f657
+U drh
+Z d0f0bea09313f1d71203c2b202fb85a6
# Remove this line to create a well-formed Fossil manifest.
} ok
do_execsql_test upsert1-1420 {
SELECT * FROM t2 ORDER BY a;
-} {2 20 200 4 40 400 99 30 999}
+} {1 10 100 2 20 200}
# This is a slightly simpler version of the test above (1417-1420). Before
# the bug was fixed, this would:
reset_db
do_execsql_test upsert-1421 {
PRAGMA recursive_triggers = ON;
-
CREATE TABLE t1(
a PRIMARY KEY ON CONFLICT REPLACE,
b UNIQUE
);
INSERT INTO t1 VALUES(100, 'abcde');
-
CREATE TRIGGER tr1 AFTER DELETE ON t1 BEGIN
INSERT INTO t1 VALUES(200, 'HELLO');
END;
-
- INSERT INTO t1 VALUES(100, 'HELLO');
-
- SELECT * FROM t1;
}
+do_catchsql_test upsert-1422 {
+ INSERT INTO t1 VALUES(100, 'HELLO');
+} {1 {UNIQUE constraint failed: t1.b}}
+do_execsql_test upsert-1423 {
+ PRAGMA integrity_check;
+ SELECT * FROM t1 ORDER BY +a;
+} {ok 100 abcde}
finish_test