child plan, which is the portion of the plan that will be executed in
parallel. If the Gather> node is at the very top of the plan
tree, then the entire query will execute in parallel. If it is somewhere
- else in the plan tree, then only that portion of the query will run in
- parallel. In the example above, the query accesses only one table, so
+ else in the plan tree, then only the portion of the plan below it will run
+ in parallel. In the example above, the query accesses only one table, so
there is only one plan node other than the Gather> node itself;
since that plan node is a child of the Gather> node, it will
run in parallel.
Every background worker process which is successfully started for a given
- parallel query will execute the portion of the plan which is a descendent
- of the Gather> node. The leader will also execute that portion
+ parallel query will execute the portion of the plan below
+ the Gather> node. The leader will also execute that portion
of the plan, but it has an additional responsibility: it must also read
all of the tuples generated by the workers. When the parallel portion of
the plan generates only a small number of tuples, the leader will often
Instead of writing ONLY> before the table name, you can write
*> after the table name to explicitly specify that descendant
tables are included. There is no real reason to use this syntax any more,
- because searching descendent tables is now always the default behavior.
+ because searching descendant tables is now always the default behavior.
However, it is supported for compatibility with older releases.
rename, or change the type of a column in the parent table without doing
same to the descendants. This ensures that the descendants always have
columns matching the parent. Similarly, a constraint cannot be renamed
- in the parent without also renaming it in all descendents, so that
- constraints also match between the parent and its descendents.
- Also, because selecting from the parent also selects from its descendents,
+ in the parent without also renaming it in all descendants, so that
+ constraints also match between the parent and its descendants.
+ Also, because selecting from the parent also selects from its descendants,
a constraint on the parent cannot be marked valid unless it is also marked
- valid for those descendents. In all of these cases, ALTER TABLE
+ valid for those descendants. In all of these cases, ALTER TABLE
ONLY will be rejected.
}
/*
- * Copy instrumentation information about this node and its descendents from
+ * Copy instrumentation information about this node and its descendants from
* dynamic shared memory.
*/
static bool
}
/*
- * Copy instrumentation information from this node and its descendents into
+ * Copy instrumentation information from this node and its descendants into
* dynamic shared memory, so that the parallel leader can retrieve it.
*/
static bool
}
/*
- * Initialize the PlanState and its descendents with the information
+ * Initialize the PlanState and its descendants with the information
* retrieved from shared memory. This has to be done once the PlanState
* is allocated and initialized by executor; that is, after ExecutorStart().
*/