Re: [HACKERS] ERROR: pull_var_clause: Cannot handle node type 108

Поиск
Список
Период
Сортировка
От José Soares
Тема Re: [HACKERS] ERROR: pull_var_clause: Cannot handle node type 108
Дата
Msg-id 37C68614.657B9ABB@sferacarta.com
обсуждение исходный текст
Ответ на Re: [HACKERS] ERROR: pull_var_clause: Cannot handle node type 108  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [HACKERS] ERROR: pull_var_clause: Cannot handle node type 108  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

Tom Lane ha scritto:

> José Soares <jose@sferacarta.com> writes:
> > What does it mean?
> > prova=> select nome from prova group by nome having count(*) > 1;
> > [ OK ]
>
> > prova=> select oid,* from prova where nome in (select nome from prova
> > group by nome having 1 < count(*));
> > ERROR:  pull_var_clause: Cannot handle node type 108
>
> > prova=> select * from prova where nome in (select nome from prova group
> > by nome having  count(*) > 1);
> > ERROR:  rewrite: aggregate column of view must be at rigth side in qual
>
> I take it you are using 6.4, because 6.5 generates different failure
> messages.  But it's not any less broken :-(.  The rewriter seems to have
> a bunch of bugs associated with aggregate functions in HAVING clauses of
> sub-selects.  Or maybe it's just several manifestations of the same bug.
> I have notes about this problem but do not understand it well enough to
> fix it.  Perhaps Jan has a clue about it...
>
>                         regards, tom lane

You are right Tom. I installed v6.5.1 and now the message is different, but I
can't understand it again:

hygea=> select nome from prova group by nome having 1<count(*);
nome
------
carlos
jose
(2 rows)

hygea=> select oid,nome from prova where nome in (select nome from prova
group by nome having 1<count(*));
ERROR:  SELECT/HAVING requires aggregates to be valid

José




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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: PG FAQ in PDF format
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] ERROR: pull_var_clause: Cannot handle node type 108