Am Dienstag, 6. November 2007 schrieb Peter Eisentraut: > 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.
Well, duh, of course we can't disallow casting integer to float. But can we make it prefer numeric as a target if available? -- Peter Eisentraut http://developer.postgresql.org/~petere/ ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match