Re: [HACKERS] [6.5.2] join problems ...

Поиск
Список
Период
Сортировка
От Mike Mascari
Тема Re: [HACKERS] [6.5.2] join problems ...
Дата
Msg-id 19990919172146.29199.rocketmail@web112.yahoomail.com
обсуждение исходный текст
Список pgsql-hackers
Yes, sorry. Typo. I MEANT to put the parens around
the field list, but... 

Mike Mascari

--- Thomas Lockhart <lockhart@alumni.caltech.edu>
wrote:
> <snip>
> > > AND (a.id,a.mid = b.id,b.mid)
> > > AND (b.catid,b.indid,b.divid =
> c.id,c.ppid,c.pid);
> > ... the above is not valid in PostgreSQL, it
> seems...
> 
> I have to resort to looking at gram.y for this,
> since I currently have
> the Postgres parser in bits and pieces all over the
> garage floor ;)
> 
> The expressions are *almost* valid for Postgres. The
> difference is
> that you need to put parens around each side of the
> "row expression":
> 
>         | '(' row_descriptor ')' row_op '('
> row_descriptor ')'
>                 {
>                     $$ = makeRowExpr($4, $2, $6);
>                 }
>         ;
> 
> I had implemented this using Date and Darwen as a
> reference, and afaik
> the SQL standard (and any sensible parser)
> *requires* parens around
> the row expression, referred to in gram.y as a "row
> descriptor".
> 
> So, the following should work:
> 
>   AND ((a.id,a.mid) = (b.id,b.mid))
>   AND ((b.catid,b.indid,b.divid) =
> (c.id,c.ppid,c.pid));
> 
> 
>                     - Thomas

__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com


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

Предыдущее
От: Michael Simms
Дата:
Сообщение: Command Locations (was Re: HISTORY for 6.5....)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: INSERT/DEFAULT VALUES broken?