diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-07-20 05:49:28 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-07-20 05:49:28 +0000 |
commit | 1ce03603ccc690c07987a64cbc2b53391c51f083 (patch) | |
tree | 882766fa0cd7f6b7632c3c8c061c4b654f39dd78 /src/include/executor | |
parent | b6d2faaf24cb7f39c66667d2c1d1472f3c9ab4f8 (diff) | |
download | postgresql-1ce03603ccc690c07987a64cbc2b53391c51f083.tar.gz postgresql-1ce03603ccc690c07987a64cbc2b53391c51f083.zip |
> 2. This patch includes the same Table Function API fixes that I
> submitted on July 9:
>
> http://archives.postgresql.org/pgsql-patches/2002-07/msg00056.php
>
> Please disregard that one *if* this one is applied. If this one is
> rejected please go ahead with the July 9th patch.
The July 9th Table Function API patch mentioned above is now in CVS, so
here is an updated version of the guc patch which should apply cleanly
against CVS tip.
Joe Conway
Diffstat (limited to 'src/include/executor')
-rw-r--r-- | src/include/executor/executor.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h index 427c146a574..5b121546d96 100644 --- a/src/include/executor/executor.h +++ b/src/include/executor/executor.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: executor.h,v 1.70 2002/07/20 05:16:59 momjian Exp $ + * $Id: executor.h,v 1.71 2002/07/20 05:49:28 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -121,6 +121,25 @@ extern TupleTableSlot *ExecInitNullTupleSlot(EState *estate, extern TupleDesc ExecTypeFromTL(List *targetList, hasoid_t withoid); extern void SetChangedParamList(Plan *node, List *newchg); +typedef struct TupOutputState +{ + TupleDesc tupdesc; + DestReceiver *destfunc; +} TupOutputState; + +extern TupOutputState *begin_tup_output_tupdesc(CommandDest dest, TupleDesc tupdesc); +extern void do_tup_output(TupOutputState *tstate, char **values); +extern void do_text_output_multiline(TupOutputState *tstate, char *text); +extern void end_tup_output(TupOutputState *tstate); + +#define PROJECT_LINE_OF_TEXT(text_to_project) \ + do { \ + char *values[1]; \ + values[0] = text_to_project; \ + do_tup_output(tstate, values); \ + } while (0) + + /* * prototypes from functions in execUtils.c */ |