2014-04-02 17:19 GMT+02:00 Tom Lane <t...@sss.pgh.pa.us>:
> Pavel Stehule <pavel.steh...@gmail.com> writes:
> > I was informed about impossibility to use a polymorphic functions
> > 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.
But I am not able to enforce a casting in polymorphic function
or there is some possibility?
> regards, tom lane