aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/readfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-07-13 11:48:17 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2022-07-13 11:48:17 -0400
commitff33a8c8874b43ec55d517ce0612ed79ad08a38a (patch)
tree9ca6ab1de358c7d9aefebc4df78c24c05c83f958 /src/backend/nodes/readfuncs.c
parent9c727360bcc77cf88693129cd6e610b752fdd3d1 (diff)
downloadpostgresql-ff33a8c8874b43ec55d517ce0612ed79ad08a38a.tar.gz
postgresql-ff33a8c8874b43ec55d517ce0612ed79ad08a38a.zip
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.)
Diffstat (limited to 'src/backend/nodes/readfuncs.c')
-rw-r--r--src/backend/nodes/readfuncs.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index 1421686938f..a2391280bea 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -240,56 +240,6 @@ readBitmapset(void)
* special_read_write attribute
*/
-static Query *
-_readQuery(void)
-{
- READ_LOCALS(Query);
-
- READ_ENUM_FIELD(commandType, CmdType);
- READ_ENUM_FIELD(querySource, QuerySource);
- local_node->queryId = UINT64CONST(0); /* not saved in output format */
- READ_BOOL_FIELD(canSetTag);
- READ_NODE_FIELD(utilityStmt);
- READ_INT_FIELD(resultRelation);
- READ_BOOL_FIELD(hasAggs);
- READ_BOOL_FIELD(hasWindowFuncs);
- READ_BOOL_FIELD(hasTargetSRFs);
- READ_BOOL_FIELD(hasSubLinks);
- READ_BOOL_FIELD(hasDistinctOn);
- READ_BOOL_FIELD(hasRecursive);
- READ_BOOL_FIELD(hasModifyingCTE);
- READ_BOOL_FIELD(hasForUpdate);
- READ_BOOL_FIELD(hasRowSecurity);
- READ_BOOL_FIELD(isReturn);
- READ_NODE_FIELD(cteList);
- READ_NODE_FIELD(rtable);
- READ_NODE_FIELD(jointree);
- READ_NODE_FIELD(targetList);
- READ_ENUM_FIELD(override, OverridingKind);
- READ_NODE_FIELD(onConflict);
- READ_NODE_FIELD(returningList);
- READ_NODE_FIELD(groupClause);
- READ_BOOL_FIELD(groupDistinct);
- READ_NODE_FIELD(groupingSets);
- READ_NODE_FIELD(havingQual);
- READ_NODE_FIELD(windowClause);
- READ_NODE_FIELD(distinctClause);
- READ_NODE_FIELD(sortClause);
- READ_NODE_FIELD(limitOffset);
- READ_NODE_FIELD(limitCount);
- READ_ENUM_FIELD(limitOption, LimitOption);
- READ_NODE_FIELD(rowMarks);
- READ_NODE_FIELD(setOperations);
- READ_NODE_FIELD(constraintDeps);
- READ_NODE_FIELD(withCheckOptions);
- READ_NODE_FIELD(mergeActionList);
- READ_BOOL_FIELD(mergeUseOuterJoin);
- READ_LOCATION_FIELD(stmt_location);
- READ_INT_FIELD(stmt_len);
-
- READ_DONE();
-}
-
static Const *
_readConst(void)
{