Skip to main content

Appender

Struct Appender 

Source
pub struct Appender { /* private fields */ }
Expand description

A DuckDB appender for bulk-inserting rows into a table. A DuckDB appender for bulk-inserting rows into a table without going through the SQL parser.

Call append for each row and save to flush the data to the database. Rows are also flushed automatically on drop (errors during the implicit flush are logged to stderr).

Implementations§

Source§

impl Appender

Source

pub fn new(con: RawConnection, table: &str, schema: &str) -> Result<Appender>

Creates a new Appender for the given table and schema.

§Errors

Returns an error if the table does not exist or the DuckDB appender cannot be created.

Source

pub fn append<T: AppendAble>(&mut self, row: &mut T) -> Result<()>

Appends a row to the table.

Calls duckdb_appender_begin_row, then the value appender, then duckdb_appender_end_row.

§Errors

Returns an error if the row cannot be appended.

Source

pub fn save(&mut self) -> Result<()>

Flushes all buffered rows to the database.

§Errors

Returns an error if the flush fails.

Trait Implementations§

Source§

impl Drop for Appender

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.