pub trait DatabaseConnection: Send + Sync {
// Required methods
fn query(&self, query: &QueryBuilder) -> Result<ResultSet>;
fn execute_sql(&self, sql: &str, params: &[Value]) -> Result<ResultSet>;
fn insert_array(
&self,
table: &str,
data: ArrayView2<'_, f64>,
columns: &[&str],
) -> Result<usize>;
fn create_table(&self, table: &str, schema: &TableSchema) -> Result<()>;
fn table_exists(&self, table: &str) -> Result<bool>;
fn get_schema(&self, table: &str) -> Result<TableSchema>;
}Expand description
Database connection trait
Required Methods§
Sourcefn query(&self, query: &QueryBuilder) -> Result<ResultSet>
fn query(&self, query: &QueryBuilder) -> Result<ResultSet>
Execute a query and return results
Sourcefn execute_sql(&self, sql: &str, params: &[Value]) -> Result<ResultSet>
fn execute_sql(&self, sql: &str, params: &[Value]) -> Result<ResultSet>
Execute a raw SQL query
Sourcefn insert_array(
&self,
table: &str,
data: ArrayView2<'_, f64>,
columns: &[&str],
) -> Result<usize>
fn insert_array( &self, table: &str, data: ArrayView2<'_, f64>, columns: &[&str], ) -> Result<usize>
Insert data from Array2
Sourcefn create_table(&self, table: &str, schema: &TableSchema) -> Result<()>
fn create_table(&self, table: &str, schema: &TableSchema) -> Result<()>
Create table from schema
Sourcefn table_exists(&self, table: &str) -> Result<bool>
fn table_exists(&self, table: &str) -> Result<bool>
Check if table exists
Sourcefn get_schema(&self, table: &str) -> Result<TableSchema>
fn get_schema(&self, table: &str) -> Result<TableSchema>
Get table schema