Skip to content

Commit a0d9f6e

Browse files
committed
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.
1 parent 4fe6f72 commit a0d9f6e

File tree

2 files changed

+1023
-5
lines changed

2 files changed

+1023
-5
lines changed

src/backend/nodes/outfuncs.c

+5-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
* NOTES
1414
* Every node type that can appear in stored rules' parsetrees *must*
1515
* have an output function defined here (as well as an input function
16-
* in readfuncs.c). For use in debugging, we also provide output
17-
* functions for nodes that appear in raw parsetrees, path, and plan trees.
18-
* These nodes however need not have input functions.
16+
* in readfuncs.c). In addition, plan nodes should have input and
17+
* output functions so that they can be sent to parallel workers.
18+
* For use in debugging, we also provide output functions for nodes
19+
* that appear in raw parsetrees and path. These nodes however need
20+
* not have input functions.
1921
*
2022
*-------------------------------------------------------------------------
2123
*/

0 commit comments

Comments
 (0)