Re: Underscores in numeric literals

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Underscores in numeric literals
Date: 2022-12-27 14:55:32
Message-ID: 4015800.1672152932@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> writes:
> Here is a patch to add support for underscores in numeric literals, for
> visual grouping, like

> 1_500_000_000
> 0b10001000_00000000
> 0o_1_755
> 0xFFFF_FFFF
> 1.618_034

> per SQL:202x draft.

> This adds support in the lexer as well as in the integer type input
> functions.
> TODO: float/numeric type input support

Hmm ... I'm on board with allowing this in SQL if the committee says
so. I'm not especially on board with accepting it in datatype input
functions. There's been zero demand for that AFAIR. Moreover,
I don't think we need the inevitable I/O performance hit, nor the
increased risk of accepting garbage, nor the certainty of
inconsistency with other places that don't get converted (because
they depend on strtoul() or whatever).

We already accept that numeric input is different from numeric
literals: you can't write Infinity or NaN in SQL without quotes.
So I don't see an argument that we have to allow this in numeric
input for consistency.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2022-12-27 15:16:31 Re: Underscores in numeric literals
Previous Message Anton A. Melnikov 2022-12-27 13:55:54 Re: [BUG] pg_upgrade test fails from older versions.