pub enum DatabaseConnection {
SqlxPostgresPoolConnection(SqlxPostgresPoolConnection),
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection),
Disconnected,
}Expand description
Handle a database connection depending on the backend enabled by the feature
flags. This creates a database pool. This will be Clone unless the feature
flag mock is enabled.
Variants§
SqlxPostgresPoolConnection(SqlxPostgresPoolConnection)
Create a PostgreSQL database connection and pool
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection)
Create a SQLite database connection and pool
Disconnected
The connection to the database has been severed
Implementations§
Source§impl DatabaseConnection
impl DatabaseConnection
Sourcepub fn set_metric_callback<F>(&mut self, _callback: F)
pub fn set_metric_callback<F>(&mut self, _callback: F)
Sets a callback to metric this connection
Sourcepub async fn ping(&self) -> Result<(), DbErr>
pub async fn ping(&self) -> Result<(), DbErr>
Checks if a connection to the database is still valid.
Sourcepub async fn close(self) -> Result<(), DbErr>
pub async fn close(self) -> Result<(), DbErr>
Explicitly close the database connection.
See Self::close_by_ref for usage with references.
Sourcepub async fn close_by_ref(&self) -> Result<(), DbErr>
pub async fn close_by_ref(&self) -> Result<(), DbErr>
Explicitly close the database connection
Source§impl DatabaseConnection
impl DatabaseConnection
Sourcepub fn get_postgres_connection_pool(&self) -> &Pool<Postgres>
pub fn get_postgres_connection_pool(&self) -> &Pool<Postgres>
Sourcepub fn get_sqlite_connection_pool(&self) -> &Pool<Sqlite>
pub fn get_sqlite_connection_pool(&self) -> &Pool<Sqlite>
Trait Implementations§
Source§impl Clone for DatabaseConnection
impl Clone for DatabaseConnection
Source§fn clone(&self) -> DatabaseConnection
fn clone(&self) -> DatabaseConnection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ConnectionTrait for DatabaseConnection
impl ConnectionTrait for DatabaseConnection
Source§fn get_database_backend(&self) -> DatabaseBackend
fn get_database_backend(&self) -> DatabaseBackend
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn execute_unprepared<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn execute_unprepared<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn query_one<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn query_one<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn query_all<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn query_all<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn support_returning(&self) -> bool
fn support_returning(&self) -> bool
RETURNING syntax on insert and updateSource§fn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Source§impl DatasetConfigDb for DatabaseConnection
impl DatasetConfigDb for DatabaseConnection
fn get_by_dataset_id<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<DatasetConfiguration>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn upsert<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
patch: DatasetConfigurationPatch,
) -> Pin<Box<dyn Future<Output = Result<DatasetConfiguration, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§impl Debug for DatabaseConnection
impl Debug for DatabaseConnection
Source§impl Default for DatabaseConnection
impl Default for DatabaseConnection
Source§fn default() -> DatabaseConnection
fn default() -> DatabaseConnection
Source§impl DeleteDb for DatabaseConnection
impl DeleteDb for DatabaseConnection
fn get_data<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Data>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_data<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn count_data_dataset_links<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn list_datasets_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_dataset_by_name<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
owner_id: Uuid,
tenant_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<Option<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_dataset_data<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Data>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn count_dataset_data<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn count_dataset_data<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn list_datasets_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn list_datasets<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_dataset<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn detach_data_from_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
data_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn delete_pipeline_runs_by_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_pipeline_runs_by_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
pipeline_runs rows for a given dataset. Read moreSource§fn clear_pipeline_status_for_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn clear_pipeline_status_for_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
pipeline_status JSON entries keyed by dataset_id from all
Data records linked to that dataset. Read moreSource§fn clear_cognify_pipeline_status_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn clear_cognify_pipeline_status_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
cognify_pipeline key from the pipeline_status JSON
of a single Data record, removing only the entry keyed by dataset_id.Source§fn get_nodes_by_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphNode>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_nodes_by_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphNode>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn get_edges_by_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphEdge>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_edges_by_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphEdge>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn get_unique_nodes_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphNode>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_unique_nodes_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphNode>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
(data_id, dataset_id) whose slug is NOT shared
with other data items in the same dataset. Safe for targeted deletion.Source§fn get_unique_edges_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphEdge>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_unique_edges_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<GraphEdge>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
(data_id, dataset_id) whose slug is NOT shared
with other data items in the same dataset.Source§fn delete_provenance_nodes_for_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_provenance_nodes_for_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn delete_provenance_edges_for_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_provenance_edges_for_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn delete_provenance_nodes_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_provenance_nodes_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
(data_id, dataset_id) pair.Source§fn delete_provenance_edges_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_provenance_edges_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
(data_id, dataset_id) pair.Source§fn get_provenance_node_count_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_provenance_node_count_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
(data_id, dataset_id) pair.Source§fn get_provenance_edge_count_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_provenance_edge_count_for_data<'life0, 'async_trait>(
&'life0 self,
data_id: Uuid,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<usize, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
(data_id, dataset_id) pair.Source§fn delete_search_history_for_user<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_search_history_for_user<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn delete_all_search_history<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn delete_all_search_history<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn count_search_history_for_user<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn count_search_history_for_user<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn count_all_search_history<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn count_all_search_history<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§impl IngestDb for DatabaseConnection
impl IngestDb for DatabaseConnection
fn get_dataset_by_name<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
owner_id: Uuid,
tenant_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<Option<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn get_dataset<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_dataset<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn create_dataset<'life0, 'async_trait>(
&'life0 self,
dataset: Dataset,
) -> Pin<Box<dyn Future<Output = Result<Dataset, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn list_datasets_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn list_datasets_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Dataset>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_data<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Data>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn create_data<'life0, 'async_trait>(
&'life0 self,
d: Data,
) -> Pin<Box<dyn Future<Output = Result<Data, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn attach_data_to_dataset<'life0, 'async_trait>(
&'life0 self,
dataset_id: Uuid,
data_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn update_last_accessed<'life0, 'life1, 'async_trait>(
&'life0 self,
data_ids: &'life1 [Uuid],
timestamp: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn update_last_accessed<'life0, 'life1, 'async_trait>(
&'life0 self,
data_ids: &'life1 [Uuid],
timestamp: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
last_accessed timestamp on the given Data records. Read moreSource§fn get_latest_pipeline_status<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_name: &'life1 str,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<PipelineRunStatus>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_latest_pipeline_status<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_name: &'life1 str,
dataset_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<PipelineRunStatus>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
Source§impl<'c> IntoSchemaManagerConnection<'c> for &'c DatabaseConnection
impl<'c> IntoSchemaManagerConnection<'c> for &'c DatabaseConnection
fn into_schema_manager_connection(self) -> SchemaManagerConnection<'c>
Source§impl NotebookDb for DatabaseConnection
impl NotebookDb for DatabaseConnection
Source§fn list_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Notebook>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn list_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Notebook>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
owner_id, ordered by created_at asc.Source§fn create<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
name: String,
cells: Value,
deletable: bool,
) -> Pin<Box<dyn Future<Output = Result<Notebook, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn create<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
name: String,
cells: Value,
deletable: bool,
) -> Pin<Box<dyn Future<Output = Result<Notebook, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn create_seeded<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
owner_id: Uuid,
name: String,
cells: Value,
deletable: bool,
) -> Pin<Box<dyn Future<Output = Result<Notebook, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn create_seeded<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
owner_id: Uuid,
name: String,
cells: Value,
deletable: bool,
) -> Pin<Box<dyn Future<Output = Result<Notebook, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn get_by_id_and_owner<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Notebook>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_by_id_and_owner<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Notebook>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§fn update<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
owner_id: Uuid,
patch: NotebookUpdatePatch,
) -> Pin<Box<dyn Future<Output = Result<Option<Notebook>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn update<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
owner_id: Uuid,
patch: NotebookUpdatePatch,
) -> Pin<Box<dyn Future<Output = Result<Option<Notebook>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
None when not
found (ownership check included).Source§impl SearchHistoryDb for DatabaseConnection
impl SearchHistoryDb for DatabaseConnection
fn log_query<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query_text: &'life1 str,
query_type: &'life2 str,
user_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<Uuid, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
DatabaseConnection: 'async_trait,
fn log_result<'life0, 'life1, 'async_trait>(
&'life0 self,
query_id: Uuid,
serialized_result: &'life1 str,
user_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<Uuid, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_history<'life0, 'async_trait>(
&'life0 self,
user_id: Option<Uuid>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchHistoryEntry>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
Source§impl SessionLifecycleDb for DatabaseConnection
impl SessionLifecycleDb for DatabaseConnection
Source§fn ensure_and_touch_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
user_id: Uuid,
dataset_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn ensure_and_touch_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
user_id: Uuid,
dataset_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
last_activity_at if the row is
already running. Mirrors metrics.py:62-130.Source§fn accumulate_usage<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
user_id: Uuid,
model: Option<&'life2 str>,
tokens_in: i64,
tokens_out: i64,
cost_usd: f64,
errored: bool,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
DatabaseConnection: 'async_trait,
fn accumulate_usage<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
user_id: Uuid,
model: Option<&'life2 str>,
tokens_in: i64,
tokens_out: i64,
cost_usd: f64,
errored: bool,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
DatabaseConnection: 'async_trait,
metrics.py:133-241.Source§fn get_session_row<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
user_id: Uuid,
permitted_dataset_ids: &'life2 [Uuid],
prefer_other_owner: bool,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionRowWithStatus>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
DatabaseConnection: 'async_trait,
fn get_session_row<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
user_id: Uuid,
permitted_dataset_ids: &'life2 [Uuid],
prefer_other_owner: bool,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionRowWithStatus>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
DatabaseConnection: 'async_trait,
metrics.py:295-333.Source§fn list_session_rows<'life0, 'async_trait>(
&'life0 self,
filters: SessionListFilters,
) -> Pin<Box<dyn Future<Output = Result<SessionListPage, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn list_session_rows<'life0, 'async_trait>(
&'life0 self,
filters: SessionListFilters,
) -> Pin<Box<dyn Future<Output = Result<SessionListPage, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
effective_status filter support. Mirrors
metrics.py:365-438.Source§fn aggregate_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: Uuid,
permitted_dataset_ids: &'life1 [Uuid],
since: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = Result<SessionStats, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn aggregate_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: Uuid,
permitted_dataset_ids: &'life1 [Uuid],
since: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = Result<SessionStats, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
GET /sessions/stats. Mirrors
get_sessions_router.py:112-196.Source§fn cost_by_model<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: Uuid,
permitted_dataset_ids: &'life1 [Uuid],
since: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<CostByModelRow>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
fn cost_by_model<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: Uuid,
permitted_dataset_ids: &'life1 [Uuid],
since: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<CostByModelRow>, DatabaseError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
DatabaseConnection: 'async_trait,
GET /sessions/cost-by-model.
Mirrors get_sessions_router.py:198-252.Source§impl StreamTrait for DatabaseConnection
impl StreamTrait for DatabaseConnection
Source§type Stream<'a> = QueryStream
type Stream<'a> = QueryStream
Source§impl TransactionTrait for DatabaseConnection
impl TransactionTrait for DatabaseConnection
Source§fn transaction<'life0, 'async_trait, F, T, E>(
&'life0 self,
_callback: F,
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
fn transaction<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
Source§fn transaction_with_config<'life0, 'async_trait, F, T, E>(
&'life0 self,
_callback: F,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
fn transaction_with_config<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, _isolation_level: Option<IsolationLevel>, _access_mode: Option<AccessMode>, ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
Source§fn begin<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn begin<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
BEGIN transaction.
Returns a Transaction that can be committed or rolled backSource§fn begin_with_config<'life0, 'async_trait>(
&'life0 self,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
fn begin_with_config<'life0, 'async_trait>(
&'life0 self,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
DatabaseConnection: 'async_trait,
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backAuto Trait Implementations§
impl !RefUnwindSafe for DatabaseConnection
impl !UnwindSafe for DatabaseConnection
impl Freeze for DatabaseConnection
impl Send for DatabaseConnection
impl Sync for DatabaseConnection
impl Unpin for DatabaseConnection
impl UnsafeUnpin for DatabaseConnection
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DatasetDb for T
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.