-
-
Notifications
You must be signed in to change notification settings - Fork 257
Description
Submitted by: @mrotteveel
Is related to CORE5312
Currently Firebird supports a limited form of the binary string literal, please add support for the full syntax defined in the SQL standard.
In SQL:2011 binary string literal is defined as:
<binary string literal> ::=
X <quote> [ <space>... ] [ { <hexit> [ <space>... ] <hexit> [ <space>... ] }... ] <quote>
[ { <separator> <quote> [ <space>... ] [ { <hexit> [ <space>... ]
<hexit> [ <space>... ] }... ] <quote> }... ]
<hexit> ::=
<digit> | A | B | C | D | E | F | a | b | c | d | e | f
<digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<separator> ::=
{ <comment> | <white space> }...
This means that the below samples are all valid binary string literals according to the standard, Firebird only supports the first:
* X'01AB'
* X' 0 1 a b'
* X'01' 'ab'
* X'01'/*comment*/'a b'
* X'01' 'ab' /*comment*/ 'ff00'
* X'01' -- comment and newline
'ab'
x' a b c d ' 'ab'/*x*/''
'ab' ' '
etc.
See also CORE5312 for character string literal