Skip to content

Commit c01a6bb

Browse files
committed
review
1 parent 956b45f commit c01a6bb

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/tokenizer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ use serde::{Deserialize, Serialize};
3535
use sqlparser_derive::{Visit, VisitMut};
3636

3737
use crate::ast::DollarQuotedString;
38-
use crate::dialect::SnowflakeDialect;
38+
use crate::dialect::{BigQueryDialect, GenericDialect, SnowflakeDialect};
3939
use crate::dialect::{Dialect, MySqlDialect};
4040
use crate::keywords::{Keyword, ALL_KEYWORDS, ALL_KEYWORDS_INDEX};
4141

@@ -500,7 +500,7 @@ impl<'a> Tokenizer<'a> {
500500
Ok(Some(Token::Whitespace(Whitespace::Newline)))
501501
}
502502
// BigQuery uses b or B for byte string literal
503-
b @ 'B' | b @ 'b' => {
503+
b @ 'B' | b @ 'b' if dialect_of!(self is BigQueryDialect | GenericDialect) => {
504504
chars.next(); // consume
505505
match chars.peek() {
506506
Some('\'') => {

tests/sqlparser_bigquery.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ fn parse_byte_literal() {
4646
&Expr::Value(Value::DoubleQuotedByteStringLiteral("abc".to_string())),
4747
expr_from_projection(&select.projection[1])
4848
);
49+
50+
let sql = r#"SELECT b'abc', b"abc""#;
51+
bigquery().one_statement_parses_to(sql, r#"SELECT B'abc', B"abc""#);
4952
}
5053

5154
#[test]

0 commit comments

Comments
 (0)