diff --git a/manifest b/manifest index 9ad0351559..7f1029dadf 100644 --- a/manifest +++ b/manifest @@ -1,6 +1,6 @@ B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b -C Fix\sa\sdouble-free\sof\sthe\sFROM\sclause\sof\san\sUPDATE\sinside\sof\striggers. -D 2020-07-16T02:36:24.506 +C Add\sOOM\stest\sfor\sUPDATE...FROM\sstatements\sinside\striggers. +D 2020-07-16T10:48:37.676 F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806 F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574 F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8 @@ -56,7 +56,7 @@ F test/upfrom1.tcl df984cb88010af1555812af55e9db44c4df50677395b45d1f30b69b1b6c07 F test/upfrom1.test 2ba1ed45b4a2161fc79f234b9ce4300b0d3deba545e3f23b938fb3ebdbf8758d F test/upfrom2.test 79f2d3e4df214010011afdd588ce35410ea1416e0f87aadb48618864347f90a5 F test/upfrom3.test f47fe3249927af1f912610840597948817f89d8d9d903f4b0a0857b062492758 -F test/upfromfault.test 1e68cc570695a0f8cd16ce09c14210fc43928c7b47b3eda38a99abb0b80c9a65 +F test/upfromfault.test 70ecf8eb85559727a487283f69374e3ae39879e994d8a2437c49d7c05ecb70c9 F test/window1.test e52b81fff0c3cb122a1240f336688eb81bea2967a99c4ddb78969adec7aadc2a F tool/lemon.c 600a58b9d1b8ec5419373982428e927ca208826edacb91ca42ab94514d006039 F tool/mkautoconfamal.sh f62353eb6c06ab264da027fd4507d09914433dbdcab9cb011cdc18016f1ab3b8 @@ -65,7 +65,7 @@ F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfa F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564 F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58 -P da593e57df042527decfea68baacc72d463728544cab81c70fbb25839791f706 -R 3c1be9d78ac76070b4e1e9b0ee27588a -U drh -Z ff8d21dd1304c045d5436546299b72d7 +P 706c8da2f6d9299f0ad3b3c93332b38071e8e88b4d1660c1841309919b64fd18 +R fcab135d5deb5acb3d15005a264e9466 +U dan +Z 22e315bcc6851243145bd7812adea6f1 diff --git a/manifest.uuid b/manifest.uuid index e0583b8049..3881159ae3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -706c8da2f6d9299f0ad3b3c93332b38071e8e88b4d1660c1841309919b64fd18 \ No newline at end of file +917a479b0d11fb59abf41d0317ffc541eb4b83928df9382b4782953c0035fa3e \ No newline at end of file diff --git a/test/upfromfault.test b/test/upfromfault.test index 2645857207..fcb5956089 100644 --- a/test/upfromfault.test +++ b/test/upfromfault.test @@ -89,6 +89,52 @@ if {$tn<5} continue } } +reset_db +do_execsql_test 2.0 { + CREATE TABLE t1(a, b, c); + CREATE TABLE t2(x, y, z); +} +faultsim_save_and_close +do_faultsim_test 2.1 -prep { + faultsim_restore_and_reopen +} -body { + execsql { + CREATE TRIGGER tr1 AFTER INSERT ON t1 BEGIN + UPDATE t2 SET x=a FROM t1 WHERE c=z; + END; + } +} -test { + faultsim_test_result {0 {}} +} + +faultsim_restore_and_reopen +do_execsql_test 2.2 { + CREATE TRIGGER tr1 AFTER INSERT ON t1 BEGIN + UPDATE t1 SET a=x FROM t2 WHERE c=z; + END; + + INSERT INTO t2 VALUES(1, 1, 1); + INSERT INTO t2 VALUES(2, 2, 2); + INSERT INTO t2 VALUES(3, 3, 3); +} +faultsim_save_and_close + +do_faultsim_test 2.3 -prep { + faultsim_restore_and_reopen +} -body { + execsql { + INSERT INTO t1 VALUES(NULL, NULL, 1), (NULL, NULL, 3); + } +} -test { + faultsim_test_result {0 {}} + if {$testrc==0} { + set res [execsql { SELECT * FROM t1 }] + if {$res!="1 {} 1 3 {} 3"} { + error "unexpected result: $res" + } + } +} + finish_test