mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-03 13:58:15 +00:00
[snowflake] Support single line comments starting with '#' or '//' (#264)
Co-authored-by: Eyal Leshem <eyal@satoricyber.com>
This commit is contained in:
parent
e9aa87fa2c
commit
1c6077c0db
2 changed files with 81 additions and 14 deletions
|
@ -12,6 +12,7 @@
|
|||
use sqlparser::ast::*;
|
||||
use sqlparser::dialect::{GenericDialect, SnowflakeDialect};
|
||||
use sqlparser::test_utils::*;
|
||||
use sqlparser::tokenizer::*;
|
||||
|
||||
#[test]
|
||||
fn test_snowflake_create_table() {
|
||||
|
@ -24,6 +25,44 @@ fn test_snowflake_create_table() {
|
|||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_snowflake_single_line_tokenize() {
|
||||
let sql = "CREATE TABLE# this is a comment \ntable_1";
|
||||
let dialect = SnowflakeDialect {};
|
||||
let mut tokenizer = Tokenizer::new(&dialect, &sql);
|
||||
let tokens = tokenizer.tokenize().unwrap();
|
||||
|
||||
let expected = vec![
|
||||
Token::make_keyword("CREATE"),
|
||||
Token::Whitespace(Whitespace::Space),
|
||||
Token::make_keyword("TABLE"),
|
||||
Token::Whitespace(Whitespace::SingleLineComment {
|
||||
prefix: "#".to_string(),
|
||||
comment: " this is a comment \n".to_string(),
|
||||
}),
|
||||
Token::make_word("table_1", None),
|
||||
];
|
||||
|
||||
assert_eq!(expected, tokens);
|
||||
|
||||
let sql = "CREATE TABLE// this is a comment \ntable_1";
|
||||
let mut tokenizer = Tokenizer::new(&dialect, &sql);
|
||||
let tokens = tokenizer.tokenize().unwrap();
|
||||
|
||||
let expected = vec![
|
||||
Token::make_keyword("CREATE"),
|
||||
Token::Whitespace(Whitespace::Space),
|
||||
Token::make_keyword("TABLE"),
|
||||
Token::Whitespace(Whitespace::SingleLineComment {
|
||||
prefix: "//".to_string(),
|
||||
comment: " this is a comment \n".to_string(),
|
||||
}),
|
||||
Token::make_word("table_1", None),
|
||||
];
|
||||
|
||||
assert_eq!(expected, tokens);
|
||||
}
|
||||
|
||||
fn snowflake_and_generic() -> TestedDialects {
|
||||
TestedDialects {
|
||||
dialects: vec![Box::new(SnowflakeDialect {}), Box::new(GenericDialect {})],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue