Re: domains, case statements, functions: bug?

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: domains, case statements, functions: bug?
Дата
Msg-id 51DB5EE0.3050808@gmail.com
обсуждение исходный текст
Ответ на domains, case statements, functions: bug?  (Joe Van Dyk <joe@tanga.com>)
Ответы Re: domains, case statements, functions: bug?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On 07/08/2013 10:26 AM, Joe Van Dyk wrote:
> create domain m numeric(5,2);
> create table t (c m);
> create function f(t) returns m as $ select case when true then $1.c end
> $ language sql;
>
>
> psql:/tmp/t1.sql:3: ERROR:  return type mismatch in function declared to
> return m
> DETAIL:  Actual return type is numeric.
> CONTEXT:  SQL function "f"

Interesting:

test=> select case when true then t.c end from t;
  case
-------
  54.36
(1 row)

test=> create function f(t) returns m as $$ select case when true then
$1.c end $$ language sql;

ERROR:  return type mismatch in function declared to return m


DETAIL:  Actual return type is numeric.


CONTEXT:  SQL function "f"

test=> create function f(t) returns numeric as $$ select case when true
then $1.c end $$ language sql;

CREATE FUNCTION

test=> select f(t);
ERROR:  column "t" does not exist
LINE 1: select f(t);

I will admit I am at a loss. Maybe someone else can illuminate.

--
Adrian Klaver
adrian.klaver@gmail.com


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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Force ssl connection
Следующее
От: Tom Lane
Дата:
Сообщение: Re: domains, case statements, functions: bug?