164 ENL1_printf(
"no inner tuple, need new outer tuple");
180 ENL1_printf(
"testing qualification for outer-join tuple");
182 if (otherqual == NULL ||
ExecQual(otherqual, econtext))
189 ENL1_printf(
"qualification succeeded, projecting tuple");
232 if (otherqual == NULL ||
ExecQual(otherqual, econtext))
238 ENL1_printf(
"qualification succeeded, projecting tuple");
270 "initializing node");
338 elog(
ERROR,
"unrecognized join type: %d",
364 "ending node processing");
373 "node processing ended");
Bitmapset * bms_add_member(Bitmapset *a, int x)
#define Assert(condition)
void ExecReScan(PlanState *node)
ExprState * ExecInitQual(List *qual, PlanState *parent)
void ExecEndNode(PlanState *node)
PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)
const TupleTableSlotOps TTSOpsVirtual
TupleTableSlot * ExecInitNullTupleSlot(EState *estate, TupleDesc tupType, const TupleTableSlotOps *tts_ops)
void ExecInitResultTupleSlotTL(PlanState *planstate, const TupleTableSlotOps *tts_ops)
TupleDesc ExecGetResultType(PlanState *planstate)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
void ExecAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc)
#define ENL1_printf(message)
#define InstrCountFiltered1(node, delta)
#define outerPlanState(node)
#define InstrCountFiltered2(node, delta)
#define innerPlanState(node)
#define EXEC_FLAG_BACKWARD
static TupleTableSlot * ExecProject(ProjectionInfo *projInfo)
#define ResetExprContext(econtext)
static bool ExecQual(ExprState *state, ExprContext *econtext)
static TupleTableSlot * ExecProcNode(PlanState *node)
#define CHECK_FOR_INTERRUPTS()
static TupleTableSlot * ExecNestLoop(PlanState *pstate)
void ExecEndNestLoop(NestLoopState *node)
void ExecReScanNestLoop(NestLoopState *node)
NestLoopState * ExecInitNestLoop(NestLoop *node, EState *estate, int eflags)
#define IsA(nodeptr, _type_)
#define castNode(_type_, nodeptr)
TupleTableSlot * ecxt_innertuple
ParamExecData * ecxt_param_exec_vals
TupleTableSlot * ecxt_outertuple
TupleTableSlot * nl_NullInnerTupleSlot
ExprContext * ps_ExprContext
ProjectionInfo * ps_ProjInfo
ExecProcNodeMtd ExecProcNode
static Datum slot_getattr(TupleTableSlot *slot, int attnum, bool *isnull)