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

Function ExecReScanBitmapAnd

src/backend/executor/nodeBitmapAnd.c:249–279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

ExecReScanFunction · 0.85

Calls 2

UpdateChangedParamSetFunction · 0.85
ExecReScanFunction · 0.85

Tested by

no test coverage detected