Re: count syntax

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: count syntax
Дата
Msg-id 200305310218.h4V2I2G11092@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: count syntax  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: count syntax  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Is this a TODO bug?

---------------------------------------------------------------------------

Tom Lane wrote:
> Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> > What is the difference between the following?
>
> > transatlantic=# select count(*) from trans;
>
> This is a SQL-spec-mandated special case meaning "count the number of rows".
>
> > transatlantic=# select count(trans.flowindex) from trans;
>
> This counts the number of non-null values of trans.flowindex.  Also
> per spec.
>
> > transatlantic=# select count(trans.*) from trans;
> ERROR:  Memory exhausted in AllocSetAlloc(204)
>
> This syntax is not legal per SQL spec.  Postgres interprets it as a
> command to count the number of non-null values of "trans.*", which in
> this context is taken as being a whole-row variable.  Unfortunately the
> present implementation of whole-row variables leaks memory ...
>
> I don't believe that a whole-row variable will ever be null, so the
> end result is the same as count(*).  You may as well spell it in the
> spec-approved fashion.
>
>             regards, tom lane
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

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

Предыдущее
От: valerian
Дата:
Сообщение: Re: CURRENT_DATE and CURRENT_TIME return incorrect values
Следующее
От: Tom Lane
Дата:
Сообщение: Re: count syntax