aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/outfuncs.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2015-09-23 11:51:50 -0400
committerRobert Haas <rhaas@postgresql.org>2015-09-23 11:51:50 -0400
commita0d9f6e434bb56f7e5441b7988f3982feead33b3 (patch)
tree114133dc8448b8bf6544a235e43e7dbdad3ac1ac /src/backend/nodes/outfuncs.c
parent4fe6f72bda7b4c3eb39560e3da50a093d833647d (diff)
downloadpostgresql-a0d9f6e434bb56f7e5441b7988f3982feead33b3.tar.gz
postgresql-a0d9f6e434bb56f7e5441b7988f3982feead33b3.zip
Add readfuncs.c support for plan nodes.
For parallel query, we need to be able to pass a Plan to a worker, so that it knows what it's supposed to do. We could invent our own way of serializing plans for that purpose, but piggybacking on the existing node infrastructure seems like a much better idea. Initially, we'll probably only support a limited number of nodes within parallel workers, but this commit adds support for everything in plannodes.h except CustomScan, because doing it all at once seems easier than doing it piecemeal, and it makes testing this code easier, too. CustomScan is excluded because making that work requires a larger rework of that facility. Amit Kapila, reviewed and slightly revised by me.
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r--src/backend/nodes/outfuncs.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index 37222008665..c91273cf237 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -13,9 +13,11 @@
* NOTES
* Every node type that can appear in stored rules' parsetrees *must*
* have an output function defined here (as well as an input function
- * in readfuncs.c). For use in debugging, we also provide output
- * functions for nodes that appear in raw parsetrees, path, and plan trees.
- * These nodes however need not have input functions.
+ * in readfuncs.c). In addition, plan nodes should have input and
+ * output functions so that they can be sent to parallel workers.
+ * For use in debugging, we also provide output functions for nodes
+ * that appear in raw parsetrees and path. These nodes however need
+ * not have input functions.
*
*-------------------------------------------------------------------------
*/