179 ENL1_printf(
"no inner tuple, need new outer tuple");
195 ENL1_printf(
"testing qualification for outer-join tuple");
197 if (otherqual ==
NIL ||
ExecQual(otherqual, econtext,
false))
207 ENL1_printf(
"qualification succeeded, projecting tuple");
238 if (
ExecQual(joinqual, econtext,
false))
256 if (otherqual ==
NIL ||
ExecQual(otherqual, econtext,
false))
265 ENL1_printf(
"qualification succeeded, projecting tuple");
304 "initializing node");
367 elog(
ERROR,
"unrecognized join type: %d",
400 "ending node processing");
419 "node processing ended");
TupleTableSlot * ExecProcNode(PlanState *node)
#define IsA(nodeptr, _type_)
void ExecEndNestLoop(NestLoopState *node)
ProjectionInfo * ps_ProjInfo
void ExecEndNode(PlanState *node)
NestLoopState * ExecInitNestLoop(NestLoop *node, EState *estate, int eflags)
ExprContext * ps_ExprContext
void ExecReScan(PlanState *node)
TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)
TupleTableSlot * ExecProject(ProjectionInfo *projInfo, ExprDoneCond *isDone)
void ExecFreeExprContext(PlanState *planstate)
void ExecAssignResultTypeFromTL(PlanState *planstate)
TupleTableSlot * ps_ResultTupleSlot
ExprState * ExecInitExpr(Expr *node, PlanState *parent)
TupleTableSlot * ExecInitNullTupleSlot(EState *estate, TupleDesc tupType)
#define ENL1_printf(message)
void ExecInitResultTupleSlot(EState *estate, PlanState *planstate)
#define EXEC_FLAG_BACKWARD
#define outerPlanState(node)
void ExecAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc)
TupleTableSlot * ecxt_innertuple
ParamExecData * ecxt_param_exec_vals
bool ExecQual(List *qual, ExprContext *econtext, bool resultForNull)
void ExecReScanNestLoop(NestLoopState *node)
#define InstrCountFiltered1(node, delta)
TupleTableSlot * ExecNestLoop(NestLoopState *node)
TupleTableSlot * nl_NullInnerTupleSlot
TupleTableSlot * ecxt_outertuple
#define Assert(condition)
#define InstrCountFiltered2(node, delta)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
Bitmapset * bms_add_member(Bitmapset *a, int x)
TupleDesc ExecGetResultType(PlanState *planstate)
Datum slot_getattr(TupleTableSlot *slot, int attnum, bool *isnull)
#define innerPlanState(node)
PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)
#define ResetExprContext(econtext)