pub struct Conn(_);
Expand description
Mysql connection.
Implementations§
source§impl Conn
impl Conn
sourcepub fn server_version(&self) -> (u16, u16, u16)
pub fn server_version(&self) -> (u16, u16, u16)
Returns version number reported by the server.
sourcepub fn connection_id(&self) -> u32
pub fn connection_id(&self) -> u32
Returns connection identifier.
sourcepub fn affected_rows(&self) -> u64
pub fn affected_rows(&self) -> u64
Returns number of rows affected by the last query.
sourcepub fn last_insert_id(&self) -> u64
pub fn last_insert_id(&self) -> u64
Returns last insert id of the last query.
Returns zero if there was no last insert id.
sourcepub fn info_str(&self) -> Cow<'_, str>
pub fn info_str(&self) -> Cow<'_, str>
Info, reported by the server.
Will be empty if not defined.
pub fn session_state_changes(&self) -> Result<Vec<SessionStateInfo<'_>>>
sourcepub fn new<T, E>(opts: T) -> Result<Conn>where
Opts: TryFrom<T, Error = E>,
Error: From<E>,
pub fn new<T, E>(opts: T) -> Result<Conn>where
Opts: TryFrom<T, Error = E>,
Error: From<E>,
Creates new Conn
.
sourcepub fn ping(&mut self) -> bool
pub fn ping(&mut self) -> bool
Executes COM_PING
on Conn
. Return true
on success or false
on error.
sourcepub fn select_db(&mut self, schema: &str) -> bool
pub fn select_db(&mut self, schema: &str) -> bool
Executes COM_INIT_DB
on Conn
.
sourcepub fn start_transaction(&mut self, tx_opts: TxOpts) -> Result<Transaction<'_>>
pub fn start_transaction(&mut self, tx_opts: TxOpts) -> Result<Transaction<'_>>
Starts new transaction with provided options.
readonly
is only available since MySQL 5.6.5.
sourcepub fn set_local_infile_handler(&mut self, handler: Option<LocalInfileHandler>)
pub fn set_local_infile_handler(&mut self, handler: Option<LocalInfileHandler>)
Sets a callback to handle requests for local files. These are
caused by using LOAD DATA LOCAL INFILE
queries. The
callback is passed the filename, and a Write
able object
to receive the contents of that file.
Specifying None
will reset the handler to the one specified
in the Opts
for this connection.
pub fn no_backslash_escape(&self) -> bool
sourcepub fn get_binlog_stream(
self,
request: BinlogRequest<'_>
) -> Result<BinlogStream>
pub fn get_binlog_stream(
self,
request: BinlogRequest<'_>
) -> Result<BinlogStream>
Turns this connection into a binlog stream.
You can use SHOW BINARY LOGS
to get the current logfile and position from the master.
If the request’s filename
is empty, the server will send the binlog-stream
of the first known binlog.
Trait Implementations§
source§impl Queryable for Conn
impl Queryable for Conn
source§fn query_iter<T: AsRef<str>>(
&mut self,
query: T
) -> Result<QueryResult<'_, '_, '_, Text>>
fn query_iter<T: AsRef<str>>(
&mut self,
query: T
) -> Result<QueryResult<'_, '_, '_, Text>>
source§fn prep<T: AsRef<str>>(&mut self, query: T) -> Result<Statement>
fn prep<T: AsRef<str>>(&mut self, query: T) -> Result<Statement>
query
as a prepared statement.source§fn close(&mut self, stmt: Statement) -> Result<()>
fn close(&mut self, stmt: Statement) -> Result<()>
source§fn exec_iter<S, P>(
&mut self,
stmt: S,
params: P
) -> Result<QueryResult<'_, '_, '_, Binary>>where
S: AsStatement,
P: Into<Params>,
fn exec_iter<S, P>(
&mut self,
stmt: S,
params: P
) -> Result<QueryResult<'_, '_, '_, Binary>>where
S: AsStatement,
P: Into<Params>,
stmt
with the given params
.source§fn query<T, Q>(&mut self, query: Q) -> Result<Vec<T>>where
Q: AsRef<str>,
T: FromRow,
fn query<T, Q>(&mut self, query: Q) -> Result<Vec<T>>where
Q: AsRef<str>,
T: FromRow,
source§fn query_opt<T, Q>(
&mut self,
query: Q
) -> Result<Vec<StdResult<T, FromRowError>>>where
Q: AsRef<str>,
T: FromRow,
fn query_opt<T, Q>(
&mut self,
query: Q
) -> Result<Vec<StdResult<T, FromRowError>>>where
Q: AsRef<str>,
T: FromRow,
Queryable::query
but useful when you not sure what your schema is.source§fn query_first<T, Q>(&mut self, query: Q) -> Result<Option<T>>where
Q: AsRef<str>,
T: FromRow,
fn query_first<T, Q>(&mut self, query: Q) -> Result<Option<T>>where
Q: AsRef<str>,
T: FromRow,
source§fn query_first_opt<T, Q>(
&mut self,
query: Q
) -> Result<Option<StdResult<T, FromRowError>>>where
Q: AsRef<str>,
T: FromRow,
fn query_first_opt<T, Q>(
&mut self,
query: Q
) -> Result<Option<StdResult<T, FromRowError>>>where
Q: AsRef<str>,
T: FromRow,
Queryable::query_first
but useful when you not sure what your schema is.source§fn query_map<T, F, Q, U>(&mut self, query: Q, f: F) -> Result<Vec<U>>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(T) -> U,
fn query_map<T, F, Q, U>(&mut self, query: Q, f: F) -> Result<Vec<U>>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(T) -> U,
source§fn query_map_opt<T, F, Q, U>(&mut self, query: Q, f: F) -> Result<Vec<U>>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(StdResult<T, FromRowError>) -> U,
fn query_map_opt<T, F, Q, U>(&mut self, query: Q, f: F) -> Result<Vec<U>>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(StdResult<T, FromRowError>) -> U,
Queryable::query_map
but useful when you not sure what your schema is.source§fn query_fold<T, F, Q, U>(&mut self, query: Q, init: U, f: F) -> Result<U>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(U, T) -> U,
fn query_fold<T, F, Q, U>(&mut self, query: Q, init: U, f: F) -> Result<U>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(U, T) -> U,
source§fn query_fold_opt<T, F, Q, U>(&mut self, query: Q, init: U, f: F) -> Result<U>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(U, StdResult<T, FromRowError>) -> U,
fn query_fold_opt<T, F, Q, U>(&mut self, query: Q, init: U, f: F) -> Result<U>where
Q: AsRef<str>,
T: FromRow,
F: FnMut(U, StdResult<T, FromRowError>) -> U,
Queryable::query_fold
but useful when you not sure what your schema is.source§fn query_drop<Q>(&mut self, query: Q) -> Result<()>where
Q: AsRef<str>,
fn query_drop<Q>(&mut self, query: Q) -> Result<()>where
Q: AsRef<str>,
source§fn exec_batch<S, P, I>(&mut self, stmt: S, params: I) -> Result<()>where
Self: Sized,
S: AsStatement,
P: Into<Params>,
I: IntoIterator<Item = P>,
fn exec_batch<S, P, I>(&mut self, stmt: S, params: I) -> Result<()>where
Self: Sized,
S: AsStatement,
P: Into<Params>,
I: IntoIterator<Item = P>,
source§fn exec<T, S, P>(&mut self, stmt: S, params: P) -> Result<Vec<T>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
fn exec<T, S, P>(&mut self, stmt: S, params: P) -> Result<Vec<T>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
stmt
and collects the first result set.source§fn exec_opt<T, S, P>(
&mut self,
stmt: S,
params: P
) -> Result<Vec<StdResult<T, FromRowError>>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
fn exec_opt<T, S, P>(
&mut self,
stmt: S,
params: P
) -> Result<Vec<StdResult<T, FromRowError>>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
Queryable::exec
but useful when you not sure what your schema is.source§fn exec_first<T, S, P>(&mut self, stmt: S, params: P) -> Result<Option<T>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
fn exec_first<T, S, P>(&mut self, stmt: S, params: P) -> Result<Option<T>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
stmt
and returns the first row of the first result set.source§fn exec_first_opt<T, S, P>(
&mut self,
stmt: S,
params: P
) -> Result<Option<StdResult<T, FromRowError>>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
fn exec_first_opt<T, S, P>(
&mut self,
stmt: S,
params: P
) -> Result<Option<StdResult<T, FromRowError>>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
Queryable::exec_first
but useful when you not sure what your schema is.source§fn exec_map<T, S, P, F, U>(&mut self, stmt: S, params: P, f: F) -> Result<Vec<U>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(T) -> U,
fn exec_map<T, S, P, F, U>(&mut self, stmt: S, params: P, f: F) -> Result<Vec<U>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(T) -> U,
stmt
and maps each row of the first result set.source§fn exec_map_opt<T, S, P, F, U>(
&mut self,
stmt: S,
params: P,
f: F
) -> Result<Vec<U>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(StdResult<T, FromRowError>) -> U,
fn exec_map_opt<T, S, P, F, U>(
&mut self,
stmt: S,
params: P,
f: F
) -> Result<Vec<U>>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(StdResult<T, FromRowError>) -> U,
Queryable::exec_map
but useful when you not sure what your schema is.source§fn exec_fold<T, S, P, U, F>(
&mut self,
stmt: S,
params: P,
init: U,
f: F
) -> Result<U>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(U, T) -> U,
fn exec_fold<T, S, P, U, F>(
&mut self,
stmt: S,
params: P,
init: U,
f: F
) -> Result<U>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(U, T) -> U,
stmt
and folds the first result set to a signel value.source§fn exec_fold_opt<T, S, P, U, F>(
&mut self,
stmt: S,
params: P,
init: U,
f: F
) -> Result<U>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(U, StdResult<T, FromRowError>) -> U,
fn exec_fold_opt<T, S, P, U, F>(
&mut self,
stmt: S,
params: P,
init: U,
f: F
) -> Result<U>where
S: AsStatement,
P: Into<Params>,
T: FromRow,
F: FnMut(U, StdResult<T, FromRowError>) -> U,
Queryable::exec_fold
but useful when you not sure what your schema is.Auto Trait Implementations§
impl RefUnwindSafe for Conn
impl Send for Conn
impl Sync for Conn
impl Unpin for Conn
impl UnwindSafe for Conn
Blanket Implementations§
§impl<T> Conv for T
impl<T> Conv for T
§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
§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.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T, U, I> LiftInto<U, I> for Twhere
U: LiftFrom<T, I>,
impl<T, U, I> LiftInto<U, I> for Twhere
U: LiftFrom<T, I>,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<Source> Sculptor<HNil, HNil> for Source
impl<Source> Sculptor<HNil, HNil> for Source
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Deref::Target
of a value. Read more§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.§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. Read more§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds. Read more§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds. Read more§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more