Re: confusing error message

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: confusing error message
Дата
Msg-id 4461.1375936482@sss.pgh.pa.us
обсуждение исходный текст
Ответ на confusing error message  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: confusing error message  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> I'm having trouble parsing this:
> ERROR:  aggregate functions are not allowed in FROM clause of their own query level

> The example in the regression tests is:

> -- LATERAL can be used to put an aggregate into the FROM clause of its query
> select 1 from tenk1 a, lateral (select max(a.unique1) from int4_tbl b) ss;
> ERROR:  aggregate functions are not allowed in FROM clause of their own query level
> LINE 1: select 1 from tenk1 a, lateral (select max(a.unique1) from i...
>                                                ^
> I think the "own query level" of the max aggregate function in this case
> is the subquery "ss", and so it's not in the FROM clause of its own
> query level.

No.  The max() aggregate function is on a column of table "a", so it
belongs to the outer query level, and it is within the FROM clause of
that level.  (Don't blame me, this is per SQL spec ...)

> It's understandable why this is not allowed, but I don't think the error
> message explains it.  Could we come up with a better wording?

I'm not sure either.  The main point here is that an aggregate's semantic
level is normally the natural level of its argument expression, not the
textual location of the call.  The "natural level" is the level of the
lowest-level variable used in the argument.  But what if the argument is
variable-free?  Then you *do* take the textual location as the semantic
level.  This is all sufficiently bizarre that I don't know if there's an
easy explanation.
        regards, tom lane



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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Should we remove "not fast" promotion at all?
Следующее
От: "Kodamasimham Pridhvi (MT2012066)"
Дата:
Сообщение: Proposal for XML Schema Validation