1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-22 14:32:25 +03:00

Doc: rearrange high-level commentary about node support coverage.

copyfuncs.c and friends no longer seem like great places to put
high-level remarks about what's covered and what isn't.  Move that
material to backend/nodes/README and other more-prominent places.
Add back (versions of) some remarks that disappeared in 2be87f092.

Discussion: https://postgr.es/m/3843645.1657385930@sss.pgh.pa.us
This commit is contained in:
Tom Lane
2022-07-09 15:10:15 -04:00
parent 8c73c11a0d
commit 3cd0ac9878
4 changed files with 41 additions and 25 deletions

View File

@@ -3,11 +3,20 @@
* execnodes.h
* definitions for executor state nodes
*
* ExprState represents the evaluation state for a whole expression tree.
* Most Expr-based plan nodes do not have a corresponding expression state
* node, they're fully handled within execExpr* - but sometimes the state
* needs to be shared with other parts of the executor, as for example
* with SubPlanState, which nodeSubplan.c has to modify.
* Most plan node types declared in plannodes.h have a corresponding
* execution-state node type declared here. An exception is that
* expression nodes (subtypes of Expr) are usually represented by steps
* of an ExprState, and fully handled within execExpr* - but sometimes
* their state needs to be shared with other parts of the executor, as
* for example with SubPlanState, which nodeSubplan.c has to modify.
*
* Node types declared in this file do not have any copy/equal/out/read
* support. (That is currently hard-wired in gen_node_support.pl, rather
* than being explicitly represented by pg_node_attr decorations here.)
* There is no need for copy, equal, or read support for executor trees.
* Output support could be useful for debugging; but there are a lot of
* specialized fields that would require custom code, so for now it's
* not provided.
*
*
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
@@ -53,7 +62,7 @@ struct LogicalTapeSet;
/* ----------------
* ExprState node
*
* ExprState is the top-level node for expression evaluation.
* ExprState represents the evaluation state for a whole expression tree.
* It contains instructions (in ->steps) to evaluate the expression.
* ----------------
*/