-
-
Notifications
You must be signed in to change notification settings - Fork 222
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Support full SQL standard binary string literal syntax [CORE5311] #5588
Comments
Modified by: @mrotteveelComponent: Engine [ 10000 ] |
Modified by: @mrotteveeldescription: 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> ::= <hexit> ::= <digit> ::= <separator> ::= This means that the below samples are all valid binary string literals according to the standard, Firebird only supports the first: * X'01AB' etc. => 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> ::= <hexit> ::= <digit> ::= <separator> ::= This means that the below samples are all valid binary string literals according to the standard, Firebird only supports the first: * X'01AB' etc. See also CORE5312 for character string literal |
Modified by: @mrotteveel |
@asfernandes you might be able to combine this with #5589 |
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'
etc.
See also CORE5312 for character string literal
The text was updated successfully, but these errors were encountered: