Re: Nested JOINs - upgrade to 7.1.2

Поиск
Список
Период
Сортировка
От Oleg Lebedev
Тема Re: Nested JOINs - upgrade to 7.1.2
Дата
Msg-id 3B7D6048.530CCD96@waterford.org
обсуждение исходный текст
Ответ на Re: Nested JOINs  ("Josh Berkus" <josh@agliodbs.com>)
Список 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@agliodbs.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



В списке pgsql-sql по дате отправления:

Предыдущее
От: "Jeff Eckermann"
Дата:
Сообщение: Re: how to use record type
Следующее
От: Renato De Giovanni
Дата:
Сообщение: Nested set model