pub trait QueryExecutor<T, E> {
type ValueType;
fn load<'life0, 'async_trait>(
&'life0 self,
builder: QueryBuilder<Self::ValueType>
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, E>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn first<'life0, 'async_trait>(
&'life0 self,
builder: QueryBuilder<Self::ValueType>
) -> Pin<Box<dyn Future<Output = Result<T, E>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn save<'life0, 'async_trait>(
&'life0 self,
builder: QueryBuilder<Self::ValueType>,
data: T
) -> Pin<Box<dyn Future<Output = Result<(), E>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn save_all<'life0, 'async_trait>(
&'life0 self,
builder: QueryBuilder<Self::ValueType>,
data: Vec<T>
) -> Pin<Box<dyn Future<Output = Result<(), E>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}