Re: psql 7.3.4 disagrees with NATURAL CROSS JOIN

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jonathan Scott <jwscott(at)vanten(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: psql 7.3.4 disagrees with NATURAL CROSS JOIN
Date: 2004-05-07 03:08:55
Message-ID: 27883.1083899335@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jonathan Scott <jwscott(at)vanten(dot)com> writes:
> I have included a pg_dump of the schema that causes this problem. If
> you take out the word "CROSS" from my source files, it should load
> just fine. If you then pg_dump it, in there you should find "CROSS".

Indeed, I had just come to the conclusion that this test in ruleutils.c
is bogus:

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);
break;

and that it should just print NATURAL JOIN either way. The code looks
significantly different in older versions, but the fundamental bug has
been there since the OUTER JOIN support was first committed nearly four
years ago. You get some kind of gold star for being the first to find
it ...

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Rod Taylor 2004-05-07 03:21:08 Re: ALTER TABLE TODO items
Previous Message Jonathan Scott 2004-05-07 02:58:55 Re: psql 7.3.4 disagrees with NATURAL CROSS JOIN