Avoid generating excess (and illegal) parentheses around an aliased JOIN
authorTom Lane
Mon, 13 Dec 2004 00:33:06 +0000 (00:33 +0000)
committerTom Lane
Mon, 13 Dec 2004 00:33:06 +0000 (00:33 +0000)
in prettyprint mode.  Andreas Pflug

src/backend/utils/adt/ruleutils.c

index 44fdafcded86b0b931e12606321757ce74342262..4cd5cd6972a7abb8a9902bf1fa0b38e8a58dd843 100644 (file)
@@ -3,7 +3,7 @@
  *             back to source text
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.186 2004/12/11 23:26:45 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.187 2004/12/13 00:33:06 tgl Exp $
  *
  *   This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -3903,7 +3903,8 @@ get_from_clause_item(Node *jtnode, Query *query, deparse_context *context)
        bool        need_paren_on_right;
 
        need_paren_on_right = PRETTY_PAREN(context) &&
-           !IsA(j->rarg, RangeTblRef);
+           !IsA(j->rarg, RangeTblRef) && 
+           !(IsA(j->rarg, JoinExpr) && ((JoinExpr*) j->rarg)->alias != NULL);
 
        if (!PRETTY_PAREN(context) || j->alias != NULL)
            appendStringInfoChar(buf, '(');