postgresql/src/backend
Tom Lane ff33a8c887 Remove artificial restrictions on which node types have out/read funcs.
The initial version of gen_node_support.pl manually excluded most
utility statement node types from having out/read support, and
also some raw-parse-tree-only node types.  That was mostly to keep
the output comparable to the old hand-maintained code.  We'd like
to have out/read support for utility statements, for debugging
purposes and so that they can be included in new-style SQL functions;
so it's time to lift that restriction.

Most if not all of the previously-excluded raw-parse-tree-only node
types can appear in expression subtrees of utility statements, so
they have to be handled too.

We don't quite have full read support yet; certain custom_read_write
node types need to have their handwritten read functions implemented
before that will work.

Doing this allows us to drop the previous hack in _outQuery to not
dump the utilityStmt field in most cases, which means we no longer
need manually-maintained out/read functions for Query, so get rid
of those in favor of auto-generating them.

Fix a couple of omissions in gen_node_support.pl that are exposed
through having to handle more node types.

catversion bump forced because somebody was sloppy about the field
order in the manually-maintained Query out/read functions.
(Committers should note that almost all changes in parsenodes.h
are now grounds for a catversion bump.)
2022-07-13 11:48:17 -04:00
..
access Add checkpoint and REDO LSN to log_checkpoints message. 2022-07-07 22:37:54 +09:00
bootstrap Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
catalog Use list_copy_head() instead of list_truncate(list_copy(...), ...) 2022-07-13 15:03:47 +12:00
commands Allow specifying STORAGE attribute for a new table 2022-07-13 12:21:45 +02:00
executor Remove useless assertions 2022-07-13 11:43:40 +02:00
foreign Create routine able to set single-call SRFs for Materialize mode 2022-03-07 10:26:29 +09:00
jit Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
lib Fix lock assertions in dshash.c. 2022-07-11 16:43:29 +12:00
libpq Remove HP-UX port. 2022-07-08 14:05:05 +12:00
main Make Windows 10 the minimal runtime requirement for WIN32 2022-07-07 13:25:45 +09:00
nodes Remove artificial restrictions on which node types have out/read funcs. 2022-07-13 11:48:17 -04:00
optimizer Use list_copy_head() instead of list_truncate(list_copy(...), ...) 2022-07-13 15:03:47 +12:00
parser Allow specifying STORAGE attribute for a new table 2022-07-13 12:21:45 +02:00
partitioning Small cleanup of create_list_bounds() 2022-07-13 17:01:01 +12:00
po NLS: Put list of available languages into LINGUAS files 2022-07-13 08:19:17 +02:00
port Remove HP-UX port. 2022-07-08 14:05:05 +12:00
postmaster Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
regex Remove redundant null pointer checks before free() 2022-07-03 11:47:15 +02:00
replication Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
rewrite Fix incautious CTE matching in rewriteSearchAndCycle(). 2022-04-23 12:16:12 -04:00
snowball Update copyright for 2022 2022-01-07 19:04:57 -05:00
statistics Invent qsort_interruptible(). 2022-07-12 16:30:36 -04:00
storage Rename some functions to mention Relation instead of RelFileLocator. 2022-07-12 10:26:48 -04:00
tcop Remove HP/Intel Itanium support. 2022-07-08 14:14:57 +12:00
tsearch Invent qsort_interruptible(). 2022-07-12 16:30:36 -04:00
utils Invent qsort_interruptible(). 2022-07-12 16:30:36 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Automatically generate node support functions 2022-07-09 08:53:59 +02:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk NLS: Put list of available languages into LINGUAS files 2022-07-13 08:19:17 +02:00