pub struct Serializable;Expand description
Isolation::Serializable as a type, for the bound
Opens sets.
§Examples
use ruststream_sqlx_dialect::{
Dialect, Isolation, Opening, Opens, Statement, StatementError, TableSpec, level,
};
/// SQL Server, a database without a built-in dialect.
#[derive(Debug)]
pub struct Mssql;
impl Dialect for Mssql {
fn name(&self) -> &'static str {
"mssql"
}
fn begin(&self, opening: Opening) -> Result<Option<&'static str>, StatementError> {
match opening {
Opening::Default => Ok(Some(
"SET TRANSACTION ISOLATION LEVEL READ COMMITTED; BEGIN TRANSACTION",
)),
Opening::Isolation(Isolation::Serializable) => Ok(Some(
"SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; BEGIN TRANSACTION",
)),
other => Err(StatementError::UnsupportedOpening {
dialect: self.name(),
opening: other.name(),
}),
}
}
}
// A table with `isolation = serializable` mounts on `Mssql`.
impl Opens<level::Serializable> for Mssql {}Trait Implementations§
Source§impl Clone for Serializable
impl Clone for Serializable
impl Copy for Serializable
Source§impl Debug for Serializable
impl Debug for Serializable
Source§impl Default for Serializable
impl Default for Serializable
impl Eq for Serializable
Source§impl Hash for Serializable
impl Hash for Serializable
impl Opens<Serializable> for MySql
impl Opens<Serializable> for Postgres
Source§impl PartialEq for Serializable
impl PartialEq for Serializable
impl StructuralPartialEq for Serializable
Auto Trait Implementations§
impl Freeze for Serializable
impl RefUnwindSafe for Serializable
impl Send for Serializable
impl Sync for Serializable
impl Unpin for Serializable
impl UnsafeUnpin for Serializable
impl UnwindSafe for Serializable
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
Mutably borrows from an owned value. Read more