diff --git a/manifest b/manifest index d310ddb1a8..e94d5e4daa 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sharmless\scompiler\swarnings. -D 2019-01-25T18:17:37.520 +C Reinitialize\sdebugging\sinformation\son\sregisters\sof\sa\strigger\sprior\sto\seach\ninvocation\sof\sthe\strigger.\s\sThis\sprevents\sfalse-positives\sfrom\sthe\nsqlite3VdbeMemAboutToChange()\stest\slogic. +D 2019-01-25T19:29:01.388 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 9947eae873c07ae894d4c8633b76c0a0daca7b9fd54401096a77d1a6c7b74359 @@ -585,7 +585,7 @@ F src/upsert.c 0dd81b40206841814d46942a7337786932475f085716042d0cb2fc7791bf8ca4 F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5 F src/util.c 82a2e3f691a3b654be872e305dab1f455e565dedf5e6a90c818c1ab307c00432 F src/vacuum.c a9f389f41556c0ec310bc9169dc9476603c30a0a913ad92bfbc75c86886967ca -F src/vdbe.c 090d40c688b56b4602fb196a78e9d17213f381984258131c1e8f665636ca35ac +F src/vdbe.c 2c99f790ae42af5268529cb67cfd4beaf9542cdc62fd0a10a18edec1fa9a5c09 F src/vdbe.h 712bca562eaed1c25506b9faf9680bdc75fc42e2f4a1cd518d883fa79c7a4237 F src/vdbeInt.h a76d5eed62c76bcd8de7afd3147fac1bc40c5a870582664bcd7d071ef437c37f F src/vdbeapi.c 57a2d794a8833f269b878dbc24e955369bdb379af6c4e93ebc5ce1a20fa3daf4 @@ -1804,7 +1804,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P b10df2b569e356551cf51ca179f307e4f8827413ee9feb886db1f1e0650e6c5f -R 2ff0ac8d710b630c9d6e6161696595c6 +P 3ff220ad378d547538b4501e6b2201e835a2c66891e5e40856db377c101a50e5 +R ecf877bc394877eb1dbb4bb85afd2412 U drh -Z a3295b111131a3efd3a7c19b13f5e5af +Z 456c3e392f5a0f89b55001f14b2aaf25 diff --git a/manifest.uuid b/manifest.uuid index b0856d1475..751fa33455 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3ff220ad378d547538b4501e6b2201e835a2c66891e5e40856db377c101a50e5 \ No newline at end of file +98b3b97573ccb3d986d1552f97f96e15088a598945923adcac77010c1e8b7fe4 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index 2c2b0ee272..09cf55b696 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -6171,6 +6171,17 @@ case OP_Program: { /* jump */ p->nOp = pProgram->nOp; #ifdef SQLITE_ENABLE_STMT_SCANSTATUS p->anExec = 0; +#endif +#ifdef SQLITE_DEBUG + /* Verify that second and subsequent executions of the same trigger do not + ** try to reuse register values from the first use. */ + { + int i; + for(i=0; inMem; i++){ + aMem[i].pScopyFrom = 0; /* Prevent false-positive AboutToChange() errs */ + aMem[i].flags |= MEM_Undefined; /* Cause a fault if this reg is reused */ + } + } #endif pOp = &aOp[-1];