Avoid core dump in _outPathInfo() for Path without a parent RelOptInfo.

Nearly all Paths have parents, but a ResultPath representing an empty FROM
clause does not.  Avoid a core dump in such cases.  I believe this is only
a hazard for debugging usage, not for production, else we'd have heard
about it before.  Nonetheless, back-patch to 9.1 where the troublesome code
was introduced.  Noted while poking at bug #11703.
This commit is contained in:
Tom Lane 2014-10-17 22:32:55 -04:00
parent 504c717599
commit 5ba062ee44

View File

@ -1477,7 +1477,10 @@ _outPathInfo(StringInfo str, const Path *node)
{
WRITE_ENUM_FIELD(pathtype, NodeTag);
appendStringInfoString(str, " :parent_relids ");
_outBitmapset(str, node->parent->relids);
if (node->parent)
_outBitmapset(str, node->parent->relids);
else
_outBitmapset(str, NULL);
appendStringInfoString(str, " :required_outer ");
if (node->param_info)
_outBitmapset(str, node->param_info->ppi_req_outer);