Thread: Ought binary literals to allow spaces?

Ought binary literals to allow spaces?

From
Chapman Flack
Date:
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



Re: Ought binary literals to allow spaces?

From
Tom Lane
Date:
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