diff --git a/src/ast/mod.rs b/src/ast/mod.rs index ee8383e29..bcfc0ab4a 100644 --- a/src/ast/mod.rs +++ b/src/ast/mod.rs @@ -5200,7 +5200,13 @@ impl fmt::Display for CopyLegacyCsvOption { } } +/// `MERGE` Statement /// +/// ```sql +/// MERGE INTO USING ON { matchedClause | notMatchedClause } [ ... ] +/// ``` +/// +/// See [Snowflake documentation](https://docs.snowflake.com/en/sql-reference/sql/merge) #[derive(Debug, Clone, PartialEq, PartialOrd, Eq, Ord, Hash)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr(feature = "visitor", derive(Visit, VisitMut))] diff --git a/src/dialect/mod.rs b/src/dialect/mod.rs index 8778948cd..c53670263 100644 --- a/src/dialect/mod.rs +++ b/src/dialect/mod.rs @@ -207,8 +207,6 @@ pub fn dialect_from_str(dialect_name: impl AsRef) -> Option { diff --git a/src/parser/mod.rs b/src/parser/mod.rs index e112d16f2..17b1ab2fa 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -30,7 +30,7 @@ use IsOptional::*; use crate::ast::helpers::stmt_create_table::{BigQueryTableConfiguration, CreateTableBuilder}; use crate::ast::*; use crate::dialect::*; -use crate::keywords::{self, Keyword, ALL_KEYWORDS}; +use crate::keywords::{Keyword, ALL_KEYWORDS}; use crate::tokenizer::*; mod alter; diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 23f963bc8..a7e06e789 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -1409,7 +1409,7 @@ fn peeking_take_while(chars: &mut State, mut predicate: impl FnMut(char) -> bool #[cfg(test)] mod tests { use super::*; - use crate::dialect::{ClickHouseDialect, GenericDialect, MsSqlDialect}; + use crate::dialect::{ClickHouseDialect, MsSqlDialect}; #[test] fn tokenizer_error_impl() { diff --git a/tests/sqlparser_clickhouse.rs b/tests/sqlparser_clickhouse.rs index efb53377f..1cbe34c5c 100644 --- a/tests/sqlparser_clickhouse.rs +++ b/tests/sqlparser_clickhouse.rs @@ -19,7 +19,6 @@ mod test_utils; use test_utils::*; use sqlparser::ast::Expr::{BinaryOp, Identifier, MapAccess}; -use sqlparser::ast::Ident; use sqlparser::ast::SelectItem::UnnamedExpr; use sqlparser::ast::TableFactor::Table; use sqlparser::ast::*; diff --git a/tests/sqlparser_mysql.rs b/tests/sqlparser_mysql.rs index 90579788f..06982be49 100644 --- a/tests/sqlparser_mysql.rs +++ b/tests/sqlparser_mysql.rs @@ -15,9 +15,8 @@ //! is also tested (on the inputs it can handle). use matches::assert_matches; -use sqlparser::ast::Expr; + use sqlparser::ast::MysqlInsertPriority::{Delayed, HighPriority, LowPriority}; -use sqlparser::ast::Value; use sqlparser::ast::*; use sqlparser::dialect::{GenericDialect, MySqlDialect}; use sqlparser::parser::ParserOptions; diff --git a/tests/sqlparser_snowflake.rs b/tests/sqlparser_snowflake.rs index 6655d0c4d..65755f685 100644 --- a/tests/sqlparser_snowflake.rs +++ b/tests/sqlparser_snowflake.rs @@ -1305,7 +1305,7 @@ fn test_snowflake_stage_object_names() { "@namespace.stage_name/path", "@~/path", ]; - let mut allowed_object_names = vec![ + let mut allowed_object_names = [ ObjectName(vec![Ident::new("my_company"), Ident::new("emp_basic")]), ObjectName(vec![Ident::new("@namespace"), Ident::new("%table_name")]), ObjectName(vec![