pgsql: Fix assorted bogosities in cash_in() and cash_out().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix assorted bogosities in cash_in() and cash_out().
Date: 2011-10-29 18:32:19
Message-ID: E1RKDhb-00059Y-WD@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix assorted bogosities in cash_in() and cash_out().

cash_out failed to handle multiple-byte thousands separators, as per bug
#6277 from Alexander Law. In addition, cash_in didn't handle that either,
nor could it handle multiple-byte positive_sign. Both routines failed to
support multiple-byte mon_decimal_point, which I did not think was worth
changing, but at least now they check for the possibility and fall back to
using '.' rather than emitting invalid output. Also, make cash_in handle
trailing negative signs, which formerly it would reject. Since cash_out
generates trailing negative signs whenever the locale tells it to, this
last omission represents a fail-to-reload-dumped-data bug. IMO that
justifies patching this all the way back.

Branch
------
REL8_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/04ec05eb06f3f0ba3b7eec37a1f001af71f770b8

Modified Files
--------------
src/backend/utils/adt/cash.c | 204 ++++++++++++++++++++++-------------------
1 files changed, 109 insertions(+), 95 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2011-10-29 18:32:20 pgsql: Fix assorted bogosities in cash_in() and cash_out().
Previous Message Robert Haas 2011-10-29 18:24:56 pgsql: Improve make_greater_string() with encoding-specific incrementer