diff options
author | drh <> | 2023-06-20 15:48:24 +0000 |
---|---|---|
committer | drh <> | 2023-06-20 15:48:24 +0000 |
commit | f6e04b6e29e6427a043c0890f4786b5ca59fabb1 (patch) | |
tree | 40e60b9c54cc723ba1bb0504256c0c76a888cc4f /src | |
parent | bcc76bd41989c49c8847f54cb43ee27d2bfae033 (diff) | |
download | sqlite-f6e04b6e29e6427a043c0890f4786b5ca59fabb1.tar.gz sqlite-f6e04b6e29e6427a043c0890f4786b5ca59fabb1.zip |
Avoid unnecessary calls to sqlite3CodeRowTrigger().
FossilOrigin-Name: 27c174dbd0e7ba029d13fb005fc950ac99eb6aee31903ee3acfc88c262d13f6a
Diffstat (limited to 'src')
-rw-r--r-- | src/delete.c | 8 | ||||
-rw-r--r-- | src/update.c | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/delete.c b/src/delete.c index 374121a7a..2470856df 100644 --- a/src/delete.c +++ b/src/delete.c @@ -862,9 +862,11 @@ void sqlite3GenerateRowDelete( sqlite3FkActions(pParse, pTab, 0, iOld, 0, 0); /* Invoke AFTER DELETE trigger programs. */ - sqlite3CodeRowTrigger(pParse, pTrigger, - TK_DELETE, 0, TRIGGER_AFTER, pTab, iOld, onconf, iLabel - ); + if( pTrigger ){ + sqlite3CodeRowTrigger(pParse, pTrigger, + TK_DELETE, 0, TRIGGER_AFTER, pTab, iOld, onconf, iLabel + ); + } /* Jump here if the row had already been deleted before any BEFORE ** trigger programs were invoked. Or if a trigger program throws a diff --git a/src/update.c b/src/update.c index b7bf80776..a79286224 100644 --- a/src/update.c +++ b/src/update.c @@ -1117,8 +1117,10 @@ void sqlite3Update( sqlite3VdbeAddOp2(v, OP_AddImm, regRowCount, 1); } - sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges, - TRIGGER_AFTER, pTab, regOldRowid, onError, labelContinue); + if( pTrigger ){ + sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges, + TRIGGER_AFTER, pTab, regOldRowid, onError, labelContinue); + } /* Repeat the above with the next record to be updated, until ** all record selected by the WHERE clause have been updated. |