-C Fix\sthe\sOP_Once\sopcode\sso\sthat\sit\sworks\scorrectly\sfor\srecursive\striggers.\nTicket\s[06796225f59c057cd120f1].
-D 2017-03-24T17:59:56.312
+C Previous\scheck-in\swas\snot\scorrect.\s\sThis\sis\sa\sbetter\sfix\sfor\sthe\sOP_Once\nproblem\sof\sticket\s[06796225f59c057cd120f1].
+D 2017-03-24T18:38:41.822
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 1faf9f06aadc9284c212dea7bbc7c0dea7e8337f0287c81001eff500912c790a
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
F src/util.c ca8440ede81e155d15cff7c101654f60b55a9ae6
F src/vacuum.c 1fe4555cd8c9b263afb85b5b4ee3a4a4181ad569
-F src/vdbe.c e59bd3416627d11f76da18ed5a85e93b3c6172892a9d44371d05a7c7183d7b94
+F src/vdbe.c f1acf5744cef62cbfd0b503d84289f840b6cdc980ac47b0d9632dfdb89cc79eb
F src/vdbe.h caa5346d52bae2a3c8c1dcfa60a7a4dc878a9e3865cb8239da55808b316c8158
F src/vdbeInt.h 5db089ce18c4feff8820ec6e4cac2d2c82e03d4b1d96f10a6e43832147b8dffe
F src/vdbeapi.c 5b08d82592bcff4470601fe78aaabebd50837860
F test/triggerD.test 8e7f3921a92a5797d472732108109e44575fa650
F test/triggerE.test 15fa63f1097db1f83dd62d121616006978063d1f
F test/triggerF.test 55b1eb13433997faac3a4948c1d8252f6c8c636b
-F test/triggerG.test 6eb0dbb4ce35df990034e54951e882c69ffbc3462e9c33a021edf66464f8b91b
+F test/triggerG.test 175cafdc6399d85231a09e82e051b0e45a2fd1f23dd08ae715bc359716149ab6
F test/tt3_checkpoint.c 9e75cf7c1c364f52e1c47fd0f14c4340a9db0fe1
F test/tt3_index.c 39eec10a35f57672225be4d182862152896dee4a
F test/tt3_lookaside1.c 0377e202c3c2a50d688cb65ba203afeda6fafeb9
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P c5441d2df2526723f72610cc14dd243223663979e67ecdd76fe06fcd366f2b29
-R 06e33989e2f9f8999f70d02209e735fb
+P 2556014514f36808e6d18b25722eae0daeeb8fbb5d18af13a9698ea6c6db1679
+R 0d4df4a8a9e2796f99d4dab5fea97642
U drh
-Z d9ba825914c037a52e49ea53bb54865f
+Z 19353cf9e153b27d983c51cfd380c21a
iAddr = (int)(pOp - p->aOp);
if( (p->pFrame->aOnce[iAddr/8] & (1<<(iAddr & 7)))!=0 ){
VdbeBranchTaken(1, 2);
- p->pFrame->aOnce[iAddr/8] |= 1<<(iAddr & 7);
goto jump_to_p2;
}
+ p->pFrame->aOnce[iAddr/8] |= 1<<(iAddr & 7);
}else{
if( p->aOp[0].p1==pOp->p1 ){
VdbeBranchTaken(1, 2);
p->nCursor = (u16)pFrame->nChildCsr;
p->apCsr = (VdbeCursor **)&aMem[p->nMem];
pFrame->aOnce = (u8*)&p->apCsr[pProgram->nCsr];
+ memset(pFrame->aOnce, 0, (pProgram->nOp + 7)/8);
p->aOp = aOp = pProgram->aOp;
p->nOp = pProgram->nOp;
#ifdef SQLITE_ENABLE_STMT_SCANSTATUS
SELECT b FROM t2 ORDER BY b;
} {202 203 302 303 402 403 502 503}
+do_execsql_test 200 {
+ DELETE FROM t1;
+ INSERT INTO t1(a) VALUES(0),(2),(3),(8),(9);
+ DELETE FROM t2;
+ DELETE FROM t3;
+ DROP TRIGGER tr;
+ CREATE TRIGGER tr AFTER INSERT ON t3 BEGIN
+ INSERT INTO t3 SELECT new.c+1 WHERE new.c<5;
+ INSERT INTO t2 SELECT new.c*10000+xx.a*100+yy.a
+ FROM t1 AS xx, t1 AS yy
+ WHERE xx.a IN (1,2,3,4)
+ AND yy.a IN (2,3,4,5);
+ END;
+
+ INSERT INTO t3 VALUES(2);
+ SELECT b FROM t2 ORDER BY b;
+} {20202 20203 20302 20303 30202 30203 30302 30303 40202 40203 40302 40303 50202 50203 50302 50303}
+
finish_test