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

Function ExecReScanBitmapOr

src/backend/executor/nodeBitmapOr.c:240–270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

238}
239
240void
241ExecReScanBitmapOr(BitmapOrState *node)
242{
243 /*
244 * For optimizer a rescan call on BitmapIndexScan could free up the bitmap. So,
245 * we voluntarily set our bitmap to NULL to ensure that we don't have an out
246 * of scope pointer
247 */
248 node->bitmap = NULL;
249
250 int i;
251
252 for (i = 0; i < node->nplans; i++)
253 {
254 PlanState *subnode = node->bitmapplans[i];
255
256 /*
257 * ExecReScan doesn't know about my subplans, so I have to do
258 * changed-parameter signaling myself.
259 */
260 if (node->ps.chgParam != NULL)
261 UpdateChangedParamSet(subnode, node->ps.chgParam);
262
263 /*
264 * If chgParam of subnode is not null then plan will be re-scanned by
265 * first ExecProcNode.
266 */
267 if (subnode->chgParam == NULL)
268 ExecReScan(subnode);
269 }
270}

Callers 1

ExecReScanFunction · 0.85

Calls 2

UpdateChangedParamSetFunction · 0.85
ExecReScanFunction · 0.85

Tested by

no test coverage detected