diff options
author | Dean Rasheed <dean.a.rasheed@gmail.com> | 2024-02-29 11:49:30 +0000 |
---|---|---|
committer | Dean Rasheed <dean.a.rasheed@gmail.com> | 2024-02-29 11:49:30 +0000 |
commit | 362de947cd7e8c826d9b3c5dc2590348263ed3c1 (patch) | |
tree | ceb73d27dc144c15d26cacae7600aa707125c471 /src/backend/executor/nodeModifyTable.c | |
parent | 6fd144e3a9664ea545d10008c48dceb6c4e9d38a (diff) | |
download | postgresql-362de947cd7e8c826d9b3c5dc2590348263ed3c1.tar.gz postgresql-362de947cd7e8c826d9b3c5dc2590348263ed3c1.zip |
Remove field UpdateContext->updated in nodeModifyTable.c
This field has been redundant ever since it was added by commit
25e777cf8e, which split up ExecUpdate() and ExecDelete() into reusable
pieces. The only place that reads it is ExecMergeMatched(), if the
result from ExecUpdateAct() is TM_Ok. However, all paths through
ExecUpdateAct() that return TM_Ok also set this field to true, so the
return status by itself is sufficient to tell if the update happened.
Removing this field is a modest simplification, and it brings the
UPDATE path in ExecMergeMatched() more into line with ExecUpdate(),
ensuring that ExecUpdateEpilogue() is always called if ExecUpdateAct()
returns TM_Ok, reducing the chance of bugs.
Dean Rasheed, reviewed by Alvaro Herrera.
Discussion: https://postgr.es/m/CAEZATCWGGmigGBzLHkJm5Ccv2mMxXmwi3%2Buq0yhwDHm-tsvSLg%40mail.gmail.com
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
-rw-r--r-- | src/backend/executor/nodeModifyTable.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 9fc5abff8f0..098ed4026b6 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -109,7 +109,6 @@ typedef struct ModifyTableContext */ typedef struct UpdateContext { - bool updated; /* did UPDATE actually occur? */ bool crossPartUpdate; /* was it a cross-partition update? */ TU_UpdateIndexes updateIndexes; /* Which index updates are required? */ @@ -2042,7 +2041,6 @@ lreplace: &insert_destrel)) { /* success! */ - updateCxt->updated = true; updateCxt->crossPartUpdate = true; /* @@ -2111,8 +2109,6 @@ lreplace: true /* wait for commit */ , &context->tmfd, &updateCxt->lockmode, &updateCxt->updateIndexes); - if (result == TM_Ok) - updateCxt->updated = true; return result; } @@ -2919,7 +2915,7 @@ lmerge_matched: return true; } - if (result == TM_Ok && updateCxt.updated) + if (result == TM_Ok) { ExecUpdateEpilogue(context, &updateCxt, resultRelInfo, tupleid, NULL, newslot); |