Skip to content

Commit 43faa6f

Browse files
committed
Simplify error assertion using let-else pattern
1 parent 017333f commit 43faa6f

File tree

4 files changed

+3
-17
lines changed

4 files changed

+3
-17
lines changed

crates/duckdb/src/appender/mod.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,6 @@ impl Appender<'_> {
8484
}
8585

8686
/// Append a DEFAULT value to the current row
87-
///
88-
/// This is called internally when `AppendDefault` is used in `append_row()`.
89-
/// Users should use the `AppendDefault` marker type instead of calling this directly.
9087
#[inline]
9188
fn append_default(&mut self) -> Result<()> {
9289
let rc = unsafe { ffi::duckdb_append_default(self.app) };
@@ -405,7 +402,7 @@ mod test {
405402
}
406403

407404
#[test]
408-
fn test_append_default_with_const_default() -> Result<()> {
405+
fn test_append_default() -> Result<()> {
409406
let db = Connection::open_in_memory()?;
410407
db.execute_batch(
411408
"CREATE TABLE test (
@@ -442,16 +439,10 @@ mod test {
442439
let db = Connection::open_in_memory()?;
443440
db.execute_batch("CREATE TABLE test (id INTEGER, name VARCHAR DEFAULT 'test')")?;
444441

445-
// AppendDefault should fail in prepared statements
446442
let mut stmt = db.prepare("INSERT INTO test VALUES (?, ?)")?;
447443
let result = stmt.execute(params![1, AppendDefault]);
448444

449-
assert!(result.is_err());
450-
if let Err(Error::ToSqlConversionFailure(e)) = result {
451-
assert!(e.to_string().contains("only valid for Appender operations"));
452-
} else {
453-
panic!("Expected ToSqlConversionFailure error");
454-
}
445+
assert!(matches!(result, Err(Error::ToSqlConversionFailure(_))));
455446

456447
Ok(())
457448
}

crates/duckdb/src/pragma.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ impl Sql {
5858

5959
pub fn push_value(&mut self, value: &dyn ToSql) -> Result<()> {
6060
let value = value.to_sql()?;
61-
// Note: AppendDefault is only meaningful for data insertion operations (Appender).
62-
// Pragmas are configuration commands, so DEFAULT values don't apply.
6361
let value = match value {
6462
ToSqlOutput::Borrowed(v) => v,
6563
ToSqlOutput::Owned(ref v) => ValueRef::from(v),

crates/duckdb/src/statement.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,9 +531,6 @@ impl Statement<'_> {
531531
let value = param.to_sql()?;
532532

533533
let ptr = unsafe { self.stmt.ptr() };
534-
// Note: DuckDB's C API only provides duckdb_append_default() for Appender operations.
535-
// There is no duckdb_bind_default() function for prepared statements, so we must
536-
// reject AppendDefault here.
537534
let value = match value {
538535
ToSqlOutput::Borrowed(v) => v,
539536
ToSqlOutput::Owned(ref v) => ValueRef::from(v),

crates/duckdb/src/types/to_sql.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::{Null, TimeUnit, Value, ValueRef};
22
use crate::Result;
33
use std::borrow::Cow;
44

5-
/// Empty struct that can be used in Appender params to indicate DEFAULT value.
5+
/// Marker type that can be used in Appender params to indicate DEFAULT value.
66
///
77
/// This is useful when you want to append a row with some columns using their
88
/// default values (as defined in the table schema). Unlike `Null` which explicitly

0 commit comments

Comments
 (0)