v1-0001-Replace-constant-3-with-NUM_MERGE_MATCH_KINDS.patch
application/octet-stream
Filename: v1-0001-Replace-constant-3-with-NUM_MERGE_MATCH_KINDS.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch v1-0001
Subject: Replace constant 3 with NUM_MERGE_MATCH_KINDS
| File | + | − |
|---|---|---|
| src/backend/optimizer/prep/prepjointree.c | 1 | 1 |
| src/backend/parser/parse_merge.c | 1 | 1 |
| src/include/nodes/execnodes.h | 1 | 1 |
| src/include/nodes/primnodes.h | 2 | 1 |
From 3b19a92b4b1ef62957d9471b008ca3e4684398fa Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <aleksander@timescale.com>
Date: Tue, 16 Apr 2024 12:37:51 +0300
Subject: [PATCH v1] Replace constant 3 with NUM_MERGE_MATCH_KINDS
Oversight of 0294df2f1f84.
Aleksander Alekseev, reviewed by TODO FIXME
Discussion: TODO FIXME
---
src/backend/optimizer/prep/prepjointree.c | 2 +-
src/backend/parser/parse_merge.c | 2 +-
src/include/nodes/execnodes.h | 2 +-
src/include/nodes/primnodes.h | 3 ++-
4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c
index fb768ad52c..41da670f15 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 bce11d5956..87df79027d 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 fa2f70b7a4..c1a65bad2a 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 dafe93a4c9..eff83c15c4 100644
--- a/src/include/nodes/primnodes.h
+++ b/src/include/nodes/primnodes.h
@@ -1964,7 +1964,8 @@ typedef enum MergeMatchKind
{
MERGE_WHEN_MATCHED,
MERGE_WHEN_NOT_MATCHED_BY_SOURCE,
- MERGE_WHEN_NOT_MATCHED_BY_TARGET
+ MERGE_WHEN_NOT_MATCHED_BY_TARGET,
+ NUM_MERGE_MATCH_KINDS /* must be last */
} MergeMatchKind;
typedef struct MergeAction
--
2.44.0