124 uniquestate->
ps.
state = estate;
TupleTableSlot * ExecProcNode(PlanState *node)
void MemoryContextDelete(MemoryContext context)
ProjectionInfo * ps_ProjInfo
void ExecEndUnique(UniqueState *node)
void ExecEndNode(PlanState *node)
void ExecReScan(PlanState *node)
TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)
bool execTuplesMatch(TupleTableSlot *slot1, TupleTableSlot *slot2, int numCols, AttrNumber *matchColIdx, FmgrInfo *eqfunctions, MemoryContext evalContext)
#define ALLOCSET_DEFAULT_MINSIZE
void ExecAssignResultTypeFromTL(PlanState *planstate)
struct PlanState * lefttree
TupleTableSlot * ps_ResultTupleSlot
void ExecInitResultTupleSlot(EState *estate, PlanState *planstate)
#define EXEC_FLAG_BACKWARD
#define outerPlanState(node)
void ExecReScanUnique(UniqueState *node)
MemoryContext CurrentMemoryContext
MemoryContext AllocSetContextCreate(MemoryContext parent, const char *name, Size minContextSize, Size initBlockSize, Size maxBlockSize)
UniqueState * ExecInitUnique(Unique *node, EState *estate, int eflags)
MemoryContext tempContext
TupleTableSlot * ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot)
#define Assert(condition)
TupleTableSlot * ExecUnique(UniqueState *node)
#define ALLOCSET_DEFAULT_INITSIZE
#define ALLOCSET_DEFAULT_MAXSIZE
FmgrInfo * execTuplesMatchPrepare(int numCols, Oid *eqOperators)
PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)