Weird type selection choice

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Weird type selection choice
Date: 2007-11-06 15:31:05
Message-ID: 200711061631.06129.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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/

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2007-11-06 15:42:07 regtype sorting broken in 8.3
Previous Message Tom Lane 2007-11-06 15:05:58 Re: should I worry?