@@ -176,32 +176,44 @@ ExecInitNode(Plan *node, EState *estate, int eflags) {
176
176
break ;
177
177
178
178
case T_ModifyTable :
179
+ oids = piggyback -> tableOids ;
179
180
result = (PlanState * ) ExecInitModifyTable ((ModifyTable * ) node , estate ,
180
181
eflags );
182
+ InvalidateStatisticsForTables (oids );
181
183
break ;
182
184
183
185
case T_Append :
186
+ oids = piggyback -> tableOids ;
184
187
result = (PlanState * ) ExecInitAppend ((Append * ) node , estate , eflags );
188
+ InvalidateStatisticsForTables (oids );
185
189
break ;
186
190
187
191
case T_MergeAppend :
192
+ oids = piggyback -> tableOids ;
188
193
result = (PlanState * ) ExecInitMergeAppend ((MergeAppend * ) node , estate ,
189
194
eflags );
195
+ InvalidateStatisticsForTables (oids );
190
196
break ;
191
197
192
198
case T_RecursiveUnion :
199
+ oids = piggyback -> tableOids ;
193
200
result = (PlanState * ) ExecInitRecursiveUnion ((RecursiveUnion * ) node ,
194
201
estate , eflags );
202
+ InvalidateStatisticsForTables (oids );
195
203
break ;
196
204
197
205
case T_BitmapAnd :
206
+ oids = piggyback -> tableOids ;
198
207
result = (PlanState * ) ExecInitBitmapAnd ((BitmapAnd * ) node , estate ,
199
208
eflags );
209
+ InvalidateStatisticsForTables (oids );
200
210
break ;
201
211
202
212
case T_BitmapOr :
213
+ oids = piggyback -> tableOids ;
203
214
result = (PlanState * ) ExecInitBitmapOr ((BitmapOr * ) node , estate ,
204
215
eflags );
216
+ InvalidateStatisticsForTables (oids );
205
217
break ;
206
218
207
219
/*
@@ -268,55 +280,46 @@ ExecInitNode(Plan *node, EState *estate, int eflags) {
268
280
case T_BitmapIndexScan :
269
281
result = (PlanState * ) ExecInitBitmapIndexScan ((BitmapIndexScan * ) node ,
270
282
estate , eflags );
271
- printf (" Bitmap " );
272
283
break ;
273
284
274
285
case T_BitmapHeapScan :
275
286
result = (PlanState * ) ExecInitBitmapHeapScan ((BitmapHeapScan * ) node ,
276
287
estate , eflags );
277
- printf (" BitmapHeap " );
278
288
break ;
279
289
280
290
case T_TidScan :
281
291
result = (PlanState * ) ExecInitTidScan ((TidScan * ) node , estate ,
282
292
eflags );
283
- printf (" Tid " );
284
293
break ;
285
294
286
295
case T_SubqueryScan :
287
296
result = (PlanState * ) ExecInitSubqueryScan ((SubqueryScan * ) node ,
288
297
estate , eflags );
289
- printf (" Subquery " );
290
298
break ;
291
299
292
300
case T_FunctionScan :
293
301
result = (PlanState * ) ExecInitFunctionScan ((FunctionScan * ) node ,
294
302
estate , eflags );
295
- printf (" Function " );
296
303
break ;
297
304
298
305
case T_ValuesScan :
299
306
result = (PlanState * ) ExecInitValuesScan ((ValuesScan * ) node , estate ,
300
307
eflags );
301
- printf (" Values " );
302
308
break ;
303
309
304
310
case T_CteScan :
305
311
result = (PlanState * ) ExecInitCteScan ((CteScan * ) node , estate ,
306
312
eflags );
307
- printf (" Cte " );
308
313
break ;
309
314
310
315
case T_WorkTableScan :
311
316
result = (PlanState * ) ExecInitWorkTableScan ((WorkTableScan * ) node ,
312
317
estate , eflags );
313
- printf (" WorkTable " );
314
318
break ;
315
319
316
320
case T_ForeignScan :
317
321
result = (PlanState * ) ExecInitForeignScan ((ForeignScan * ) node , estate ,
318
322
eflags );
319
- printf (" Foreign " );
320
323
break ;
321
324
322
325
/*
0 commit comments