OK, I'm pretty sure I found it. The hive parser is recognizing this as a ByteLengthLiteral
which is defined as the following:
ByteLengthLiteral
:
(Digit)+ ('b' | 'B' | 'k' | 'K' | 'm' | 'M' | 'g' | 'G')
;
I tried the same statement replacing b
with k
, m
, and g
and got the same error.
And for the sake of information, an identifier (as [identifier]
) is defined as...
Identifier
:
(Letter | Digit) (Letter | Digit | '_')*
| '`' RegexComponent+ '`'
;
Which seems like it should work, except that the ByteLengthLiteral
has already been processed and so this fails to recognize the identifier.