Re: Nested JOINs - upgrade to 7.1.2

From: Oleg Lebedev <olebedev(at)waterford(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: Nested JOINs - upgrade to 7.1.2
Date: 2001-08-17 18:19:52
Message-ID: 3B7D6048.530CCD96@waterford.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I think Tom was right and the problem with nested joins is caused by the
outdated installation of my PostgreSQL.
So, I am trying to upgrade to 7.1.2 and when I use:
pg_dumpall -o > file.bac
I get an error saying:
dumpRules(): SELECT failed for table setmedias. Explanation from backend:
'ERROR: cache lookup of attribute 5 in relation 23945 failed"

As I understand setmedias table corresponds to relation 23945, but I dropped
it a long time ago. How should remove this relation pointer?
thanks,

Oleg

Tom Lane wrote:

> "Josh Berkus" <josh(at)agliodbs(dot)com> writes:
> > Second, you can't alias a JOINed set of tables;
>
> Actually you can, according to my reading of SQL92:
>
> <table reference> ::=
> <table name> [ [ AS ] <correlation name>
> [ <left paren> <derived column list> <right paren> ] ]
> | <derived table> [ AS ] <correlation name>
> [ <left paren> <derived column list> <right paren> ]
> | <joined table>
>
> <derived table> ::= <table subquery>
>
> <table subquery> ::= <subquery>
>
> <subquery> ::= <left paren> <query expression> <right paren>
>
> <query expression> ::=
> <non-join query expression>
> | <joined table>
>
> <joined table> ::=
> <cross join>
> | <qualified join>
> | <left paren> <joined table> <right paren>
>
> <qualified join> ::=
> <table reference> [ NATURAL ] [ <join type> ] JOIN
> <table reference> [ <join specification> ]
>
> So a parenthesized <qualified join> is a <derived table> and may
> be followed by [ AS ] <correlation name>.
>
> 7.1 gets this right. 7.0's very preliminary implementation of JOIN
> syntax did not. (It had a number of other bugs too, IIRC.)
>
> The spec's grammar is horribly badly written: it's ambiguous whether the
> parentheses should be parsed as part of a second-level <joined table>
> which would imply that a correlation name would NOT be accepted.
> It took a fair amount of work to derive a grammar that was unambiguous
> and still accepted everything...
>
> regards, tom lane

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Stephen Patterson 2001-08-17 18:23:17 Finding table constraints
Previous Message Jeff Eckermann 2001-08-17 14:18:10 Re: how to use record type