diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-05-23 19:23:36 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-05-23 19:23:36 -0400 |
commit | eae1ad9b64eaa201444ff99848f674be91af0ee6 (patch) | |
tree | a0fbfcc841748a9c408ba1b2cc1165c71ebd24ee /src/backend/nodes/nodeFuncs.c | |
parent | 465e09da6310fee89946f3ca32ee8002dd4c428a (diff) | |
download | postgresql-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.c | 9 |
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: |