* Extract the qual subexpressions that yield TIDs to search for, * and compile them into ExprStates if they're ordinary expressions. */
| 99 | * and compile them into ExprStates if they're ordinary expressions. |
| 100 | */ |
| 101 | static void |
| 102 | TidExprListCreate(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 |
no test coverage detected