Thread: Re: ERROR: function round(double precision, integer) does not exist - WTF?

Re: ERROR: function round(double precision, integer) does not exist - WTF?

From
"Dann Corbit"
Date:
> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Thursday, March 04, 2004 6:18 PM
> To: Glen Parker
> Cc: Pg-General
> Subject: Re: [GENERAL] ERROR: function round(double
> precision, integer) does not exist - WTF?
>
>
> "Glen Parker" <glenebob@nwlink.com> writes:
> > DB=# select round(1.25::float, 2);
> > ERROR:  function round(double precision, integer) does not exist
>
> > What the heck?  This can't be right... Can it?
>
> regression=# \df round
>                       List of functions
>  Result data type |   Schema   | Name  | Argument data types
> ------------------+------------+-------+---------------------
>  double precision | pg_catalog | round | double precision
>  numeric          | pg_catalog | round | numeric
>  numeric          | pg_catalog | round | numeric, integer
> (3 rows)
>
> Looks right to me: the only 2-arg flavor of round() is on
> numeric, not float8.
>
> You could always cast the float to numeric, of course.  I
> think in 7.2 such conversions were allowed silently, but we
> have reduced the number of implicit type coercions.

Why?