pub struct DuckDBBackend { /* private fields */ }Expand description
DuckDB backend for OLAP workloads and analytics
Implementations§
Source§impl DuckDBBackend
impl DuckDBBackend
Sourcepub async fn file(path: &str) -> Result<Self>
pub async fn file(path: &str) -> Result<Self>
Create a new DuckDB backend with a file-based database
Sourcepub async fn export_parquet(&mut self, table: &str, path: &str) -> Result<()>
pub async fn export_parquet(&mut self, table: &str, path: &str) -> Result<()>
Export database to Parquet file
Sourcepub async fn import_parquet(&mut self, table: &str, path: &str) -> Result<()>
pub async fn import_parquet(&mut self, table: &str, path: &str) -> Result<()>
Import data from Parquet file
Sourcepub async fn export_csv(&mut self, table: &str, path: &str) -> Result<()>
pub async fn export_csv(&mut self, table: &str, path: &str) -> Result<()>
Export database to CSV file
Sourcepub async fn analyze_table(&mut self, table: &str) -> Result<()>
pub async fn analyze_table(&mut self, table: &str) -> Result<()>
Get table statistics
Trait Implementations§
Source§impl DatabaseBackend for DuckDBBackend
impl DatabaseBackend for DuckDBBackend
Source§fn connect<'life0, 'async_trait>(
url: &'life0 str,
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect<'life0, 'async_trait>(
url: &'life0 str,
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Connect to the database
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a SQL statement (no results)
Source§fn query<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Query and return results
Source§fn begin_transaction<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin_transaction<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Begin a transaction
Source§fn commit<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Commit the current transaction
Source§fn rollback<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn rollback<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Rollback the current transaction
Source§fn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Check if connected
Auto Trait Implementations§
impl Freeze for DuckDBBackend
impl RefUnwindSafe for DuckDBBackend
impl Send for DuckDBBackend
impl Sync for DuckDBBackend
impl Unpin for DuckDBBackend
impl UnwindSafe for DuckDBBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more