aboutsummaryrefslogtreecommitdiff
path: root/src/delete.c
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2005-12-15 15:22:08 +0000
committerdanielk1977 <danielk1977@noemail.net>2005-12-15 15:22:08 +0000
commit94eb6a14cb7ad11ef7c95f22eec093f77c5a71d8 (patch)
tree4c94820844ccd12a32b0fc49c64c42d300ea06a5 /src/delete.c
parentc529f520468ca3bd701d009339d336c8618cf921 (diff)
downloadsqlite-94eb6a14cb7ad11ef7c95f22eec093f77c5a71d8.tar.gz
sqlite-94eb6a14cb7ad11ef7c95f22eec093f77c5a71d8.zip
Add the sqlite3_update_hook() API. (CVS 2820)
FossilOrigin-Name: 36229018817eebfbfca7a66d2285e4faf7b39845
Diffstat (limited to 'src/delete.c')
-rw-r--r--src/delete.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/delete.c b/src/delete.c
index 75f10d115..259e0f5a8 100644
--- a/src/delete.c
+++ b/src/delete.c
@@ -12,7 +12,7 @@
** 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.112 2005/12/06 12:52:59 danielk1977 Exp $
+** $Id: delete.c,v 1.113 2005/12/15 15:22:09 danielk1977 Exp $
*/
#include "sqliteInt.h"
@@ -215,6 +215,9 @@ void sqlite3DeleteFrom(
}
if( !isView ){
sqlite3VdbeAddOp(v, OP_Clear, pTab->tnum, pTab->iDb);
+ if( !pParse->nested ){
+ sqlite3VdbeChangeP3(v, -1, pTab->zName, P3_STATIC);
+ }
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
sqlite3VdbeAddOp(v, OP_Clear, pIdx->tnum, pIdx->iDb);
}
@@ -380,6 +383,9 @@ void sqlite3GenerateRowDelete(
addr = sqlite3VdbeAddOp(v, OP_NotExists, iCur, 0);
sqlite3GenerateRowIndexDelete(db, v, pTab, iCur, 0);
sqlite3VdbeAddOp(v, OP_Delete, iCur, (count?OPFLAG_NCHANGE:0));
+ if( count ){
+ sqlite3VdbeChangeP3(v, -1, pTab->zName, P3_STATIC);
+ }
sqlite3VdbeJumpHere(v, addr);
}