MCPcopy Create free account
hub / github.com/apache/cloudberry / TidExprListCreate

Function TidExprListCreate

src/backend/executor/nodeTidrangescan.c:101–121  ·  view source on GitHub ↗

* Extract the qual subexpressions that yield TIDs to search for, * and compile them into ExprStates if they're ordinary expressions. */

Source from the content-addressed store, hash-verified

99 * and compile them into ExprStates if they're ordinary expressions.
100 */
101static void
102TidExprListCreate(TidRangeScanState *tidrangestate)
103{
104 TidRangeScan *node = (TidRangeScan *) tidrangestate->ss.ps.plan;
105 List *tidexprs = NIL;
106 ListCell *l;
107
108 foreach(l, node->tidrangequals)
109 {
110 OpExpr *opexpr = lfirst(l);
111 TidOpExpr *tidopexpr;
112
113 if (!IsA(opexpr, OpExpr))
114 elog(ERROR, "could not identify CTID expression");
115
116 tidopexpr = MakeTidOpExpr(opexpr, tidrangestate);
117 tidexprs = lappend(tidexprs, tidopexpr);
118 }
119
120 tidrangestate->trss_tidexprs = tidexprs;
121}
122
123/* ----------------------------------------------------------------
124 * TidRangeEval

Callers 1

ExecInitTidRangeScanFunction · 0.70

Calls 3

MakeTidOpExprFunction · 0.85
lappendFunction · 0.85
foreachFunction · 0.50

Tested by

no test coverage detected