-
-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: