NATURAL CROSS JOIN is a contradiction in terms, not to mention disallowed

by the SQL spec and by our parser.  Thanks to Jonathan Scott for finding
this longstanding error.
This commit is contained in:
Tom Lane 2004-05-07 03:20:01 +00:00
parent 69f5e41be3
commit 8d86b89ec0

View File

@ -3,7 +3,7 @@
* back to source text * back to source text
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.157 2003/10/04 18:22:59 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.157.2.1 2004/05/07 03:20:01 tgl Exp $
* *
* This software is copyrighted by Jan Wieck - Hamburg. * This software is copyrighted by Jan Wieck - Hamburg.
* *
@ -3830,14 +3830,9 @@ get_from_clause_item(Node *jtnode, Query *query, deparse_context *context)
switch (j->jointype) switch (j->jointype)
{ {
case JOIN_INNER: case JOIN_INNER:
if (j->quals) appendContextKeyword(context, "NATURAL JOIN ",
appendContextKeyword(context, "NATURAL JOIN ", -PRETTYINDENT_JOIN,
-PRETTYINDENT_JOIN, PRETTYINDENT_JOIN, 0);
PRETTYINDENT_JOIN, 0);
else
appendContextKeyword(context, "NATURAL CROSS JOIN ",
-PRETTYINDENT_JOIN,
PRETTYINDENT_JOIN, 0);
break; break;
case JOIN_LEFT: case JOIN_LEFT:
appendContextKeyword(context, "NATURAL LEFT JOIN ", appendContextKeyword(context, "NATURAL LEFT JOIN ",