|
6 | 6 | * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
7 | 7 | * Portions Copyright (c) 1994, Regents of the University of California
|
8 | 8 | *
|
9 |
| - *$PostgreSQL: pgsql/src/backend/executor/execAmi.c,v 1.108 2010/02/14 18:42:14 rhaas Exp $ |
| 9 | + *$PostgreSQL: pgsql/src/backend/executor/execAmi.c,v 1.109 2010/07/12 17:01:05 tgl Exp $ |
10 | 10 | *
|
11 | 11 | *-------------------------------------------------------------------------
|
12 | 12 | */
|
@@ -59,17 +59,9 @@ static bool IndexSupportsBackwardScan(Oid indexid);
|
59 | 59 | *
|
60 | 60 | * Note that if the plan node has parameters that have changed value,
|
61 | 61 | * the output might be different from last time.
|
62 |
| - * |
63 |
| - * The second parameter is currently only used to pass a NestLoop plan's |
64 |
| - * econtext down to its inner child plan, in case that is an indexscan that |
65 |
| - * needs access to variables of the current outer tuple. (The handling of |
66 |
| - * this parameter is currently pretty inconsistent: some callers pass NULL |
67 |
| - * and some pass down their parent's value; so don't rely on it in other |
68 |
| - * situations.It'd probably be better to remove the whole thing and use |
69 |
| - * the generalized parameter mechanism instead.) |
70 | 62 | */
|
71 | 63 | void
|
72 |
| -ExecReScan(PlanState*node,ExprContext*exprCtxt) |
| 64 | +ExecReScan(PlanState*node) |
73 | 65 | {
|
74 | 66 | /* If collecting timing stats, update them */
|
75 | 67 | if (node->instrument)
|
@@ -126,119 +118,119 @@ ExecReScan(PlanState *node, ExprContext *exprCtxt)
|
126 | 118 | switch (nodeTag(node))
|
127 | 119 | {
|
128 | 120 | caseT_ResultState:
|
129 |
| -ExecReScanResult((ResultState*)node,exprCtxt); |
| 121 | +ExecReScanResult((ResultState*)node); |
130 | 122 | break;
|
131 | 123 |
|
132 | 124 | caseT_ModifyTableState:
|
133 |
| -ExecReScanModifyTable((ModifyTableState*)node,exprCtxt); |
| 125 | +ExecReScanModifyTable((ModifyTableState*)node); |
134 | 126 | break;
|
135 | 127 |
|
136 | 128 | caseT_AppendState:
|
137 |
| -ExecReScanAppend((AppendState*)node,exprCtxt); |
| 129 | +ExecReScanAppend((AppendState*)node); |
138 | 130 | break;
|
139 | 131 |
|
140 | 132 | caseT_RecursiveUnionState:
|
141 |
| -ExecRecursiveUnionReScan((RecursiveUnionState*)node,exprCtxt); |
| 133 | +ExecReScanRecursiveUnion((RecursiveUnionState*)node); |
142 | 134 | break;
|
143 | 135 |
|
144 | 136 | caseT_BitmapAndState:
|
145 |
| -ExecReScanBitmapAnd((BitmapAndState*)node,exprCtxt); |
| 137 | +ExecReScanBitmapAnd((BitmapAndState*)node); |
146 | 138 | break;
|
147 | 139 |
|
148 | 140 | caseT_BitmapOrState:
|
149 |
| -ExecReScanBitmapOr((BitmapOrState*)node,exprCtxt); |
| 141 | +ExecReScanBitmapOr((BitmapOrState*)node); |
150 | 142 | break;
|
151 | 143 |
|
152 | 144 | caseT_SeqScanState:
|
153 |
| -ExecSeqReScan((SeqScanState*)node,exprCtxt); |
| 145 | +ExecReScanSeqScan((SeqScanState*)node); |
154 | 146 | break;
|
155 | 147 |
|
156 | 148 | caseT_IndexScanState:
|
157 |
| -ExecIndexReScan((IndexScanState*)node,exprCtxt); |
| 149 | +ExecReScanIndexScan((IndexScanState*)node); |
158 | 150 | break;
|
159 | 151 |
|
160 | 152 | caseT_BitmapIndexScanState:
|
161 |
| -ExecBitmapIndexReScan((BitmapIndexScanState*)node,exprCtxt); |
| 153 | +ExecReScanBitmapIndexScan((BitmapIndexScanState*)node); |
162 | 154 | break;
|
163 | 155 |
|
164 | 156 | caseT_BitmapHeapScanState:
|
165 |
| -ExecBitmapHeapReScan((BitmapHeapScanState*)node,exprCtxt); |
| 157 | +ExecReScanBitmapHeapScan((BitmapHeapScanState*)node); |
166 | 158 | break;
|
167 | 159 |
|
168 | 160 | caseT_TidScanState:
|
169 |
| -ExecTidReScan((TidScanState*)node,exprCtxt); |
| 161 | +ExecReScanTidScan((TidScanState*)node); |
170 | 162 | break;
|
171 | 163 |
|
172 | 164 | caseT_SubqueryScanState:
|
173 |
| -ExecSubqueryReScan((SubqueryScanState*)node,exprCtxt); |
| 165 | +ExecReScanSubqueryScan((SubqueryScanState*)node); |
174 | 166 | break;
|
175 | 167 |
|
176 | 168 | caseT_FunctionScanState:
|
177 |
| -ExecFunctionReScan((FunctionScanState*)node,exprCtxt); |
| 169 | +ExecReScanFunctionScan((FunctionScanState*)node); |
178 | 170 | break;
|
179 | 171 |
|
180 | 172 | caseT_ValuesScanState:
|
181 |
| -ExecValuesReScan((ValuesScanState*)node,exprCtxt); |
| 173 | +ExecReScanValuesScan((ValuesScanState*)node); |
182 | 174 | break;
|
183 | 175 |
|
184 | 176 | caseT_CteScanState:
|
185 |
| -ExecCteScanReScan((CteScanState*)node,exprCtxt); |
| 177 | +ExecReScanCteScan((CteScanState*)node); |
186 | 178 | break;
|
187 | 179 |
|
188 | 180 | caseT_WorkTableScanState:
|
189 |
| -ExecWorkTableScanReScan((WorkTableScanState*)node,exprCtxt); |
| 181 | +ExecReScanWorkTableScan((WorkTableScanState*)node); |
190 | 182 | break;
|
191 | 183 |
|
192 | 184 | caseT_NestLoopState:
|
193 |
| -ExecReScanNestLoop((NestLoopState*)node,exprCtxt); |
| 185 | +ExecReScanNestLoop((NestLoopState*)node); |
194 | 186 | break;
|
195 | 187 |
|
196 | 188 | caseT_MergeJoinState:
|
197 |
| -ExecReScanMergeJoin((MergeJoinState*)node,exprCtxt); |
| 189 | +ExecReScanMergeJoin((MergeJoinState*)node); |
198 | 190 | break;
|
199 | 191 |
|
200 | 192 | caseT_HashJoinState:
|
201 |
| -ExecReScanHashJoin((HashJoinState*)node,exprCtxt); |
| 193 | +ExecReScanHashJoin((HashJoinState*)node); |
202 | 194 | break;
|
203 | 195 |
|
204 | 196 | caseT_MaterialState:
|
205 |
| -ExecMaterialReScan((MaterialState*)node,exprCtxt); |
| 197 | +ExecReScanMaterial((MaterialState*)node); |
206 | 198 | break;
|
207 | 199 |
|
208 | 200 | caseT_SortState:
|
209 |
| -ExecReScanSort((SortState*)node,exprCtxt); |
| 201 | +ExecReScanSort((SortState*)node); |
210 | 202 | break;
|
211 | 203 |
|
212 | 204 | caseT_GroupState:
|
213 |
| -ExecReScanGroup((GroupState*)node,exprCtxt); |
| 205 | +ExecReScanGroup((GroupState*)node); |
214 | 206 | break;
|
215 | 207 |
|
216 | 208 | caseT_AggState:
|
217 |
| -ExecReScanAgg((AggState*)node,exprCtxt); |
| 209 | +ExecReScanAgg((AggState*)node); |
218 | 210 | break;
|
219 | 211 |
|
220 | 212 | caseT_WindowAggState:
|
221 |
| -ExecReScanWindowAgg((WindowAggState*)node,exprCtxt); |
| 213 | +ExecReScanWindowAgg((WindowAggState*)node); |
222 | 214 | break;
|
223 | 215 |
|
224 | 216 | caseT_UniqueState:
|
225 |
| -ExecReScanUnique((UniqueState*)node,exprCtxt); |
| 217 | +ExecReScanUnique((UniqueState*)node); |
226 | 218 | break;
|
227 | 219 |
|
228 | 220 | caseT_HashState:
|
229 |
| -ExecReScanHash((HashState*)node,exprCtxt); |
| 221 | +ExecReScanHash((HashState*)node); |
230 | 222 | break;
|
231 | 223 |
|
232 | 224 | caseT_SetOpState:
|
233 |
| -ExecReScanSetOp((SetOpState*)node,exprCtxt); |
| 225 | +ExecReScanSetOp((SetOpState*)node); |
234 | 226 | break;
|
235 | 227 |
|
236 | 228 | caseT_LockRowsState:
|
237 |
| -ExecReScanLockRows((LockRowsState*)node,exprCtxt); |
| 229 | +ExecReScanLockRows((LockRowsState*)node); |
238 | 230 | break;
|
239 | 231 |
|
240 | 232 | caseT_LimitState:
|
241 |
| -ExecReScanLimit((LimitState*)node,exprCtxt); |
| 233 | +ExecReScanLimit((LimitState*)node); |
242 | 234 | break;
|
243 | 235 |
|
244 | 236 | default:
|
|