diff options
author | danielk1977 <danielk1977@noemail.net> | 2005-12-15 15:22:08 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2005-12-15 15:22:08 +0000 |
commit | 94eb6a14cb7ad11ef7c95f22eec093f77c5a71d8 (patch) | |
tree | 4c94820844ccd12a32b0fc49c64c42d300ea06a5 /src/delete.c | |
parent | c529f520468ca3bd701d009339d336c8618cf921 (diff) | |
download | sqlite-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.c | 8 |
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); } |