From 403bd6a18b8ec5aeee51c08360441c3c3c239d8f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 16 May 2013 16:47:26 -0400 Subject: Fix crash when trying to display a NOTIFY rule action. Fixes oversight in commit 2ffa740be9d96a3743ecb7e42391c53d0760c65a. Per report from Josh Kupershmidt. I think we've broken this case before, so let's add a regression test this time. --- src/backend/utils/adt/ruleutils.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/backend/utils/adt/ruleutils.c') diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index af04b051601..043baf3c790 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -2564,14 +2564,19 @@ set_deparse_for_query(deparse_namespace *dpns, Query *query, dpns->rtable_columns = lappend(dpns->rtable_columns, palloc0(sizeof(deparse_columns))); - /* Detect whether global uniqueness of USING names is needed */ - dpns->unique_using = has_unnamed_full_join_using((Node *) query->jointree); + /* If it's a utility query, it won't have a jointree */ + if (query->jointree) + { + /* Detect whether global uniqueness of USING names is needed */ + dpns->unique_using = + has_unnamed_full_join_using((Node *) query->jointree); - /* - * Select names for columns merged by USING, via a recursive pass over the - * query jointree. - */ - set_using_names(dpns, (Node *) query->jointree); + /* + * Select names for columns merged by USING, via a recursive pass over + * the query jointree. + */ + set_using_names(dpns, (Node *) query->jointree); + } /* * Now assign remaining column aliases for each RTE. We do this in a -- cgit v1.2.3