Support IndexElem in raw_expression_tree_walker().

Needed for cases in which INSERT ... ON CONFLICT appears inside a
recursive CTE item.  Per bug #14153 from Thomas Alton.

Patch by Peter Geoghegan, slightly adjusted by me

Report: <20160521232802.22598.13537@wrigleys.postgresql.org>
This commit is contained in:
Tom Lane 2016-05-23 19:23:36 -04:00
parent 465e09da63
commit eae1ad9b64
1 changed files with 9 additions and 0 deletions

View File

@ -3372,6 +3372,15 @@ raw_expression_tree_walker(Node *node,
/* for now, constraints are ignored */
}
break;
case T_IndexElem:
{
IndexElem *indelem = (IndexElem *) node;
if (walker(indelem->expr, context))
return true;
/* collation and opclass names are deemed uninteresting */
}
break;
case T_GroupingSet:
return walker(((GroupingSet *) node)->content, context);
case T_LockingClause: