Re: cast from integer to money
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Joseph Adams <joeyadams3.14159@gmail.com>, Stephen Frost <sfrost@snowman.net>, Kevin Grittner <Kevin.Grittner@wicourts.gov>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2011-04-04T15:01:15Z
Lists: pgsql-hackers
On Mon, Apr 4, 2011 at 10:58 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> On Apr 4, 2011, at 1:46 AM, Joseph Adams <joeyadams3.14159@gmail.com> wrote: >>> On Sun, Apr 3, 2011 at 11:23 PM, Robert Haas <robertmhaas@gmail.com> wrote: >>>> Thanks for the patch, but I think you forgot to worry about overflow: > >>> cash_in doesn't test for overflow, either (tested on 8.4.0, 9.0.3, and HEAD): >>> Is this a bug? > >> Seems like it. You have to feel sorry for the guy who deposits 9 quintillion dollars and then gets a note from the bank saying his account is overdrawn... > > I'm fairly sure that *none* of the money operations bother to check for > overflow; not only input, but arithmetic. That falls somewhere between > bug and missing feature. It's probably worth fixing but seems outside > the scope of the current patch. Oh. Bummer. Yeah, that sounds more like a TODO than an open item. > In the meantime, I'm not sure whether the newly added functions should > be held to a higher standard than the existing ones. It might be better > to leave it be, and plan to fix them all at once in a consistent style. Maybe. The numeric->money cast does handle it though, so there's at least some precedent for checking. If you don't want to worry about it, I'm OK with just putting it in as-is, but I'd probably be inclined to look for a way to fix it if we can do that without adding too much complexity. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company