summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorPeter Eisentraut2025-01-15 07:31:46 +0000
committerPeter Eisentraut2025-01-15 07:44:01 +0000
commit6339f6468e8217f556e38482626250dc72d7cd00 (patch)
tree71a7eec03c515b4e25c8be754b8d512b1a0e7eaa /src/backend
parent9a45a89c38f3257b13e09edf382e32fa28b918c2 (diff)
Rename RowCompareType to CompareType
RowCompareType served as a way to describe the fundamental meaning of an operator, notionally independent of an operator class (although so far this was only really supported for btrees). Its original purpose was for use inside RowCompareExpr, and it has also found some small use outside, such as for get_op_btree_interpretation(). We want to expand this now, as a more general way to describe operator semantics for other index access methods, including gist (to improve GistTranslateStratnum()) and others not written yet. To avoid future confusion, we rename the type to CompareType and the symbols from ROWCOMPARE_XXX to COMPARE_XXX to reflect their more general purpose. Reviewed-by: Mark Dilger <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/[email protected]
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/executor/execExpr.c2
-rw-r--r--src/backend/executor/execExprInterp.c12
-rw-r--r--src/backend/executor/nodeIndexscan.c4
-rw-r--r--src/backend/jit/llvm/llvmjit_expr.c12
-rw-r--r--src/backend/optimizer/path/indxpath.c2
-rw-r--r--src/backend/optimizer/util/predtest.c2
-rw-r--r--src/backend/parser/parse_expr.c12
-rw-r--r--src/backend/utils/cache/lsyscache.c6
8 files changed, 26 insertions, 26 deletions
diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c
index 89514f7a4f0..7a800df8cab 100644
--- a/src/backend/executor/execExpr.c
+++ b/src/backend/executor/execExpr.c
@@ -2102,7 +2102,7 @@ ExecInitExprRec(Expr *node, ExprState *state,
/* Finally, examine the last comparison result */
scratch.opcode = EEOP_ROWCOMPARE_FINAL;
- scratch.d.rowcompare_final.rctype = rcexpr->rctype;
+ scratch.d.rowcompare_final.cmptype = rcexpr->cmptype;
ExprEvalPushStep(state, &scratch);
/* adjust jump targets */
diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c
index b2c00a0a1b1..7dfe17b0a86 100644
--- a/src/backend/executor/execExprInterp.c
+++ b/src/backend/executor/execExprInterp.c
@@ -1500,22 +1500,22 @@ ExecInterpExpr(ExprState *state, ExprContext *econtext, bool *isnull)
EEO_CASE(EEOP_ROWCOMPARE_FINAL)
{
int32 cmpresult = DatumGetInt32(*op->resvalue);
- RowCompareType rctype = op->d.rowcompare_final.rctype;
+ CompareType cmptype = op->d.rowcompare_final.cmptype;
*op->resnull = false;
- switch (rctype)
+ switch (cmptype)
{
/* EQ and NE cases aren't allowed here */
- case ROWCOMPARE_LT:
+ case COMPARE_LT:
*op->resvalue = BoolGetDatum(cmpresult < 0);
break;
- case ROWCOMPARE_LE:
+ case COMPARE_LE:
*op->resvalue = BoolGetDatum(cmpresult <= 0);
break;
- case ROWCOMPARE_GE:
+ case COMPARE_GE:
*op->resvalue = BoolGetDatum(cmpresult >= 0);
break;
- case ROWCOMPARE_GT:
+ case COMPARE_GT:
*op->resvalue = BoolGetDatum(cmpresult > 0);
break;
default:
diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c
index 865aba08e8a..3b2275e8fe9 100644
--- a/src/backend/executor/nodeIndexscan.c
+++ b/src/backend/executor/nodeIndexscan.c
@@ -1344,7 +1344,7 @@ ExecIndexBuildScanKeys(PlanState *planstate, Relation index,
&op_lefttype,
&op_righttype);
- if (op_strategy != rc->rctype)
+ if (op_strategy != rc->cmptype)
elog(ERROR, "RowCompare index qualification contains wrong operator");
opfuncid = get_opfamily_proc(opfamily,
@@ -1421,7 +1421,7 @@ ExecIndexBuildScanKeys(PlanState *planstate, Relation index,
MemSet(this_scan_key, 0, sizeof(ScanKeyData));
this_scan_key->sk_flags = SK_ROW_HEADER;
this_scan_key->sk_attno = first_sub_key->sk_attno;
- this_scan_key->sk_strategy = rc->rctype;
+ this_scan_key->sk_strategy = rc->cmptype;
/* sk_subtype, sk_collation, sk_func not used in a header */
this_scan_key->sk_argument = PointerGetDatum(first_sub_key);
}
diff --git a/src/backend/jit/llvm/llvmjit_expr.c b/src/backend/jit/llvm/llvmjit_expr.c
index 6c4915e3731..b0119200dde 100644
--- a/src/backend/jit/llvm/llvmjit_expr.c
+++ b/src/backend/jit/llvm/llvmjit_expr.c
@@ -1770,7 +1770,7 @@ llvm_compile_expr(ExprState *state)
case EEOP_ROWCOMPARE_FINAL:
{
- RowCompareType rctype = op->d.rowcompare_final.rctype;
+ CompareType cmptype = op->d.rowcompare_final.cmptype;
LLVMValueRef v_cmpresult;
LLVMValueRef v_result;
@@ -1786,18 +1786,18 @@ llvm_compile_expr(ExprState *state)
l_load(b, TypeSizeT, v_resvaluep, ""),
LLVMInt32TypeInContext(lc), "");
- switch (rctype)
+ switch (cmptype)
{
- case ROWCOMPARE_LT:
+ case COMPARE_LT:
predicate = LLVMIntSLT;
break;
- case ROWCOMPARE_LE:
+ case COMPARE_LE:
predicate = LLVMIntSLE;
break;
- case ROWCOMPARE_GT:
+ case COMPARE_GT:
predicate = LLVMIntSGT;
break;
- case ROWCOMPARE_GE:
+ case COMPARE_GE:
predicate = LLVMIntSGE;
break;
default:
diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c
index 5f428e835b0..fa3edf60f3c 100644
--- a/src/backend/optimizer/path/indxpath.c
+++ b/src/backend/optimizer/path/indxpath.c
@@ -3675,7 +3675,7 @@ expand_indexqual_rowcompare(PlannerInfo *root,
{
RowCompareExpr *rc = makeNode(RowCompareExpr);
- rc->rctype = (RowCompareType) op_strategy;
+ rc->cmptype = (CompareType) op_strategy;
rc->opnos = new_ops;
rc->opfamilies = list_copy_head(clause->opfamilies,
matching_cols);
diff --git a/src/backend/optimizer/util/predtest.c b/src/backend/optimizer/util/predtest.c
index 71829aa4f1a..b76fc81b08d 100644
--- a/src/backend/optimizer/util/predtest.c
+++ b/src/backend/optimizer/util/predtest.c
@@ -1664,7 +1664,7 @@ clause_is_strict_for(Node *clause, Node *subexpr, bool allow_false)
#define BTEQ BTEqualStrategyNumber
#define BTGE BTGreaterEqualStrategyNumber
#define BTGT BTGreaterStrategyNumber
-#define BTNE ROWCOMPARE_NE
+#define BTNE COMPARE_NE
/* We use "none" for 0/false to make the tables align nicely */
#define none 0
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index d1f64f8f0a5..285a5c88d58 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -2807,7 +2807,7 @@ make_row_comparison_op(ParseState *pstate, List *opname,
List *largs, List *rargs, int location)
{
RowCompareExpr *rcexpr;
- RowCompareType rctype;
+ CompareType cmptype;
List *opexprs;
List *opnos;
List *opfamilies;
@@ -2928,15 +2928,15 @@ make_row_comparison_op(ParseState *pstate, List *opname,
errhint("Row comparison operators must be associated with btree operator families."),
parser_errposition(pstate, location)));
}
- rctype = (RowCompareType) i;
+ cmptype = (CompareType) i;
/*
* For = and <> cases, we just combine the pairwise operators with AND or
* OR respectively.
*/
- if (rctype == ROWCOMPARE_EQ)
+ if (cmptype == COMPARE_EQ)
return (Node *) makeBoolExpr(AND_EXPR, opexprs, location);
- if (rctype == ROWCOMPARE_NE)
+ if (cmptype == COMPARE_NE)
return (Node *) makeBoolExpr(OR_EXPR, opexprs, location);
/*
@@ -2953,7 +2953,7 @@ make_row_comparison_op(ParseState *pstate, List *opname,
{
OpBtreeInterpretation *opinfo = lfirst(j);
- if (opinfo->strategy == rctype)
+ if (opinfo->strategy == cmptype)
{
opfamily = opinfo->opfamily_id;
break;
@@ -2989,7 +2989,7 @@ make_row_comparison_op(ParseState *pstate, List *opname,
}
rcexpr = makeNode(RowCompareExpr);
- rcexpr->rctype = rctype;
+ rcexpr->cmptype = cmptype;
rcexpr->opnos = opnos;
rcexpr->opfamilies = opfamilies;
rcexpr->inputcollids = NIL; /* assign_expr_collations will fix this */
diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c
index 8cdb5582536..7a9af03c960 100644
--- a/src/backend/utils/cache/lsyscache.c
+++ b/src/backend/utils/cache/lsyscache.c
@@ -595,7 +595,7 @@ get_op_hash_functions(Oid opno,
*
* In addition to the normal btree operators, we consider a <> operator to be
* a "member" of an opfamily if its negator is an equality operator of the
- * opfamily. ROWCOMPARE_NE is returned as the strategy number for this case.
+ * opfamily. COMPARE_NE is returned as the strategy number for this case.
*/
List *
get_op_btree_interpretation(Oid opno)
@@ -666,11 +666,11 @@ get_op_btree_interpretation(Oid opno)
if (op_strategy != BTEqualStrategyNumber)
continue;
- /* OK, report it with "strategy" ROWCOMPARE_NE */
+ /* OK, report it with "strategy" COMPARE_NE */
thisresult = (OpBtreeInterpretation *)
palloc(sizeof(OpBtreeInterpretation));
thisresult->opfamily_id = op_form->amopfamily;
- thisresult->strategy = ROWCOMPARE_NE;
+ thisresult->strategy = COMPARE_NE;
thisresult->oplefttype = op_form->amoplefttype;
thisresult->oprighttype = op_form->amoprighttype;
result = lappend(result, thisresult);