postgres.git / summary / log / commit / refs
commit e504d915bbf352ecfc4ed335af934e799bf01053
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon May 23 23:23:36 2016 +0000
First released in: 9.6.0, 9.5.4
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>
src/backend/nodes/nodeFuncs.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c
index c517dfd9d69..ce4f3707e43 100644
--- a/src/backend/nodes/nodeFuncs.c
+++ b/src/backend/nodes/nodeFuncs.c
@@ -3365,6 +3365,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:
[parent: 9d91cd865bdc]