pub trait Transaction: Send + Sync {
Show 18 methods
fn begin<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn execute_query<'life0, 'async_trait, RequestCtx>(
&'life0 mut self,
query: String,
params: HashMap<String, Value>
) -> Pin<Box<dyn Future<Output = Result<QueryResult, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
Self: 'async_trait;
fn create_node<'life0, 'life1, 'life2, 'life3, 'async_trait, RequestCtx>(
&'life0 mut self,
node_var: &'life1 NodeQueryVar,
props: HashMap<String, Value>,
options: Options,
info: &'life2 Info,
sg: &'life3 mut SuffixGenerator
) -> Pin<Box<dyn Future<Output = Result<Node<RequestCtx>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
fn create_rels<'life0, 'life1, 'life2, 'async_trait, RequestCtx>(
&'life0 mut self,
src_query_fragment: QueryFragment,
dst_query_fragment: QueryFragment,
rel_var: &'life1 RelQueryVar,
id_opt: Option<Value>,
props: HashMap<String, Value>,
options: Options,
sg: &'life2 mut SuffixGenerator
) -> Pin<Box<dyn Future<Output = Result<Vec<Rel<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn node_read_by_ids_fragment<RequestCtx: RequestContext>(
&mut self,
node_var: &NodeQueryVar,
nodes: &[Node<RequestCtx>]
) -> Result<QueryFragment, Error>;
fn node_read_fragment(
&mut self,
rel_query_fragments: Vec<QueryFragment>,
node_var: &NodeQueryVar,
props: HashMap<String, Comparison>,
sg: &mut SuffixGenerator
) -> Result<QueryFragment, Error>;
fn load_nodes<'life0, 'life1, 'life2, 'async_trait, RequestCtx>(
&'life0 mut self,
keys: &'life1 [NodeLoaderKey],
info: &'life2 Info
) -> Pin<Box<dyn Future<Output = Result<Vec<Node<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn read_nodes<'life0, 'life1, 'life2, 'async_trait, RequestCtx>(
&'life0 mut self,
node_var: &'life1 NodeQueryVar,
query_fragment: QueryFragment,
options: Options,
info: &'life2 Info
) -> Pin<Box<dyn Future<Output = Result<Vec<Node<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn rel_read_by_ids_fragment<RequestCtx: RequestContext>(
&mut self,
rel_var: &RelQueryVar,
rels: &[Rel<RequestCtx>]
) -> Result<QueryFragment, Error>;
fn rel_read_fragment(
&mut self,
src_fragment_opt: Option<QueryFragment>,
dst_fragment_opt: Option<QueryFragment>,
rel_var: &RelQueryVar,
props: HashMap<String, Comparison>,
sg: &mut SuffixGenerator
) -> Result<QueryFragment, Error>;
fn load_rels<'life0, 'life1, 'async_trait, RequestCtx>(
&'life0 mut self,
keys: &'life1 [RelLoaderKey]
) -> Pin<Box<dyn Future<Output = Result<Vec<Rel<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn read_rels<'life0, 'life1, 'async_trait, RequestCtx>(
&'life0 mut self,
query_fragment: QueryFragment,
rel_var: &'life1 RelQueryVar,
options: Options
) -> Pin<Box<dyn Future<Output = Result<Vec<Rel<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn update_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait, RequestCtx>(
&'life0 mut self,
query_fragment: QueryFragment,
node_var: &'life1 NodeQueryVar,
props: HashMap<String, Value>,
options: Options,
info: &'life2 Info,
sg: &'life3 mut SuffixGenerator
) -> Pin<Box<dyn Future<Output = Result<Vec<Node<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
fn update_rels<'life0, 'life1, 'life2, 'async_trait, RequestCtx>(
&'life0 mut self,
query_fragment: QueryFragment,
rel_var: &'life1 RelQueryVar,
props: HashMap<String, Value>,
options: Options,
sg: &'life2 mut SuffixGenerator
) -> Pin<Box<dyn Future<Output = Result<Vec<Rel<RequestCtx>>, Error>> + Send + 'async_trait>>
where
RequestCtx: 'async_trait + RequestContext,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn delete_nodes<'life0, 'life1, 'async_trait>(
&'life0 mut self,
query_fragment: QueryFragment,
node_var: &'life1 NodeQueryVar,
options: Options
) -> Pin<Box<dyn Future<Output = Result<i32, Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn delete_rels<'life0, 'life1, 'async_trait>(
&'life0 mut self,
query_fragment: QueryFragment,
rel_var: &'life1 RelQueryVar,
options: Options
) -> Pin<Box<dyn Future<Output = Result<i32, Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn commit<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn rollback<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}