|
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: |
|