Reinitialize debugging information on registers of a trigger prior to each
invocation of the trigger. This prevents false-positives from the sqlite3VdbeMemAboutToChange() test logic. FossilOrigin-Name: 98b3b97573ccb3d986d1552f97f96e15088a598945923adcac77010c1e8b7fe4
This commit is contained in:
parent
f69af053dc
commit
b2e61bc66b
12
manifest
12
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
|
||||
|
@ -1 +1 @@
|
||||
3ff220ad378d547538b4501e6b2201e835a2c66891e5e40856db377c101a50e5
|
||||
98b3b97573ccb3d986d1552f97f96e15088a598945923adcac77010c1e8b7fe4
|
11
src/vdbe.c
11
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; i<p->nMem; 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];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user