Re: BUG #14405: ORDER BY TABLENAME, possible bug

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #14405: ORDER BY TABLENAME, possible bug
Дата
Msg-id 27822.1477755279@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #14405: ORDER BY TABLENAME, possible bug  (Francisco Olarte <folarte@peoplecall.com>)
Список pgsql-bugs
Francisco Olarte <folarte@peoplecall.com> writes:
> Then, I do not remember whether that's a bug or a feature, and have
> not been able to see it in the docs, do not even know how to do it (
> tried some places without luck ), so someone more knowledgeable can
> point us in the right direction.

Yeah: really, "tablename" is a whole-row variable, and "tablename.colname"
is an application of a field-selection operation to a composite value,
but you're not required to perform such a selection after mentioning
a whole-row variable, if it's in a context where the system can do
something sensible with a composite value.  Another way to say it is
that "tablename" and "tablename.*" are interchangeable notations for
a composite value representing the table's current row, everywhere except
at the top level of a SELECT list, where the standard mandates that "*"
references be burst into individual column references.

I had thought this was documented someplace, but after trawling our SGML
docs the closest thing I can find is the discussion in
https://www.postgresql.org/docs/current/static/sql-expressions.html#FIELD-=
SELECTION
and that's not terribly explicit.  There's also some related material in
https://www.postgresql.org/docs/current/static/rowtypes.html
but that doesn't seem to state this straight out either.

            regards, tom lane

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

Предыдущее
От: Francisco Olarte
Дата:
Сообщение: Re: BUG #14405: ORDER BY TABLENAME, possible bug
Следующее
От: Will Pearson
Дата:
Сообщение: Re: BUG #14403: Large numbers of CREATE OR UPDATE function causes memory exhaustion