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
> 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.
>

But I am not able to enforce a casting in polymorphic function

or there is some possibility?

Regards

Pavel


>
>                         regards, tom lane
>

Reply via email to