Thread: sign parsing (was: Re: [HACKERS] to_char/to_number loses sign)

sign parsing (was: Re: [HACKERS] to_char/to_number loses sign)

From
Karel Zak
Date:
On Tue, 2004-10-26 at 13:27 -0400, Tom Lane wrote:
> Karel Zak <zakkr@zf.jcu.cz> writes:
> > Yes, you're right. It strange, but NUM_S missing there. The conversion
> > from string to number is less stable part of formatting.c...
>
> > The patch is in the attachment.
>
> This patch causes the regression tests to fail.  I think you need to
> consider the to_char() side of it more carefully.

Sorry of this in beta version...

The problem was bigger than I expected. I hope it's fixed in actual
patch. All regression tests pass.

The patch changes two lines in regression test too. It's because old
version of to_number() allows to use wrong number input and this input
was in regression test. The call to_char(-0.01, ' 9 9 . 9 9 S'); never
produced ' . 0 1 -' but always ' . 0 1-' only.

-SELECT '' AS to_number_13, to_number(' . 0 1 -', ' 9 9 . 9 9 S');
+SELECT '' AS to_number_13, to_number(' . 0 1-', ' 9 9 . 9 9 S');
                                            ^^^
 'S' = locale sign and it must be always anchored to last or first
number.

Again sorry,
  Karel

--
Karel Zak
http://home.zf.jcu.cz/~zakkr

Attachment

Re: sign parsing (was: Re: [HACKERS] to_char/to_number loses sign)

From
Tom Lane
Date:
Karel Zak <zakkr@zf.jcu.cz> writes:
> The problem was bigger than I expected. I hope it's fixed in actual
> patch. All regression tests pass.

Applied, thanks.

            regards, tom lane