mirror of
https://github.com/postgres/postgres.git
synced 2025-07-12 21:01:52 +03:00
Add readfuncs.c support for AppendRelInfo.
This is made necessary by the fact that commit 6ef77cf46
added
AppendRelInfos to plan trees. I'd concluded that this extra code was
not necessary because we don't transmit that data to parallel workers
... but I forgot about -DWRITE_READ_PARSE_PLAN_TREES. Per buildfarm.
This commit is contained in:
@ -1342,6 +1342,33 @@ _readOnConflictExpr(void)
|
|||||||
READ_DONE();
|
READ_DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Stuff from pathnodes.h.
|
||||||
|
*
|
||||||
|
* Mostly we don't need to read planner nodes back in again, but some
|
||||||
|
* of these also end up in plan trees.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _readAppendRelInfo
|
||||||
|
*/
|
||||||
|
static AppendRelInfo *
|
||||||
|
_readAppendRelInfo(void)
|
||||||
|
{
|
||||||
|
READ_LOCALS(AppendRelInfo);
|
||||||
|
|
||||||
|
READ_UINT_FIELD(parent_relid);
|
||||||
|
READ_UINT_FIELD(child_relid);
|
||||||
|
READ_OID_FIELD(parent_reltype);
|
||||||
|
READ_OID_FIELD(child_reltype);
|
||||||
|
READ_NODE_FIELD(translated_vars);
|
||||||
|
READ_INT_FIELD(num_child_cols);
|
||||||
|
READ_ATTRNUMBER_ARRAY(parent_colnos, local_node->num_child_cols);
|
||||||
|
READ_OID_FIELD(parent_reloid);
|
||||||
|
|
||||||
|
READ_DONE();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Stuff from parsenodes.h.
|
* Stuff from parsenodes.h.
|
||||||
*/
|
*/
|
||||||
@ -2690,6 +2717,8 @@ parseNodeString(void)
|
|||||||
return_value = _readFromExpr();
|
return_value = _readFromExpr();
|
||||||
else if (MATCH("ONCONFLICTEXPR", 14))
|
else if (MATCH("ONCONFLICTEXPR", 14))
|
||||||
return_value = _readOnConflictExpr();
|
return_value = _readOnConflictExpr();
|
||||||
|
else if (MATCH("APPENDRELINFO", 13))
|
||||||
|
return_value = _readAppendRelInfo();
|
||||||
else if (MATCH("RTE", 3))
|
else if (MATCH("RTE", 3))
|
||||||
return_value = _readRangeTblEntry();
|
return_value = _readRangeTblEntry();
|
||||||
else if (MATCH("RANGETBLFUNCTION", 16))
|
else if (MATCH("RANGETBLFUNCTION", 16))
|
||||||
|
Reference in New Issue
Block a user