Use macro NUM_MERGE_MATCH_KINDS instead of '3' in MERGE code.

Code quality improvement for 0294df2f1f.

Aleksander Alekseev, reviewed by Richard Guo.

Discussion: https://postgr.es/m/CAJ7c6TMsiaV5urU_Pq6zJ2tXPDwk69-NKVh4AMN5XrRiM7N%2BGA%40mail.gmail.com
This commit is contained in:
Dean Rasheed 2024-04-19 09:40:20 +01:00
parent f6e8451336
commit 2e068db56e
4 changed files with 5 additions and 3 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;