pub enum MysqlCompat {
Mysql,
Doris,
StarRocks,
}Expand description
MySQL 协议兼容模式。
Doris / StarRocks 使用 MySQL wire protocol,但 sqlx 建连时默认会发
SET sql_mode=(SELECT CONCAT(@@sql_mode,...));StarRocks 不支持该子查询
(sqlx issue #3205),必须在连接选项里关掉 pipes_as_concat 与
no_engine_substitution。这两个开关无法通过 URL 参数设置。
Variants§
Mysql
原生 MySQL / MariaDB / TiDB:保留 sqlx 的默认会话设置。
Doris
Apache Doris:关闭 sqlx 的 sql_mode 子查询,显式 utf8mb4 通用排序规则。
StarRocks
StarRocks:同 MysqlCompat::Doris。
Trait Implementations§
Source§impl Clone for MysqlCompat
impl Clone for MysqlCompat
impl Copy for MysqlCompat
Source§impl Debug for MysqlCompat
impl Debug for MysqlCompat
Source§impl Default for MysqlCompat
impl Default for MysqlCompat
Source§impl<'de> Deserialize<'de> for MysqlCompat
impl<'de> Deserialize<'de> for MysqlCompat
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MysqlCompat
Source§impl PartialEq for MysqlCompat
impl PartialEq for MysqlCompat
impl StructuralPartialEq for MysqlCompat
Auto Trait Implementations§
impl Forget for MysqlCompat
impl Freeze for MysqlCompat
impl RefUnwindSafe for MysqlCompat
impl Send for MysqlCompat
impl Sync for MysqlCompat
impl Unpin for MysqlCompat
impl UnsafeUnpin for MysqlCompat
impl UnwindSafe for MysqlCompat
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request