pub struct ComStmtBulkExecuteRequestBuilder<'a> { /* private fields */ }Expand description
Sends array of parameters to the server for the bulk execution of a prepared statement with COM_STMT_BULK_EXECUTE command. This command is MariaDB only and may not be used for queries w/out parameters and with empty parameter sets.
Implementations§
Source§impl ComStmtBulkExecuteRequestBuilder<'_>
impl ComStmtBulkExecuteRequestBuilder<'_>
pub fn new( stmt_id: u32, max_allowed_packet: usize, ) -> ComStmtBulkExecuteRequestBuilder<'static>
Sourcepub fn with_named_params<'a>(
self,
named_params: Option<&'a [Vec<u8>]>,
) -> ComStmtBulkExecuteRequestBuilder<'a>
pub fn with_named_params<'a>( self, named_params: Option<&'a [Vec<u8>]>, ) -> ComStmtBulkExecuteRequestBuilder<'a>
Use named parameters in the same order they were given in the SQL statement.
Sourcepub fn with_results(self) -> Self
pub fn with_results(self) -> Self
Send [SEND_UNIT_RESULTS] flag to the server.
This feature is available since MariaDb v11.5.1 and requires
MARIADB_CLIENT_BULK_UNIT_RESULTS capability from the server.
Sourcepub fn add_params(
&mut self,
params: impl Into<Params>,
) -> Result<Option<Vec<Value>>, BulkExecuteRequestBuilderError>
pub fn add_params( &mut self, params: impl Into<Params>, ) -> Result<Option<Vec<Value>>, BulkExecuteRequestBuilderError>
Sourcepub fn add_row(
&mut self,
params: Vec<Value>,
) -> Result<Option<Vec<Value>>, BulkExecuteRequestBuilderError>
pub fn add_row( &mut self, params: Vec<Value>, ) -> Result<Option<Vec<Value>>, BulkExecuteRequestBuilderError>
Adds a new row of parameters to the bulk execute request.
Returns row back if adding it would exceed the max allowed packet size — practically
this means that you should call ComStmtBulkExecuteRequestBuilder::build to consume
all the rows added so far and then continue adding more rows to the next bulk request
starting from this returned row.
§Error
This function will emit an error if params’ arity differs from previous rows added to this builder or if row is larger than the max payload length (max allowed packet - 4)
pub fn has_rows(&self) -> bool
Sourcepub fn build(
&mut self,
) -> Result<ComStmtBulkExecuteRequest<'static>, BulkExecuteRequestError>
pub fn build( &mut self, ) -> Result<ComStmtBulkExecuteRequest<'static>, BulkExecuteRequestError>
Builds COM_STMT_BULK_EXECUTE consuming rows added so far.
After the call you can continue using ComStmtBulkExecuteRequestBuilder::add_row
to build next bulk request for this statement.
§Error
This will error if no rows was added to the builder.
Sourcepub fn build_params_iter(
&mut self,
input: impl IntoIterator<Item = impl Into<Params>>,
) -> impl Iterator<Item = Result<ComStmtBulkExecuteRequest<'static>, BulkExecuteRequestBuilderError>>
pub fn build_params_iter( &mut self, input: impl IntoIterator<Item = impl Into<Params>>, ) -> impl Iterator<Item = Result<ComStmtBulkExecuteRequest<'static>, BulkExecuteRequestBuilderError>>
Sourcepub fn build_iter(
&mut self,
input: impl IntoIterator<Item = Vec<Value>>,
) -> impl Iterator<Item = Result<ComStmtBulkExecuteRequest<'static>, BulkExecuteRequestBuilderError>>
pub fn build_iter( &mut self, input: impl IntoIterator<Item = Vec<Value>>, ) -> impl Iterator<Item = Result<ComStmtBulkExecuteRequest<'static>, BulkExecuteRequestBuilderError>>
It’s a convenient wrapper over ComStmtBulkExecuteRequestBuilder::add_row
and ComStmtBulkExecuteRequestBuilder::build that converts a rows iterator
to a bulk requests iterator.
§Error
This won’t error if the input iterator contains no rows — it’ll just emit no bulk requests but the iterator will emit an error if it encounters a row with different arity.
Trait Implementations§
Source§impl<'a> Clone for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> Clone for ComStmtBulkExecuteRequestBuilder<'a>
Source§fn clone(&self) -> ComStmtBulkExecuteRequestBuilder<'a>
fn clone(&self) -> ComStmtBulkExecuteRequestBuilder<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> Debug for ComStmtBulkExecuteRequestBuilder<'a>
Source§impl<'a> PartialEq for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> PartialEq for ComStmtBulkExecuteRequestBuilder<'a>
Source§fn eq(&self, other: &ComStmtBulkExecuteRequestBuilder<'a>) -> bool
fn eq(&self, other: &ComStmtBulkExecuteRequestBuilder<'a>) -> bool
self and other values to be equal, and is used by ==.impl<'a> StructuralPartialEq for ComStmtBulkExecuteRequestBuilder<'a>
Auto Trait Implementations§
impl<'a> Freeze for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> RefUnwindSafe for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> Send for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> Sync for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> Unpin for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> UnsafeUnpin for ComStmtBulkExecuteRequestBuilder<'a>
impl<'a> UnwindSafe for ComStmtBulkExecuteRequestBuilder<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
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> 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> 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.