mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Parallel executor support.
This code provides infrastructure for a parallel leader to start up parallel workers to execute subtrees of the plan tree being executed in the master. User-supplied parameters from ParamListInfo are passed down, but PARAM_EXEC parameters are not. Various other constructs, such as initplans, subplans, and CTEs, are also not currently shared. Nevertheless, there's enough here to support a basic implementation of parallel query, and we can lift some of the current restrictions as needed. Amit Kapila and Robert Haas
This commit is contained in:
@@ -46,4 +46,14 @@ extern Datum datumTransfer(Datum value, bool typByVal, int typLen);
|
||||
extern bool datumIsEqual(Datum value1, Datum value2,
|
||||
bool typByVal, int typLen);
|
||||
|
||||
/*
|
||||
* Serialize and restore datums so that we can transfer them to parallel
|
||||
* workers.
|
||||
*/
|
||||
extern Size datumEstimateSpace(Datum value, bool isnull, bool typByVal,
|
||||
int typLen);
|
||||
extern void datumSerialize(Datum value, bool isnull, bool typByVal,
|
||||
int typLen, char **start_address);
|
||||
extern Datum datumRestore(char **start_address, bool *isnull);
|
||||
|
||||
#endif /* DATUM_H */
|
||||
|
||||
Reference in New Issue
Block a user