Re: writing a MIN(RECORD) aggregate

Поиск
Список
Период
Сортировка
От Sam Mason
Тема Re: writing a MIN(RECORD) aggregate
Дата
Msg-id 20080326013557.GL6870@frubble.xen.chris-lamb.co.uk
обсуждение исходный текст
Ответ на Re: writing a MIN(RECORD) aggregate  (Gregory Stark <stark@enterprisedb.com>)
Список pgsql-hackers
On Wed, Mar 26, 2008 at 01:03:18AM +0000, Gregory Stark wrote:
> "Sam Mason" <sam@samason.me.uk> writes:
> > The reason for the sub-select is only because SQL doesn't provide any
> > other way to name expressions.  Hum, or at least this should work...
> > There doesn't seem to be any nice way of getting fields out of a record!
> 
> Yeah, to disambiguate it you have to use (r).i

OK, that sort of makes sense.  The next problem is that PG doesn't
remember the column names:
 SELECT (ROW(i)).i FROM (SELECT 1) x(i);

Results in PG saying it doesn't know where "i" is inside the row, which
seems a little strange.  I think it's this detail that accounts for
my problems in trying to get this all working before.  This seems to
suggest that there are two record-like data structures in PG, one for
the records returned as part of the SELECT list and another that I'm
using here.

As a side case, would it be nice if:
 SELECT (SELECT 1 AS a, 2 AS b);

resulted in a record with two members?

 Sam


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Bogosity in contrib/xml2/Makefile
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: stored procedure stats in collector