Modify chorus_macros::SqlxBitflagDerive to use sqlx::Any over sqlx::MySql (broken!)
This commit is contained in:
parent
99d8165e4a
commit
db3f4cbdb0
|
@ -156,7 +156,6 @@ pub fn composite_derive(input: TokenStream) -> TokenStream {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#[proc_macro_derive(SqlxBitFlags)]
|
#[proc_macro_derive(SqlxBitFlags)]
|
||||||
pub fn sqlx_bitflag_derive(input: TokenStream) -> TokenStream {
|
pub fn sqlx_bitflag_derive(input: TokenStream) -> TokenStream {
|
||||||
let ast: syn::DeriveInput = syn::parse(input).unwrap();
|
let ast: syn::DeriveInput = syn::parse(input).unwrap();
|
||||||
|
@ -165,22 +164,22 @@ pub fn sqlx_bitflag_derive(input: TokenStream) -> TokenStream {
|
||||||
|
|
||||||
quote!{
|
quote!{
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl sqlx::Type<sqlx::MySql> for #name {
|
impl sqlx::Type<sqlx::Any> for #name {
|
||||||
fn type_info() -> sqlx::mysql::MySqlTypeInfo {
|
fn type_info() -> sqlx::any::AnyTypeInfo {
|
||||||
u64::type_info()
|
u64::type_info()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'q> sqlx::Encode<'q, sqlx::MySql> for #name {
|
impl<'q> sqlx::Encode<'q, sqlx::Any> for #name {
|
||||||
fn encode_by_ref(&self, buf: &mut <sqlx::MySql as sqlx::database::HasArguments<'q>>::ArgumentBuffer) -> sqlx::encode::IsNull {
|
fn encode_by_ref(&self, buf: &mut <sqlx::Any as sqlx::Database>::ArgumentBuffer<'q>) -> Result<sqlx::encode::IsNull, sqlx::error::BoxDynError> {
|
||||||
u64::encode_by_ref(&self.bits(), buf)
|
u64::encode_by_ref(&self.bits(), buf)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'q> sqlx::Decode<'q, sqlx::MySql> for #name {
|
impl<'q> sqlx::Decode<'q, sqlx::Any> for #name {
|
||||||
fn decode(value: <sqlx::MySql as sqlx::database::HasValueRef<'q>>::ValueRef) -> Result<Self, sqlx::error::BoxDynError> {
|
fn decode(value: <sqlx::Any as sqlx::Database>::ValueRef<'q>) -> Result<Self, sqlx::error::BoxDynError> {
|
||||||
u64::decode(value).map(|d| #name::from_bits(d).unwrap())
|
u64::decode(value).map(|d| #name::from_bits(d).unwrap())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue