Trait query_connector::WriteOperations
source · pub trait WriteOperations {
// Required methods
fn create_record<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
args: WriteArgs,
selected_fields: FieldSelection,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn create_records<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
args: Vec<WriteArgs>,
skip_duplicates: bool,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_records<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
args: WriteArgs,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_record<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
args: WriteArgs,
selected_fields: Option<FieldSelection>,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<Option<SingleRecord>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn native_upsert_record<'life0, 'async_trait>(
&'life0 mut self,
upsert: NativeUpsert,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_records<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn delete_record<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
selected_fields: FieldSelection,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn m2m_connect<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
field: &'life1 RelationFieldRef,
parent_id: &'life2 SelectionResult,
child_ids: &'life3 [SelectionResult],
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn m2m_disconnect<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
field: &'life1 RelationFieldRef,
parent_id: &'life2 SelectionResult,
child_ids: &'life3 [SelectionResult],
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn execute_raw<'life0, 'async_trait>(
&'life0 mut self,
inputs: HashMap<String, PrismaValue>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn query_raw<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: Option<&'life1 Model>,
inputs: HashMap<String, PrismaValue>,
query_type: Option<String>
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Required Methods§
sourcefn create_record<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
args: WriteArgs,
selected_fields: FieldSelection,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_record<'life0, 'life1, 'async_trait>( &'life0 mut self, model: &'life1 Model, args: WriteArgs, selected_fields: FieldSelection, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a single record to the database.
sourcefn create_records<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
args: Vec<WriteArgs>,
skip_duplicates: bool,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_records<'life0, 'life1, 'async_trait>( &'life0 mut self, model: &'life1 Model, args: Vec<WriteArgs>, skip_duplicates: bool, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Inserts many records at once into the database.
sourcefn update_records<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
args: WriteArgs,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_records<'life0, 'life1, 'async_trait>( &'life0 mut self, model: &'life1 Model, record_filter: RecordFilter, args: WriteArgs, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Update records in the Model
with the given WriteArgs
filtered by the
Filter
.
sourcefn update_record<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
args: WriteArgs,
selected_fields: Option<FieldSelection>,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<Option<SingleRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_record<'life0, 'life1, 'async_trait>( &'life0 mut self, model: &'life1 Model, record_filter: RecordFilter, args: WriteArgs, selected_fields: Option<FieldSelection>, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<Option<SingleRecord>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Update record in the Model
with the given WriteArgs
filtered by the
Filter
.
sourcefn native_upsert_record<'life0, 'async_trait>(
&'life0 mut self,
upsert: NativeUpsert,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn native_upsert_record<'life0, 'async_trait>( &'life0 mut self, upsert: NativeUpsert, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Native upsert
Use the connectors native upsert to upsert the Model
sourcefn delete_records<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_records<'life0, 'life1, 'async_trait>( &'life0 mut self, model: &'life1 Model, record_filter: RecordFilter, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Delete records in the Model
with the given Filter
.
sourcefn delete_record<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: &'life1 Model,
record_filter: RecordFilter,
selected_fields: FieldSelection,
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_record<'life0, 'life1, 'async_trait>( &'life0 mut self, model: &'life1 Model, record_filter: RecordFilter, selected_fields: FieldSelection, trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<SingleRecord>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Delete single record in the Model
with the given Filter
.
Return selected fields of the deleted record, if the connector
supports it. If the connector does not support it, error is returned.
sourcefn m2m_connect<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
field: &'life1 RelationFieldRef,
parent_id: &'life2 SelectionResult,
child_ids: &'life3 [SelectionResult],
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn m2m_connect<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, field: &'life1 RelationFieldRef, parent_id: &'life2 SelectionResult, child_ids: &'life3 [SelectionResult], trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Connect the children to the parent (m2m relation only).
sourcefn m2m_disconnect<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
field: &'life1 RelationFieldRef,
parent_id: &'life2 SelectionResult,
child_ids: &'life3 [SelectionResult],
trace_id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn m2m_disconnect<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, field: &'life1 RelationFieldRef, parent_id: &'life2 SelectionResult, child_ids: &'life3 [SelectionResult], trace_id: Option<String> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Disconnect the children from the parent (m2m relation only).
sourcefn execute_raw<'life0, 'async_trait>(
&'life0 mut self,
inputs: HashMap<String, PrismaValue>
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_raw<'life0, 'async_trait>( &'life0 mut self, inputs: HashMap<String, PrismaValue> ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Execute the raw query in the database as-is. The parsing of the query arguments is deferred to the connectors.
Returns the number of rows affected.
sourcefn query_raw<'life0, 'life1, 'async_trait>(
&'life0 mut self,
model: Option<&'life1 Model>,
inputs: HashMap<String, PrismaValue>,
query_type: Option<String>
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_raw<'life0, 'life1, 'async_trait>( &'life0 mut self, model: Option<&'life1 Model>, inputs: HashMap<String, PrismaValue>, query_type: Option<String> ) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Execute the raw query in the database as-is. The parsing of the query arguments is deferred to the connectors.
Returns resulting rows as JSON.