aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/nodeFuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-05-23 19:23:36 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-05-23 19:23:36 -0400
commiteae1ad9b64eaa201444ff99848f674be91af0ee6 (patch)
treea0fbfcc841748a9c408ba1b2cc1165c71ebd24ee /src/backend/nodes/nodeFuncs.c
parent465e09da6310fee89946f3ca32ee8002dd4c428a (diff)
downloadpostgresql-eae1ad9b64eaa201444ff99848f674be91af0ee6.tar.gz
postgresql-eae1ad9b64eaa201444ff99848f674be91af0ee6.zip
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>
Diffstat (limited to 'src/backend/nodes/nodeFuncs.c')
-rw-r--r--src/backend/nodes/nodeFuncs.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c
index 92f32768f84..1ac51a7b2fc 100644
--- a/src/backend/nodes/nodeFuncs.c
+++ b/src/backend/nodes/nodeFuncs.c
@@ -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: