Re: [HACKERS] Add Roman numeral conversion to to_number

Поиск
Список
Период
Сортировка
От Oliver Ford
Тема Re: [HACKERS] Add Roman numeral conversion to to_number
Дата
Msg-id CAGMVOduMr+ZOTVm7XYzLiuW-89yOkK+UZm8iNnFyDs7-rmX7Nw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] Add Roman numeral conversion to to_number  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: [HACKERS] Add Roman numeral conversion to to_number  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On Thursday, 3 August 2017, Robert Haas <robertmhaas@gmail.com> wrote:
On Thu, Aug 3, 2017 at 9:25 AM, Oliver Ford <ojford@gmail.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 formatting.c file specifies it as a TODO, so I thought implementing it would be worthwhile. As there is a to_roman conversion having it the other way is good for completeness.
 

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?


The existing int_to_roman code goes up to 3999 so this patch is consistent with that. I could extend both to handle Unicode values for large numbers?
 
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Fetter
Дата:
Сообщение: Re: [HACKERS] Add Roman numeral conversion to to_number
Следующее
От: Peter Eisentraut
Дата:
Сообщение: [HACKERS] xmltable SQL conformance