Re: Add Roman numeral conversion to to_number

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Oliver Ford <ojford(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add Roman numeral conversion to to_number
Date: 2017-08-03 17:45:02
Message-ID: CA+TgmoaMWk3a2k2m3q1tOaLG+cDyxJk-Jy+8KARRVceoPT=7Uw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Aug 3, 2017 at 9:25 AM, Oliver Ford <ojford(at)gmail(dot)com> wrote:
> Adds to the to_number() function the ability to convert Roman numerals
> to a number. This feature is on the formatting.c TODO list. It is not
> currently implemented in either Oracle, MSSQL or MySQL so gives
> PostgreSQL an edge :-)

I kind of put my head in my hands when I saw this. I'm not really
sure it's worth complicating the code for something that has so little
practical utility, but maybe other people will feel differently. I
can't deny the profound advantages associated with having a leg up on
Oracle.

The error reporting is a little wonky, although maybe no wonkier than
anything else about these conversion routines.

rhaas=# select to_number('q', 'rn');
ERROR: invalid character "q"

(hmm, no position)

rhaas=# select to_number('dd', 'rn');
ERROR: invalid character "D" at position 1

(now i get a position, but it's not really the right position; and the
problem isn't really that the character is invalid but that you don't
like me including it twice, and I said 'd' not 'D')

rhaas=# select to_number('à', 'rn');
ERROR: invalid character "?"

(eh?)

How much call is there for a format that can only represent values up to 3999?

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Douglas Doole 2017-08-03 18:01:06 Tightly packing expressions
Previous Message Michael Paquier 2017-08-03 17:27:56 Re: Support for Secure Transport SSL library on macOS as OpenSSL alternative