98 foreach(t, targetList)
178 t =
lnext(targetList, t);
226 foreach(t, targetlist)
230 if (
tle->resjunk &&
tle->resname &&
#define InvalidAttrNumber
static Datum values[MAXATTR]
#define Assert(condition)
JunkFilter * ExecInitJunkFilterConversion(List *targetList, TupleDesc cleanTupType, TupleTableSlot *slot)
TupleTableSlot * ExecFilterJunk(JunkFilter *junkfilter, TupleTableSlot *slot)
AttrNumber ExecFindJunkAttributeInTlist(List *targetlist, const char *attrName)
JunkFilter * ExecInitJunkFilter(List *targetList, TupleTableSlot *slot)
AttrNumber ExecFindJunkAttribute(JunkFilter *junkfilter, const char *attrName)
TupleTableSlot * MakeSingleTupleTableSlot(TupleDesc tupdesc, const TupleTableSlotOps *tts_ops)
const TupleTableSlotOps TTSOpsVirtual
TupleTableSlot * ExecStoreVirtualTuple(TupleTableSlot *slot)
TupleDesc ExecCleanTypeFromTL(List *targetList)
void ExecSetSlotDescriptor(TupleTableSlot *slot, TupleDesc tupdesc)
void * palloc0(Size size)
static ListCell * list_head(const List *l)
static ListCell * lnext(const List *l, const ListCell *c)
static CompactAttribute * TupleDescCompactAttr(TupleDesc tupdesc, int i)
static TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)
static void slot_getallattrs(TupleTableSlot *slot)