Ought binary literals to allow spaces?

Started by Chapman Flackabout 6 years ago2 messageshackers
Jump to latest
#1Chapman Flack
chap@anastigmatix.net

Hi,

ISO seems to allow spaces among the digits of a binary literal, so as
to group them for readability, as in X'00ba b10c'. We seem not to.
(The B'...' form appears to be a PostgreSQL extension, but I imagine
if ISO had it, it would allow spaces too.)

Is it worthwhile to allow that? Or to add a compatibility note somewhere
around sql-syntax-bit-strings saying we don't allow it?

For comparison, byteain does allow grouping whitespace.

It seems that byteain allows arbitrary whitespace (tabs, newlines, etc.),
whereas ISO's X'...' allows exactly and only U+0020 space characters.

Whitespace for byteain must occur between digit pairs; spaces in X'...'
per ISO can be anywhere.

Regards,
-Chap

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Chapman Flack (#1)
Re: Ought binary literals to allow spaces?

Chapman Flack <chap@anastigmatix.net> writes:

ISO seems to allow spaces among the digits of a binary literal, so as
to group them for readability, as in X'00ba b10c'. We seem not to.

Hmm. SQL99 did not allow noise spaces in <binary string literal> and
related productions, but it does look like they added that in SQL:2008.

(The B'...' form appears to be a PostgreSQL extension, but I imagine
if ISO had it, it would allow spaces too.)

The B'...' form was there in SQL99. The committee took it out in
SQL:2003 or so, along with the BIT type, but we still have both.

regards, tom lane