diff options
author | Dean Rasheed <dean.a.rasheed@gmail.com> | 2024-04-19 09:40:20 +0100 |
---|---|---|
committer | Dean Rasheed <dean.a.rasheed@gmail.com> | 2024-04-19 09:40:20 +0100 |
commit | 2e068db56e31dfb510fe7416e52b7affe26f278f (patch) | |
tree | 92b4ff3bf7484da1e90108bc354574e60d88bb1d | |
parent | f6e845133630fe08acf7ad640f6d8443f13b134a (diff) | |
download | postgresql-2e068db56e31dfb510fe7416e52b7affe26f278f.tar.gz postgresql-2e068db56e31dfb510fe7416e52b7affe26f278f.zip |
Use macro NUM_MERGE_MATCH_KINDS instead of '3' in MERGE code.
Code quality improvement for 0294df2f1f84.
Aleksander Alekseev, reviewed by Richard Guo.
Discussion: https://postgr.es/m/CAJ7c6TMsiaV5urU_Pq6zJ2tXPDwk69-NKVh4AMN5XrRiM7N%2BGA%40mail.gmail.com
-rw-r--r-- | src/backend/optimizer/prep/prepjointree.c | 2 | ||||
-rw-r--r-- | src/backend/parser/parse_merge.c | 2 | ||||
-rw-r--r-- | src/include/nodes/execnodes.h | 2 | ||||
-rw-r--r-- | src/include/nodes/primnodes.h | 2 |
4 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index fb768ad52c2..41da670f150 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -153,7 +153,7 @@ transform_MERGE_to_join(Query *parse) { RangeTblEntry *joinrte; JoinExpr *joinexpr; - bool have_action[3]; + bool have_action[NUM_MERGE_MATCH_KINDS]; JoinType jointype; int joinrti; List *vars; diff --git a/src/backend/parser/parse_merge.c b/src/backend/parser/parse_merge.c index bce11d59561..87df79027d7 100644 --- a/src/backend/parser/parse_merge.c +++ b/src/backend/parser/parse_merge.c @@ -109,7 +109,7 @@ transformMergeStmt(ParseState *pstate, MergeStmt *stmt) Query *qry = makeNode(Query); ListCell *l; AclMode targetPerms = ACL_NO_RIGHTS; - bool is_terminal[3]; + bool is_terminal[NUM_MERGE_MATCH_KINDS]; Index sourceRTI; List *mergeActionList; ParseNamespaceItem *nsitem; diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index fa2f70b7a48..c1a65bad2a9 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -545,7 +545,7 @@ typedef struct ResultRelInfo OnConflictSetState *ri_onConflict; /* for MERGE, lists of MergeActionState (one per MergeMatchKind) */ - List *ri_MergeActions[3]; + List *ri_MergeActions[NUM_MERGE_MATCH_KINDS]; /* for MERGE, expr state for checking the join condition */ ExprState *ri_MergeJoinCondition; diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h index 719c4b7b615..247cecb4b45 100644 --- a/src/include/nodes/primnodes.h +++ b/src/include/nodes/primnodes.h @@ -1970,6 +1970,8 @@ typedef enum MergeMatchKind MERGE_WHEN_NOT_MATCHED_BY_TARGET } MergeMatchKind; +#define NUM_MERGE_MATCH_KINDS (MERGE_WHEN_NOT_MATCHED_BY_TARGET + 1) + typedef struct MergeAction { NodeTag type; |