pub struct Database { /* private fields */ }Implementations§
Source§impl Database
impl Database
pub async fn new_postgres(url: &str) -> Result<Self>
pub async fn from_config(db_type: &str, url: &str) -> Result<Self>
pub fn get_postgres_pool_arc(&self) -> Result<Arc<PgPool>>
pub async fn query(&self, sql: &dyn QuerySelector) -> Result<QueryResult>
pub async fn query_with( &self, sql: &dyn QuerySelector, params: Vec<Value>, ) -> Result<QueryResult>
pub async fn execute_batch(&self, sql: &str) -> Result<()>
pub async fn get_info(&self) -> Result<DatabaseInfo>
pub async fn test_connection(&self) -> Result<()>
pub fn get_postgres_pool(&self) -> Option<Arc<PgPool>>
pub fn pool_arc(&self) -> Result<Arc<PgPool>>
pub fn pool(&self) -> Option<Arc<PgPool>>
pub async fn begin(&self) -> Result<Transaction<'_, Postgres>>
Trait Implementations§
Source§impl DatabaseHandle for Database
impl DatabaseHandle for Database
Source§impl DatabaseProvider for Database
impl DatabaseProvider for Database
fn get_postgres_pool(&self) -> Option<Arc<PgPool>>
fn execute<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
params: &'life2 [&'life3 dyn ToDbValue],
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn execute_raw<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_all<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
params: &'life2 [&'life3 dyn ToDbValue],
) -> Pin<Box<dyn Future<Output = Result<Vec<JsonRow>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn fetch_one<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
params: &'life2 [&'life3 dyn ToDbValue],
) -> Pin<Box<dyn Future<Output = Result<JsonRow>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn fetch_optional<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
params: &'life2 [&'life3 dyn ToDbValue],
) -> Pin<Box<dyn Future<Output = Result<Option<JsonRow>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn fetch_scalar_value<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
params: &'life2 [&'life3 dyn ToDbValue],
) -> Pin<Box<dyn Future<Output = Result<DbValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn begin_transaction<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn DatabaseTransaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_database_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn test_connection<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_raw<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
) -> Pin<Box<dyn Future<Output = Result<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_raw_with<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 dyn QuerySelector,
params: Vec<Value>,
) -> Pin<Box<dyn Future<Output = Result<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_postgres(&self) -> bool
Auto Trait Implementations§
impl Freeze for Database
impl !RefUnwindSafe for Database
impl Send for Database
impl Sync for Database
impl Unpin for Database
impl !UnwindSafe for Database
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