-C Remove\sa\scouple\sof\slines\sin\sdelete.c\sthat\sweren't\sdoing\sanything.\s(CVS\s4616)
-D 2007-12-12T17:19:27
+C Try\sto\sfind\ssome\smore\sstack\sleaks\sby\sadding\sOP_StackDepth\sto\sloops\sin\sDML\sstatements.\sNone\swere\sfound.\s(CVS\s4617)
+D 2007-12-12T17:42:53
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in 0590398f62fc2c456ff4c45e9741f5a718b7e2ac
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/callback.c 77b302b0d41468dcda78c70e706e5b84577f0fa0
F src/complete.c 4cf68fd75d60257524cbe74f87351b9848399131
F src/date.c 49c5a6d2de6c12000905b4d36868b07d3011bbf6
-F src/delete.c 8c696d287ab2d17e0a38f3cad154f48d3b92fffb
+F src/delete.c 1f957c4acb2270772c6fab8411459e7dd43d585f
F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b
F src/expr.c 7c8e3295ddeb835ed081b8573caaf8c3fd7c9f9c
F src/func.c 9c87ddf907e72ac1990146ff2d68dce21d68b419
F src/hash.c 45a7005aac044b6c86bd7e49c44bc15d30006d6c
F src/hash.h 031cd9f915aff27e12262cb9eb570ac1b8326b53
-F src/insert.c a090c7258f2be707cca8f0cf376142f141621241
+F src/insert.c c7e1867a6a162c074d47786f1f0152b9583e8c01
F src/journal.c 807bed7a158979ac8d63953e1774e8d85bff65e2
F src/legacy.c 4ac53191fad2e3c4d59bde1228879b2dc5a96d66
F src/limits.h 71ab25f17e35e0a9f3f6f234b8ed49cc56731d35
F src/vdbefifo.c 334c838c8f42d61a94813d136019ee566b5dc2f6
F src/vdbemem.c 123994fcd344993d2fb050a83b91b341bbbd08b4
F src/vtab.c f819d55ef638d45e09ce00009d435da8bf16f528
-F src/where.c 7ec7c7a5b3a534d5ccbe9d73690b8969ee6b3f08
+F src/where.c 4d71db7ee641cd28cdef88cc6149bd3a51d2e671
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/all.test ee350b9ab15b175fc0a8fb51bf2141ed3a3b9cba
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P ee98ae17187296f7b0181c3d4d2b942d5cd4bc8f
-R f07fe36c79aef9b4c5a7e4c619f02545
+P 86332c79aedb64842e589ff941c637f8e1aabd41
+R 4c469db28dc3fd8fcf2ee0668196ead3
U danielk1977
-Z 3c54ca661ceb916252bfa90a4eafc09b
+Z 306c9b4906ad93fa32fe70f6606c1c62
-86332c79aedb64842e589ff941c637f8e1aabd41
\ No newline at end of file
+12c3029b1edcff4435177c709fb2584323f8c515
\ No newline at end of file
** This file contains C code routines that are called by the parser
** in order to generate code for DELETE FROM statements.
**
-** $Id: delete.c,v 1.133 2007/12/12 17:19:27 danielk1977 Exp $
+** $Id: delete.c,v 1.134 2007/12/12 17:42:53 danielk1977 Exp $
*/
#include "sqliteInt.h"
if( triggers_exist ){
int mem1 = pParse->nMem++;
addr = sqlite3VdbeAddOp(v, OP_FifoRead, 0, end);
+ sqlite3VdbeAddOp(v, OP_StackDepth, -1, 0);
sqlite3VdbeAddOp(v, OP_MemStore, mem1, 0);
if( !isView ){
sqlite3OpenTable(pParse, iCur, iDb, pTab, OP_OpenRead);
** row triggers */
if( !triggers_exist ){
addr = sqlite3VdbeAddOp(v, OP_FifoRead, 0, end);
+ sqlite3VdbeAddOp(v, OP_StackDepth, -1, 0);
}
/* Delete the row */
** This file contains C code routines that are called by the parser
** to handle INSERT statements in SQLite.
**
-** $Id: insert.c,v 1.194 2007/11/27 14:46:42 drh Exp $
+** $Id: insert.c,v 1.195 2007/12/12 17:42:53 danielk1977 Exp $
*/
#include "sqliteInt.h"
*/
srcTab = pParse->nTab++;
sqlite3VdbeResolveLabel(v, iInsertBlock);
+ sqlite3VdbeAddOp(v, OP_StackDepth, -1, 0);
sqlite3VdbeAddOp(v, OP_MakeRecord, nColumn, 0);
sqlite3VdbeAddOp(v, OP_NewRowid, srcTab, 0);
sqlite3VdbeAddOp(v, OP_Pull, 1, 0);
}else if( pSelect ){
sqlite3VdbeAddOp(v, OP_Goto, 0, iSelectLoop);
sqlite3VdbeResolveLabel(v, iInsertBlock);
+ sqlite3VdbeAddOp(v, OP_StackDepth, -1, 0);
}
/* Run the BEFORE and INSTEAD OF triggers, if there are any
** so is applicable. Because this module is responsible for selecting
** indices, you might also think of this module as the "query optimizer".
**
-** $Id: where.c,v 1.265 2007/11/29 17:43:28 danielk1977 Exp $
+** $Id: where.c,v 1.266 2007/12/12 17:42:53 danielk1977 Exp $
*/
#include "sqliteInt.h"
pLevel->p2 = 1 + sqlite3VdbeAddOp(v, OP_Rewind, iCur, brk);
}
notReady &= ~getMask(&maskSet, iCur);
+ sqlite3VdbeAddOp(v, OP_StackDepth, -1, 0);
/* Insert code to test every subexpression that can be completely
** computed using the current set of tables.