This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-sqlparser-rs.git
The following commit(s) were added to refs/heads/main by this push:
new 749b061f MySQL dialect: Add support for hash comments (#1466)
749b061f is described below
commit 749b061fbfcdd997f0097152ec4bf9b7376b8c4e
Author: Hans Ott <[email protected]>
AuthorDate: Fri Oct 11 17:15:18 2024 +0200
MySQL dialect: Add support for hash comments (#1466)
---
src/tokenizer.rs | 5 +++--
tests/sqlparser_common.rs | 6 +++++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/tokenizer.rs b/src/tokenizer.rs
index 6d0c86ff..4186ec82 100644
--- a/src/tokenizer.rs
+++ b/src/tokenizer.rs
@@ -43,7 +43,8 @@ use sqlparser_derive::{Visit, VisitMut};
use crate::ast::DollarQuotedString;
use crate::dialect::Dialect;
use crate::dialect::{
- BigQueryDialect, DuckDbDialect, GenericDialect, PostgreSqlDialect,
SnowflakeDialect,
+ BigQueryDialect, DuckDbDialect, GenericDialect, MySqlDialect,
PostgreSqlDialect,
+ SnowflakeDialect,
};
use crate::keywords::{Keyword, ALL_KEYWORDS, ALL_KEYWORDS_INDEX};
@@ -1140,7 +1141,7 @@ impl<'a> Tokenizer<'a> {
}
'{' => self.consume_and_return(chars, Token::LBrace),
'}' => self.consume_and_return(chars, Token::RBrace),
- '#' if dialect_of!(self is SnowflakeDialect | BigQueryDialect)
=> {
+ '#' if dialect_of!(self is SnowflakeDialect | BigQueryDialect
| MySqlDialect) => {
chars.next(); // consume the '#', starting a snowflake
single-line comment
let comment = self.tokenize_single_line_comment(chars);
Ok(Some(Token::Whitespace(Whitespace::SingleLineComment {
diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs
index 5327880a..7140109b 100644
--- a/tests/sqlparser_common.rs
+++ b/tests/sqlparser_common.rs
@@ -9923,7 +9923,11 @@ fn test_release_savepoint() {
#[test]
fn test_comment_hash_syntax() {
let dialects = TestedDialects {
- dialects: vec![Box::new(BigQueryDialect {}), Box::new(SnowflakeDialect
{})],
+ dialects: vec![
+ Box::new(BigQueryDialect {}),
+ Box::new(SnowflakeDialect {}),
+ Box::new(MySqlDialect {}),
+ ],
options: None,
};
let sql = r#"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]