mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-09-03 20:50:33 +00:00
BigQuery: Parse optional DELETE FROM
statement (#1120)
This commit is contained in:
parent
61089f977c
commit
df738f9b10
5 changed files with 120 additions and 27 deletions
|
@ -193,21 +193,35 @@ impl TestedDialects {
|
|||
}
|
||||
}
|
||||
|
||||
/// Returns all available dialects.
|
||||
pub fn all_dialects() -> TestedDialects {
|
||||
all_dialects_except(|_| false)
|
||||
}
|
||||
|
||||
/// Returns available dialects. The `except` predicate is used
|
||||
/// to filter out specific dialects.
|
||||
pub fn all_dialects_except<F>(except: F) -> TestedDialects
|
||||
where
|
||||
F: Fn(&dyn Dialect) -> bool,
|
||||
{
|
||||
let all_dialects = vec![
|
||||
Box::new(GenericDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(PostgreSqlDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(MsSqlDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(AnsiDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(SnowflakeDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(HiveDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(RedshiftSqlDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(MySqlDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(BigQueryDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(SQLiteDialect {}) as Box<dyn Dialect>,
|
||||
Box::new(DuckDbDialect {}) as Box<dyn Dialect>,
|
||||
];
|
||||
TestedDialects {
|
||||
dialects: vec![
|
||||
Box::new(GenericDialect {}),
|
||||
Box::new(PostgreSqlDialect {}),
|
||||
Box::new(MsSqlDialect {}),
|
||||
Box::new(AnsiDialect {}),
|
||||
Box::new(SnowflakeDialect {}),
|
||||
Box::new(HiveDialect {}),
|
||||
Box::new(RedshiftSqlDialect {}),
|
||||
Box::new(MySqlDialect {}),
|
||||
Box::new(BigQueryDialect {}),
|
||||
Box::new(SQLiteDialect {}),
|
||||
Box::new(DuckDbDialect {}),
|
||||
],
|
||||
dialects: all_dialects
|
||||
.into_iter()
|
||||
.filter(|d| !except(d.as_ref()))
|
||||
.collect(),
|
||||
options: None,
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue