diff options
Diffstat (limited to 'src/backend/executor/execProcnode.c')
-rw-r--r-- | src/backend/executor/execProcnode.c | 181 |
1 files changed, 1 insertions, 180 deletions
diff --git a/src/backend/executor/execProcnode.c b/src/backend/executor/execProcnode.c index 8d2bc0f8bd9..f8dbb019c5d 100644 --- a/src/backend/executor/execProcnode.c +++ b/src/backend/executor/execProcnode.c @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execProcnode.c,v 1.35 2003/02/09 00:30:39 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execProcnode.c,v 1.36 2003/05/05 17:57:47 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -22,7 +22,6 @@ * ExecInitNode - initialize a plan node and its subplans * ExecProcNode - get a tuple by executing the plan node * ExecEndNode - shut down a plan node and its subplans - * ExecGetTupType - get result tuple type of a plan node * * NOTES * This used to be three files. It is now all combined into @@ -602,181 +601,3 @@ ExecEndNode(PlanState *node) break; } } - - -/* ---------------------------------------------------------------- - * ExecGetTupType - * - * this gives you the tuple descriptor for tuples returned - * by this node. I really wish I could ditch this routine, - * but since not all nodes store their type info in the same - * place, we have to do something special for each node type. - * - * ---------------------------------------------------------------- - */ -TupleDesc -ExecGetTupType(PlanState *node) -{ - TupleTableSlot *slot; - - if (node == NULL) - return NULL; - - switch (nodeTag(node)) - { - case T_ResultState: - { - ResultState *resstate = (ResultState *) node; - - slot = resstate->ps.ps_ResultTupleSlot; - } - break; - - case T_AppendState: - { - AppendState *appendstate = (AppendState *) node; - - slot = appendstate->ps.ps_ResultTupleSlot; - } - break; - - case T_SeqScanState: - { - SeqScanState *scanstate = (SeqScanState *) node; - - slot = scanstate->ps.ps_ResultTupleSlot; - } - break; - - case T_IndexScanState: - { - IndexScanState *scanstate = (IndexScanState *) node; - - slot = scanstate->ss.ps.ps_ResultTupleSlot; - } - break; - - case T_TidScanState: - { - TidScanState *scanstate = (TidScanState *) node; - - slot = scanstate->ss.ps.ps_ResultTupleSlot; - } - break; - - case T_SubqueryScanState: - { - SubqueryScanState *scanstate = (SubqueryScanState *) node; - - slot = scanstate->ss.ps.ps_ResultTupleSlot; - } - break; - - case T_FunctionScanState: - { - FunctionScanState *scanstate = (FunctionScanState *) node; - - slot = scanstate->ss.ps.ps_ResultTupleSlot; - } - break; - - case T_NestLoopState: - { - NestLoopState *nlstate = (NestLoopState *) node; - - slot = nlstate->js.ps.ps_ResultTupleSlot; - } - break; - - case T_MergeJoinState: - { - MergeJoinState *mergestate = (MergeJoinState *) node; - - slot = mergestate->js.ps.ps_ResultTupleSlot; - } - break; - - case T_HashJoinState: - { - HashJoinState *hashjoinstate = (HashJoinState *) node; - - slot = hashjoinstate->js.ps.ps_ResultTupleSlot; - } - break; - - case T_MaterialState: - { - MaterialState *matstate = (MaterialState *) node; - - slot = matstate->ss.ss_ScanTupleSlot; - } - break; - - case T_SortState: - { - SortState *sortstate = (SortState *) node; - - slot = sortstate->ss.ss_ScanTupleSlot; - } - break; - - case T_GroupState: - { - GroupState *grpstate = (GroupState *) node; - - slot = grpstate->ss.ps.ps_ResultTupleSlot; - } - break; - - case T_AggState: - { - AggState *aggstate = (AggState *) node; - - slot = aggstate->ss.ps.ps_ResultTupleSlot; - } - break; - - case T_UniqueState: - { - UniqueState *uniquestate = (UniqueState *) node; - - slot = uniquestate->ps.ps_ResultTupleSlot; - } - break; - - case T_HashState: - { - HashState *hashstate = (HashState *) node; - - slot = hashstate->ps.ps_ResultTupleSlot; - } - break; - - case T_SetOpState: - { - SetOpState *setopstate = (SetOpState *) node; - - slot = setopstate->ps.ps_ResultTupleSlot; - } - break; - - case T_LimitState: - { - LimitState *limitstate = (LimitState *) node; - - slot = limitstate->ps.ps_ResultTupleSlot; - } - break; - - default: - - /* - * should never get here - */ - elog(ERROR, "ExecGetTupType: node type %d unsupported", - (int) nodeTag(node)); - return NULL; - } - - return slot->ttc_tupleDescriptor; -} |