Skip to main content

AppenderParams

Trait AppenderParams 

Source
pub trait AppenderParams: Sealed { }
Expand description

Trait used for rows passed to Appender::append_row and Appender::append_rows.

Note: Currently, this trait can only be implemented inside this crate. Additionally, its methods (which are doc(hidden)) should currently not be considered part of the stable API, although it’s possible they will stabilize in the future.

AppenderParams normalizes the row values accepted by the appender API into the positional values DuckDB appends to one table row. It is separate from Params, which is used for prepared statements and queries.

Supported forms include:

  • tuples of mixed types, up to 16 elements;
  • arrays and references to arrays, up to 32 elements;
  • duckdb::params! or &[&dyn ToSql] for heterogeneous rows or rows assembled dynamically;
  • appender_params_from_iter for iterators over one concrete ToSql item type.

§Example

fn append_rows(conn: &Connection) -> Result<()> {
    conn.execute_batch("CREATE TABLE people (id INTEGER, name TEXT)")?;
    let mut appender = conn.appender("people")?;

    appender.append_row((1i32, "Alice"))?;
    appender.append_row(params![2i32, "Bob"])?;

    appender.flush()
}

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl AppenderParams for &[&dyn ToSql]

Source§

impl AppenderParams for [&dyn ToSql; 0]

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql, T11: ToSql, T12: ToSql, T13: ToSql, T14: ToSql, T15: ToSql, T16: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql, T11: ToSql, T12: ToSql, T13: ToSql, T14: ToSql, T15: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql, T11: ToSql, T12: ToSql, T13: ToSql, T14: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql, T11: ToSql, T12: ToSql, T13: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql, T11: ToSql, T12: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql, T11: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql, T10: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql, T9: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql, T8: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql, T7: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql, T6: ToSql> AppenderParams for (T1, T2, T3, T4, T5, T6)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql, T5: ToSql> AppenderParams for (T1, T2, T3, T4, T5)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql, T4: ToSql> AppenderParams for (T1, T2, T3, T4)

Source§

impl<T1: ToSql, T2: ToSql, T3: ToSql> AppenderParams for (T1, T2, T3)

Source§

impl<T1: ToSql, T2: ToSql> AppenderParams for (T1, T2)

Source§

impl<T1: ToSql> AppenderParams for (T1,)

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 1]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 2]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 3]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 4]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 5]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 6]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 7]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 8]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 9]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 10]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 11]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 12]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 13]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 14]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 15]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 16]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 17]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 18]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 19]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 20]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 21]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 22]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 23]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 24]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 25]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 26]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 27]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 28]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 29]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 30]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 31]

Source§

impl<T: ToSql + ?Sized> AppenderParams for &[&T; 32]

Source§

impl<T: ToSql> AppenderParams for [T; 1]

Source§

impl<T: ToSql> AppenderParams for [T; 2]

Source§

impl<T: ToSql> AppenderParams for [T; 3]

Source§

impl<T: ToSql> AppenderParams for [T; 4]

Source§

impl<T: ToSql> AppenderParams for [T; 5]

Source§

impl<T: ToSql> AppenderParams for [T; 6]

Source§

impl<T: ToSql> AppenderParams for [T; 7]

Source§

impl<T: ToSql> AppenderParams for [T; 8]

Source§

impl<T: ToSql> AppenderParams for [T; 9]

Source§

impl<T: ToSql> AppenderParams for [T; 10]

Source§

impl<T: ToSql> AppenderParams for [T; 11]

Source§

impl<T: ToSql> AppenderParams for [T; 12]

Source§

impl<T: ToSql> AppenderParams for [T; 13]

Source§

impl<T: ToSql> AppenderParams for [T; 14]

Source§

impl<T: ToSql> AppenderParams for [T; 15]

Source§

impl<T: ToSql> AppenderParams for [T; 16]

Source§

impl<T: ToSql> AppenderParams for [T; 17]

Source§

impl<T: ToSql> AppenderParams for [T; 18]

Source§

impl<T: ToSql> AppenderParams for [T; 19]

Source§

impl<T: ToSql> AppenderParams for [T; 20]

Source§

impl<T: ToSql> AppenderParams for [T; 21]

Source§

impl<T: ToSql> AppenderParams for [T; 22]

Source§

impl<T: ToSql> AppenderParams for [T; 23]

Source§

impl<T: ToSql> AppenderParams for [T; 24]

Source§

impl<T: ToSql> AppenderParams for [T; 25]

Source§

impl<T: ToSql> AppenderParams for [T; 26]

Source§

impl<T: ToSql> AppenderParams for [T; 27]

Source§

impl<T: ToSql> AppenderParams for [T; 28]

Source§

impl<T: ToSql> AppenderParams for [T; 29]

Source§

impl<T: ToSql> AppenderParams for [T; 30]

Source§

impl<T: ToSql> AppenderParams for [T; 31]

Source§

impl<T: ToSql> AppenderParams for [T; 32]

Implementors§