diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-10-14 16:56:39 -0400 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-10-14 16:57:57 -0400 |
| commit | 11cad29c91524aac1d0b61e0ea0357398ab79bf8 (patch) | |
| tree | ec9053dfee621437146f29ce20904a9949b3f2ae /src/include/executor | |
| parent | 30e749dece0e6502d4dd0a3b2892eab61f8c073b (diff) | |
Support MergeAppend plans, to allow sorted output from append relations.
This patch eliminates the former need to sort the output of an Append scan
when an ordered scan of an inheritance tree is wanted. This should be
particularly useful for fast-start cases such as queries with LIMIT.
Original patch by Greg Stark, with further hacking by Hans-Jurgen Schonig,
Robert Haas, and Tom Lane.
Diffstat (limited to 'src/include/executor')
| -rw-r--r-- | src/include/executor/nodeMergeAppend.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/include/executor/nodeMergeAppend.h b/src/include/executor/nodeMergeAppend.h new file mode 100644 index 00000000000..7e7e494b71a --- /dev/null +++ b/src/include/executor/nodeMergeAppend.h @@ -0,0 +1,24 @@ +/*------------------------------------------------------------------------- + * + * nodeMergeAppend.h + * + * + * + * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/executor/nodeMergeAppend.h + * + *------------------------------------------------------------------------- + */ +#ifndef NODEMERGEAPPEND_H +#define NODEMERGEAPPEND_H + +#include "nodes/execnodes.h" + +extern MergeAppendState *ExecInitMergeAppend(MergeAppend *node, EState *estate, int eflags); +extern TupleTableSlot *ExecMergeAppend(MergeAppendState *node); +extern void ExecEndMergeAppend(MergeAppendState *node); +extern void ExecReScanMergeAppend(MergeAppendState *node); + +#endif /* NODEMERGEAPPEND_H */ |
