Re: polymorphic SQL functions has a problem with domains
От | Tom Lane |
---|---|
Тема | Re: polymorphic SQL functions has a problem with domains |
Дата | |
Msg-id | 14886.1396451952@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | polymorphic SQL functions has a problem with domains (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: polymorphic SQL functions has a problem with domains
Re: polymorphic SQL functions has a problem with domains Re: polymorphic SQL functions has a problem with domains |
Список | pgsql-hackers |
Pavel Stehule <pavel.stehule@gmail.com> writes: > I was informed about impossibility to use a polymorphic functions together > with domain types > see > create domain xx as numeric(15); > create or replace function g(anyelement, anyelement) > returns anyelement as > $$ select $1 + $2 $$ > language sql immutable; > postgres=# select g(1::xx, 2::xx); > ERROR: return type mismatch in function declared to return xx > DETAIL: Actual return type is numeric. > CONTEXT: SQL function "g" during inlining That example doesn't say you can't use polymorphic functions with domains. It says that this particular polymorphic function definition is wrong: it is not making sure its result is of the expected data type. I don't recall right now whether SQL functions will apply an implicit cast on the result for you, but even if they do, an upcast from numeric to some domain over numeric wouldn't be implicit. regards, tom lane
В списке pgsql-hackers по дате отправления: