44 elog(
ERROR,
"BitmapAnd node does not support ExecProcNode call convention");
78 bitmapandstate->
ps.
state = estate;
81 bitmapandstate->
nplans = nplans;
102 return bitmapandstate;
130 for (i = 0; i < nplans; i++)
138 elog(
ERROR,
"unrecognized result from subplan");
160 elog(
ERROR,
"BitmapAnd doesn't support zero inputs");
166 return (
Node *) result;
193 for (i = 0; i < nplans; i++)
205 for (i = 0; i < node->
nplans; i++)
void InstrStopNode(Instrumentation *instr, double nTuples)
#define IsA(nodeptr, _type_)
void tbm_intersect(TIDBitmap *a, const TIDBitmap *b)
Instrumentation * instrument
void ExecEndNode(PlanState *node)
void ExecReScan(PlanState *node)
void ExecEndBitmapAnd(BitmapAndState *node)
void InstrStartNode(Instrumentation *instr)
#define EXEC_FLAG_BACKWARD
void tbm_free(TIDBitmap *tbm)
Node * MultiExecBitmapAnd(BitmapAndState *node)
BitmapAndState * ExecInitBitmapAnd(BitmapAnd *node, EState *estate, int eflags)
void * palloc0(Size size)
ExecProcNodeMtd ExecProcNode
bool tbm_is_empty(const TIDBitmap *tbm)
void UpdateChangedParamSet(PlanState *node, Bitmapset *newchg)
#define Assert(condition)
void ExecReScanBitmapAnd(BitmapAndState *node)
static int list_length(const List *l)
Node * MultiExecProcNode(PlanState *node)
static TupleTableSlot * ExecBitmapAnd(PlanState *pstate)
PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)