aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2023-06-20 15:48:24 +0000
committerdrh <>2023-06-20 15:48:24 +0000
commitf6e04b6e29e6427a043c0890f4786b5ca59fabb1 (patch)
tree40e60b9c54cc723ba1bb0504256c0c76a888cc4f /src
parentbcc76bd41989c49c8847f54cb43ee27d2bfae033 (diff)
downloadsqlite-f6e04b6e29e6427a043c0890f4786b5ca59fabb1.tar.gz
sqlite-f6e04b6e29e6427a043c0890f4786b5ca59fabb1.zip
Avoid unnecessary calls to sqlite3CodeRowTrigger().
FossilOrigin-Name: 27c174dbd0e7ba029d13fb005fc950ac99eb6aee31903ee3acfc88c262d13f6a
Diffstat (limited to 'src')
-rw-r--r--src/delete.c8
-rw-r--r--src/update.c6
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.