From a09eebe799e272616b921e172b97c2cf8b19cd47 Mon Sep 17 00:00:00 2001 From: RPG-Alex Date: Fri, 6 Feb 2026 22:15:55 +0800 Subject: [PATCH] Updated Fuzzer harness to address all dialects --- fuzz/fuzz_targets/fuzz_parse_sql.rs | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/fuzz/fuzz_targets/fuzz_parse_sql.rs b/fuzz/fuzz_targets/fuzz_parse_sql.rs index 446b036cd7..15c198cb23 100644 --- a/fuzz/fuzz_targets/fuzz_parse_sql.rs +++ b/fuzz/fuzz_targets/fuzz_parse_sql.rs @@ -16,14 +16,35 @@ // under the License. use honggfuzz::fuzz; -use sqlparser::dialect::GenericDialect; +use sqlparser::dialect::{ + AnsiDialect, BigQueryDialect, ClickHouseDialect, DatabricksDialect, DuckDbDialect, + GenericDialect, HiveDialect, MsSqlDialect, MySqlDialect, OracleDialect, PostgreSqlDialect, + RedshiftSqlDialect, SQLiteDialect, SnowflakeDialect, +}; use sqlparser::parser::Parser; fn main() { + let dialects: Vec> = vec![ + Box::new(AnsiDialect::default()), + Box::new(BigQueryDialect::default()), + Box::new(ClickHouseDialect::default()), + Box::new(DatabricksDialect::default()), + Box::new(DuckDbDialect::default()), + Box::new(GenericDialect::default()), + Box::new(HiveDialect::default()), + Box::new(MsSqlDialect::default()), + Box::new(MySqlDialect::default()), + Box::new(OracleDialect::default()), + Box::new(PostgreSqlDialect::default()), + Box::new(RedshiftSqlDialect::default()), + Box::new(SQLiteDialect::default()), + Box::new(SnowflakeDialect::default()), + ]; loop { fuzz!(|data: String| { - let dialect = GenericDialect {}; - let _ = Parser::parse_sql(&dialect, &data); + for dialect in &dialects { + let _ = Parser::parse_sql(dialect.as_ref(), &data); + } }); } }