diff --git a/src/engine/duckdb/mod.rs b/src/engine/duckdb/mod.rs index 3ef9037..b3fd546 100644 --- a/src/engine/duckdb/mod.rs +++ b/src/engine/duckdb/mod.rs @@ -39,6 +39,12 @@ pub struct DuckDbEngine; /// Default schema used when no `--schema` is provided. const DEFAULT_SCHEMA: &str = "main"; +// `DatabaseEngine` declares these methods as returning futures, so each impl must be +// `async` whether or not its body awaits. The DuckDB driver is synchronous, so all three +// methods here have no `.await` and trip `clippy::unused_async` -- a lint that cannot be +// satisfied without hand-rolling `impl Future` bodies purely to appease it. The +// `postgres` and `mysql` impls are unaffected because their drivers genuinely await. +#[allow(clippy::unused_async)] impl DatabaseEngine for DuckDbEngine { async fn validate_connection(config: &ConnectionConfig) -> Result { let file_path = extract_file_path(config)?; diff --git a/src/engine/sqlite/mod.rs b/src/engine/sqlite/mod.rs index 038b50b..b5a6210 100644 --- a/src/engine/sqlite/mod.rs +++ b/src/engine/sqlite/mod.rs @@ -31,6 +31,12 @@ use crate::error::{PlenumError, Result}; /// `SQLite` database engine implementation pub struct SqliteEngine; +// `DatabaseEngine` declares these methods as returning futures, so each impl must be +// `async` whether or not its body awaits. The SQLite driver is synchronous, so all three +// methods here have no `.await` and trip `clippy::unused_async` -- a lint that cannot be +// satisfied without hand-rolling `impl Future` bodies purely to appease it. The +// `postgres` and `mysql` impls are unaffected because their drivers genuinely await. +#[allow(clippy::unused_async)] impl DatabaseEngine for SqliteEngine { async fn validate_connection(config: &ConnectionConfig) -> Result { // Validate config is for SQLite