summaryrefslogtreecommitdiff
path: root/src/include/executor/executor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/executor/executor.h')
-rw-r--r--src/include/executor/executor.h21
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
*/