Tom,
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".
Jonathan Scott
On Thu, 06 May 2004 22:26:13 -0400
Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> > Just a note for the hackers, Jonathan (I think :) ) talked to me about
> > this on the irc channel - we couldn't figure this one out. Seems that
> > pg_dump produces NATURAL CROSS JOIN in the dump of a view, but the pgsql
> > grammar does not appear to allow it.
>
> Hm. The syntax NATURAL CROSS JOIN is specifically disallowed by SQL99
> and our parser (see attached SQL99 excerpt). If pg_dump produces that
> in a view dump then that's a bug, but this test case doesn't let me see
> it happen, because the parser rejects the given view definition. Do
> you happen to have the original input that created the view?
>
> regards, tom lane
>
>
> <joined table> ::=
> <cross join>
> | <qualified join>
> | <natural join>
> | <union join>
>
> <cross join> ::=
> <table reference> CROSS JOIN <table primary>
>
> <qualified join> ::=
> <table reference> [ <join type> ] JOIN <table reference>
> <join specification>
>
> <natural join> ::=
> <table reference> NATURAL [ <join type> ] JOIN <table primary>
>
> ...
>
> <join type> ::=
> INNER
> | <outer join type> [ OUTER ]
>
> <outer join type> ::=
> LEFT
> | RIGHT
> | FULL
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html
>
--
Jonathan Scott, Programmer, Vanten K.K.
jwscott@vanten.com Tel: 03-5919-0266
http://www.vanten.com Fax: 03-5919-0267