I noticed this problem in 8.2 and 8.3:

pei=# select mod( trunc( 1 ), 2 );
ERROR:  42883: function mod(double precision, integer) does not exist
LINE 1: select mod( trunc( 1 ), 2 );
               ^

It apparently casts the 1 to double precision to pick the variant 
trunc(dp)=>dp instead of trunc(numeric)=>numeric.  I was under the impression 
that we didn't want to cast integers to float types implicitly because this 
loses information.  Clearly, the numeric variant should be preferred anyway.  
What's wrong here?

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to