Merge pull request #495 from tasn/patch-1

Fix FromQueryResult when Result is redefined
This commit is contained in:
Chris Tsang 2022-02-05 20:49:27 +08:00 committed by GitHub
commit 646990ed6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 6 deletions

View File

@ -211,7 +211,7 @@ impl ActiveEnum {
.to_owned() .to_owned()
} }
fn try_from_value(v: &Self::Value) -> Result<Self, sea_orm::DbErr> { fn try_from_value(v: &Self::Value) -> std::result::Result<Self, sea_orm::DbErr> {
match #val { match #val {
#( #variant_values => Ok(Self::#variant_idents), )* #( #variant_values => Ok(Self::#variant_idents), )*
_ => Err(sea_orm::DbErr::Type(format!( _ => Err(sea_orm::DbErr::Type(format!(
@ -237,7 +237,7 @@ impl ActiveEnum {
#[automatically_derived] #[automatically_derived]
impl sea_orm::TryGetable for #ident { impl sea_orm::TryGetable for #ident {
fn try_get(res: &sea_orm::QueryResult, pre: &str, col: &str) -> Result<Self, sea_orm::TryGetError> { fn try_get(res: &sea_orm::QueryResult, pre: &str, col: &str) -> std::result::Result<Self, sea_orm::TryGetError> {
let value = <<Self as sea_orm::ActiveEnum>::Value as sea_orm::TryGetable>::try_get(res, pre, col)?; let value = <<Self as sea_orm::ActiveEnum>::Value as sea_orm::TryGetable>::try_get(res, pre, col)?;
<Self as sea_orm::ActiveEnum>::try_from_value(&value).map_err(sea_orm::TryGetError::DbErr) <Self as sea_orm::ActiveEnum>::try_from_value(&value).map_err(sea_orm::TryGetError::DbErr)
} }
@ -245,7 +245,7 @@ impl ActiveEnum {
#[automatically_derived] #[automatically_derived]
impl sea_orm::sea_query::ValueType for #ident { impl sea_orm::sea_query::ValueType for #ident {
fn try_from(v: sea_orm::sea_query::Value) -> Result<Self, sea_orm::sea_query::ValueTypeErr> { fn try_from(v: sea_orm::sea_query::Value) -> std::result::Result<Self, sea_orm::sea_query::ValueTypeErr> {
let value = <<Self as sea_orm::ActiveEnum>::Value as sea_orm::sea_query::ValueType>::try_from(v)?; let value = <<Self as sea_orm::ActiveEnum>::Value as sea_orm::sea_query::ValueType>::try_from(v)?;
<Self as sea_orm::ActiveEnum>::try_from_value(&value).map_err(|_| sea_orm::sea_query::ValueTypeErr) <Self as sea_orm::ActiveEnum>::try_from_value(&value).map_err(|_| sea_orm::sea_query::ValueTypeErr)
} }

View File

@ -96,7 +96,7 @@ pub fn impl_col_from_str(ident: &Ident, data: &Data) -> syn::Result<TokenStream>
impl std::str::FromStr for #ident { impl std::str::FromStr for #ident {
type Err = sea_orm::ColumnFromStrErr; type Err = sea_orm::ColumnFromStrErr;
fn from_str(s: &str) -> Result<Self, Self::Err> { fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
match s { match s {
#(#columns),*, #(#columns),*,
_ => Err(sea_orm::ColumnFromStrErr(format!("Failed to parse '{}' as `{}`", s, stringify!(#ident)))), _ => Err(sea_orm::ColumnFromStrErr(format!("Failed to parse '{}' as `{}`", s, stringify!(#ident)))),

View File

@ -32,7 +32,7 @@ pub fn expand_derive_from_query_result(ident: Ident, data: Data) -> syn::Result<
Ok(quote!( Ok(quote!(
#[automatically_derived] #[automatically_derived]
impl sea_orm::FromQueryResult for #ident { impl sea_orm::FromQueryResult for #ident {
fn from_query_result(row: &sea_orm::QueryResult, pre: &str) -> Result<Self, sea_orm::DbErr> { fn from_query_result(row: &sea_orm::QueryResult, pre: &str) -> std::result::Result<Self, sea_orm::DbErr> {
Ok(Self { Ok(Self {
#(#field: row.try_get(pre, #name)?),* #(#field: row.try_get(pre, #name)?),*
}) })

View File

@ -125,7 +125,7 @@ impl DeriveModel {
quote!( quote!(
#[automatically_derived] #[automatically_derived]
impl sea_orm::FromQueryResult for #ident { impl sea_orm::FromQueryResult for #ident {
fn from_query_result(row: &sea_orm::QueryResult, pre: &str) -> Result<Self, sea_orm::DbErr> { fn from_query_result(row: &sea_orm::QueryResult, pre: &str) -> std::result::Result<Self, sea_orm::DbErr> {
Ok(Self { Ok(Self {
#(#field_idents: #field_values),* #(#field_idents: #field_values),*
}) })