On Fri, Apr 1, 2011 at 10:33 PM, Joseph Adams
<joeyadams3.14...@gmail.com> wrote:
> On Thu, Mar 31, 2011 at 6:39 PM, Stephen Frost <sfr...@snowman.net> wrote:
>> Going just integer->money, with the "1" -> "$1.00", seems completely
>> reasonable to me.  As for being too late in the cycle..  if someone's
>> willing to do the work, I can't imagine it breaking anything, so I
>> wouldn't be against putting it in.  It really should be before the
>> first beta tho.
>
> Attached is a patch which enables casting int2/int4/int8 to money,
> with the same scaling as numeric uses.  Hence, 1::money yields '$1.00'

Thanks for the patch, but I think you forgot to worry about overflow:

rhaas=# select 9223372036854775807::money;
 money
--------
 -$1.00
(1 row)

> .  The only other numeric types (other than oid, cardinal_number,
> etc.) that can't be casted directly to money are float4 and float8,
> and I suspect this is intentional.

Agreed.

> The patch includes tests, but does not update the documentation.
> Should the docs be updated where it reads "Values of the numeric data
> type can be cast to money. Other numeric types can be converted to
> money by casting to numeric first" ?

Yes.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to