column "b" is of type X but expression is of type text

Поиск
Список
Период
Сортировка
От Benedikt Grundmann
Тема column "b" is of type X but expression is of type text
Дата
Msg-id CADbMkNMxET90HZ+bgq7hw8tx90szrAAi017cSX-b5XDdHrmKwQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: column "b" is of type X but expression is of type text  (David Johnston <polobo@yahoo.com>)
Re: column "b" is of type X but expression is of type text  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-hackers
A third party application we use generates SQL queries.  Here is query it generated that broke today and for which I have a hard time arguing that the postgres behavior is correct (minimally the error message is confusing):

=# create temporary table foo (b double precision );
CREATE TABLE
Time: 40.368 ms
=# insert into foo select min(NULL);
ERROR:  column "b" is of type double precision but expression is of type text
LINE 1: insert into foo select min(NULL);
                               ^
HINT:  You will need to rewrite or cast the expression.

So why does min(NULL) have type text?  According to the docs it has the type of the input.  The value is itself NULL which is a valid member of all types in SQL isn't it?

So what is going on?

Thanks,

Bene

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

Предыдущее
От: Amit kapila
Дата:
Сообщение: Re: ALTER SYSTEM SET command to change postgresql.conf parameters (RE: Proposal for Allow postgresql.conf values to be changed via SQL [review])
Следующее
От: David Johnston
Дата:
Сообщение: Re: column "b" is of type X but expression is of type text