NATURAL CROSS JOIN is a contradiction in terms, not to mention disallowed
authorTom Lane
Fri, 7 May 2004 03:19:44 +0000 (03:19 +0000)
committerTom Lane
Fri, 7 May 2004 03:19:44 +0000 (03:19 +0000)
by the SQL spec and by our parser.  Thanks to Jonathan Scott for finding
this longstanding error.

src/backend/utils/adt/ruleutils.c

index 412aa252d62496a818ea53bbe629e38c098e47d1..9cb90444a878a21edb1c2c66a6693ec9a8c27f0c 100644 (file)
@@ -3,7 +3,7 @@
  *             back to source text
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.164 2004/05/05 04:48:46 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.165 2004/05/07 03:19:44 tgl Exp $
  *
  *   This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -3788,14 +3788,9 @@ get_from_clause_item(Node *jtnode, Query *query, deparse_context *context)
            switch (j->jointype)
            {
                case JOIN_INNER:
-                   if (j->quals)
-                       appendContextKeyword(context, "NATURAL JOIN ",
-                                            -PRETTYINDENT_JOIN,
-                                            PRETTYINDENT_JOIN, 0);
-                   else
-                       appendContextKeyword(context, "NATURAL CROSS JOIN ",
-                                            -PRETTYINDENT_JOIN,
-                                            PRETTYINDENT_JOIN, 0);
+                   appendContextKeyword(context, "NATURAL JOIN ",
+                                        -PRETTYINDENT_JOIN,
+                                        PRETTYINDENT_JOIN, 0);
                    break;
                case JOIN_LEFT:
                    appendContextKeyword(context, "NATURAL LEFT JOIN ",