Thread: Domain types versus anyelement

Domain types versus anyelement

From
Brendan Jurd
Date:
I'm getting some surprising behaviour from domain types in 8.3.7.

I have a domain "aud" on numeric(20,2).  When I try to use a value of
this type with the built-in greater() function, I get this:

# select greater(1::aud, 0);
ERROR:  function greater(aud, integer) does not exist
LINE 1: select greater(1::aud, 0);
               ^
HINT:  No function matches the given name and argument types. You
might need to add explicit type casts.

I see that the argument types for greater() are (anyelement, anyelement).

It seems peculiar at best, that a domain on a perfectly valid
anyelement type is not considered a candidate match for anyelement.

Cheers,
BJ

Re: Domain types versus anyelement

From
Brendan Jurd
Date:
2009/9/3 Brendan Jurd <direvus@gmail.com>:
> # select greater(1::aud, 0);
> ERROR:  function greater(aud, integer) does not exist
> LINE 1: select greater(1::aud, 0);
>               ^
> HINT:  No function matches the given name and argument types. You
> might need to add explicit type casts.
>

Apologies for the spam, I just realised that it's because all
anyelement args in the call to greater() must be the same type.

Cheers,
BJ