From 0104bbad842ca4e7aae482122a1ea620cfea72bc Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Fri, 23 May 2025 09:37:27 +0800 Subject: [PATCH 1/9] Remove conflicting implementation of 'Expr' --- src/query/select.rs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/query/select.rs b/src/query/select.rs index 66f590d351..ddc616cf55 100644 --- a/src/query/select.rs +++ b/src/query/select.rs @@ -125,12 +125,6 @@ where } } -impl ColumnAsExpr for Expr { - fn into_column_as_expr(self) -> SimpleExpr { - self.into_simple_expr() - } -} - impl ColumnAsExpr for SimpleExpr { fn into_column_as_expr(self) -> SimpleExpr { self.into_simple_expr() @@ -146,12 +140,6 @@ where } } -impl IntoSimpleExpr for Expr { - fn into_simple_expr(self) -> SimpleExpr { - self.into() - } -} - impl IntoSimpleExpr for SimpleExpr { fn into_simple_expr(self) -> SimpleExpr { self From 53a346056f3f4a70fd942ece37504a6ff8e5ea70 Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Sat, 24 May 2025 14:54:56 +0800 Subject: [PATCH 2/9] Update Cargo.toml --- Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 02153ac62c..c5492dd06d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -109,3 +109,5 @@ seaography = ["sea-orm-macros/seaography"] # This allows us to develop using a local version of sea-query # [patch.crates-io] # sea-query = { path = "../sea-query" } +[patch.crates-io] +sea-query = { git = "https://github.com/Huliiiiii/sea-query.git", branch = "expr-1" } From a5d1a9a50543dee6214d910913b4f1cf8411363a Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Sat, 24 May 2025 15:12:54 +0800 Subject: [PATCH 3/9] Import missing `ExprTrait` - Call `cast_as` in fully qualified syntax in `DeriveEntityModel` --- Cargo.toml | 2 +- sea-orm-macros/src/derives/entity_model.rs | 4 ++-- src/entity/active_enum.rs | 2 +- src/entity/column.rs | 14 ++++++++++---- src/entity/relation.rs | 4 ++-- src/executor/cursor.rs | 4 ++-- src/query/helper.rs | 12 ++++++------ src/query/join.rs | 2 +- src/query/loader.rs | 4 +++- src/tests_cfg/entity_linked.rs | 2 +- tests/active_enum_tests.rs | 17 +++++++++-------- tests/cursor_tests.rs | 1 + tests/dyn_table_name_tests.rs | 2 +- tests/enum_primary_key_tests.rs | 9 +++++---- tests/partial_model_tests.rs | 1 + 15 files changed, 46 insertions(+), 34 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index c5492dd06d..987a03bdd0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -110,4 +110,4 @@ seaography = ["sea-orm-macros/seaography"] # [patch.crates-io] # sea-query = { path = "../sea-query" } [patch.crates-io] -sea-query = { git = "https://github.com/Huliiiiii/sea-query.git", branch = "expr-1" } +sea-query = { git = "https://github.com/Huliiiiii/sea-query.git", branch = "expr-2" } diff --git a/sea-orm-macros/src/derives/entity_model.rs b/sea-orm-macros/src/derives/entity_model.rs index 24bc3ca5af..bc6ee8e476 100644 --- a/sea-orm-macros/src/derives/entity_model.rs +++ b/sea-orm-macros/src/derives/entity_model.rs @@ -254,12 +254,12 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res if let Some(select_as) = select_as { columns_select_as.push(quote! { - Self::#field_name => expr.cast_as(#select_as) + Self::#field_name => ::sea_query::ExprTrait::cast_as(expr, #select_as) }); } if let Some(save_as) = save_as { columns_save_as.push(quote! { - Self::#field_name => val.cast_as(#save_as) + Self::#field_name => ::sea_query::ExprTrait::cast_as(val, #save_as) }); } diff --git a/src/entity/active_enum.rs b/src/entity/active_enum.rs index 2222aff6de..051fa7f16a 100644 --- a/src/entity/active_enum.rs +++ b/src/entity/active_enum.rs @@ -1,5 +1,5 @@ use crate::{ColIdx, ColumnDef, DbErr, Iterable, QueryResult, TryFromU64, TryGetError, TryGetable}; -use sea_query::{DynIden, Expr, Nullable, SimpleExpr, Value, ValueType}; +use sea_query::{DynIden, Expr, ExprTrait, Nullable, SimpleExpr, Value, ValueType}; /// A Rust representation of enum defined in database. /// diff --git a/src/entity/column.rs b/src/entity/column.rs index 4645ba75b7..ef3f394c61 100644 --- a/src/entity/column.rs +++ b/src/entity/column.rs @@ -1,7 +1,7 @@ use crate::{DbBackend, EntityName, Iden, IdenStatic, IntoSimpleExpr, Iterable}; use sea_query::{ - Alias, BinOper, DynIden, Expr, IntoIden, IntoLikeExpr, SeaRc, SelectStatement, SimpleExpr, - Value, + Alias, BinOper, DynIden, Expr, ExprTrait, IntoIden, IntoLikeExpr, SeaRc, SelectStatement, + SimpleExpr, Value, }; use std::str::FromStr; @@ -460,7 +460,7 @@ where *boxed } - let expr = expr.into(); + let expr = expr; match expr { SimpleExpr::Value(Value::Array(ArrayType::Json, Some(json_vec))) => { // flatten Array(Vec) into Json @@ -481,7 +481,7 @@ where } _ => match col_type.get_enum_name() { Some(enum_name) => f(expr, SeaRc::clone(enum_name), col_type), - None => expr.into(), + None => expr, }, } } @@ -1027,6 +1027,8 @@ mod tests { use crate::{ActiveModelTrait, ActiveValue, Update}; mod hello_expanded { + use sea_query::ExprTrait; + use crate as sea_orm; use crate::entity::prelude::*; use crate::sea_query::{Expr, SimpleExpr}; @@ -1158,6 +1160,8 @@ mod tests { use crate::{ActiveModelTrait, ActiveValue, Update}; mod hello_expanded { + use sea_query::ExprTrait; + use crate as sea_orm; use crate::entity::prelude::*; use crate::sea_query::{Expr, SimpleExpr}; @@ -1289,6 +1293,8 @@ mod tests { use crate::{ActiveModelTrait, ActiveValue, Update}; mod hello_expanded { + use sea_query::ExprTrait; + use crate as sea_orm; use crate::entity::prelude::*; use crate::sea_query::{Expr, SimpleExpr}; diff --git a/src/entity/relation.rs b/src/entity/relation.rs index 14160d0890..1719b882d1 100644 --- a/src/entity/relation.rs +++ b/src/entity/relation.rs @@ -290,7 +290,7 @@ impl RelationDef { /// /// ``` /// use sea_orm::{entity::*, query::*, DbBackend, tests_cfg::{cake, cake_filling}}; - /// use sea_query::{Expr, IntoCondition}; + /// use sea_query::{Expr, ExprTrait, IntoCondition}; /// /// assert_eq!( /// cake::Entity::find() @@ -328,7 +328,7 @@ impl RelationDef { /// /// ``` /// use sea_orm::{entity::*, query::*, DbBackend, tests_cfg::{cake, cake_filling}}; - /// use sea_query::{Expr, IntoCondition, ConditionType}; + /// use sea_query::{Expr, ExprTrait, IntoCondition, ConditionType}; /// /// assert_eq!( /// cake::Entity::find() diff --git a/src/executor/cursor.rs b/src/executor/cursor.rs index 0c2c10e927..3748d5af64 100644 --- a/src/executor/cursor.rs +++ b/src/executor/cursor.rs @@ -4,8 +4,8 @@ use crate::{ SelectThree, SelectThreeModel, SelectTwo, SelectTwoModel, SelectorTrait, }; use sea_query::{ - Condition, DynIden, Expr, IntoValueTuple, Order, SeaRc, SelectStatement, SimpleExpr, Value, - ValueTuple, + Condition, DynIden, Expr, ExprTrait, IntoValueTuple, Order, SeaRc, SelectStatement, SimpleExpr, + Value, ValueTuple, }; use std::marker::PhantomData; use strum::IntoEnumIterator as Iterable; diff --git a/src/query/helper.rs b/src/query/helper.rs index 0bba5461e2..7c38554fc5 100644 --- a/src/query/helper.rs +++ b/src/query/helper.rs @@ -3,8 +3,8 @@ use crate::{ ModelTrait, PrimaryKeyToColumn, RelationDef, }; use sea_query::{ - Alias, Expr, Iden, IntoCondition, IntoIden, LockBehavior, LockType, NullOrdering, SeaRc, - SelectExpr, SelectStatement, SimpleExpr, TableRef, + Alias, Expr, ExprTrait, Iden, IntoCondition, IntoIden, LockBehavior, LockType, NullOrdering, + SeaRc, SelectExpr, SelectStatement, SimpleExpr, TableRef, }; pub use sea_query::{Condition, ConditionalStatement, DynIden, JoinType, Order, OrderedStatement}; @@ -284,7 +284,7 @@ pub trait QuerySelect: Sized { /// Add an AND HAVING expression /// ``` - /// use sea_orm::{sea_query::{Alias, Expr}, entity::*, query::*, tests_cfg::cake, DbBackend}; + /// use sea_orm::{sea_query::{Alias, Expr, ExprTrait}, entity::*, query::*, tests_cfg::cake, DbBackend}; /// /// assert_eq!( /// cake::Entity::find() @@ -731,7 +731,7 @@ pub trait QueryFilter: Sized { /// Like above, but using the `ANY` operator. Postgres only. /// /// ``` - /// use sea_orm::sea_query::{extension::postgres::PgFunc, Expr}; + /// use sea_orm::sea_query::{extension::postgres::PgFunc, Expr, ExprTrait}; /// use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend}; /// /// assert_eq!( @@ -790,7 +790,7 @@ pub trait QueryFilter: Sized { /// /// A slightly more complex example. /// ``` - /// use sea_orm::{entity::*, query::*, tests_cfg::cake, sea_query::Expr, DbBackend}; + /// use sea_orm::{entity::*, query::*, tests_cfg::cake, sea_query::{Expr, ExprTrait}, DbBackend}; /// /// assert_eq!( /// cake::Entity::find() @@ -815,7 +815,7 @@ pub trait QueryFilter: Sized { /// ``` /// Use a sea_query expression /// ``` - /// use sea_orm::{entity::*, query::*, sea_query::Expr, tests_cfg::fruit, DbBackend}; + /// use sea_orm::{entity::*, query::*, sea_query::{Expr, ExprTrait}, tests_cfg::fruit, DbBackend}; /// /// assert_eq!( /// fruit::Entity::find() diff --git a/src/query/join.rs b/src/query/join.rs index ebccef162a..75adbbe5c8 100644 --- a/src/query/join.rs +++ b/src/query/join.rs @@ -189,7 +189,7 @@ mod tests { RelationTrait, }; use pretty_assertions::assert_eq; - use sea_query::{Alias, ConditionType, Expr, IntoCondition, JoinType}; + use sea_query::{Alias, ConditionType, Expr, ExprTrait, IntoCondition, JoinType}; #[test] fn join_1() { diff --git a/src/query/loader.rs b/src/query/loader.rs index d6375db047..2d8ab1121d 100644 --- a/src/query/loader.rs +++ b/src/query/loader.rs @@ -3,7 +3,9 @@ use crate::{ Related, RelationType, Select, }; use async_trait::async_trait; -use sea_query::{ColumnRef, DynIden, Expr, IntoColumnRef, SimpleExpr, TableRef, ValueTuple}; +use sea_query::{ + ColumnRef, DynIden, Expr, ExprTrait, IntoColumnRef, SimpleExpr, TableRef, ValueTuple, +}; use std::{ collections::{HashMap, HashSet}, str::FromStr, diff --git a/src/tests_cfg/entity_linked.rs b/src/tests_cfg/entity_linked.rs index 5100b3e2ba..ebe2cf8a39 100644 --- a/src/tests_cfg/entity_linked.rs +++ b/src/tests_cfg/entity_linked.rs @@ -1,5 +1,5 @@ use crate::entity::prelude::*; -use sea_query::{Expr, IntoCondition}; +use sea_query::{Expr, ExprTrait, IntoCondition}; #[derive(Debug)] pub struct CakeToFilling; diff --git a/tests/active_enum_tests.rs b/tests/active_enum_tests.rs index d94db6b995..914296a63d 100644 --- a/tests/active_enum_tests.rs +++ b/tests/active_enum_tests.rs @@ -13,6 +13,7 @@ use sea_orm::{ sea_query::{BinOper, Expr}, ActiveEnum as ActiveEnumTrait, DatabaseConnection, FromQueryResult, QuerySelect, }; +use sea_query::ExprTrait; #[sea_orm_macros::test] async fn main() -> Result<(), DbErr> { @@ -141,10 +142,10 @@ pub async fn insert_active_enum(db: &DatabaseConnection) -> Result<(), DbErr> { assert_eq!( model, Entity::find() - .filter( - Expr::col(Column::Tea) - .binary(BinOper::In, Expr::tuple([Tea::EverydayTea.as_enum()])) - ) + .filter(Expr::col(Column::Tea).binary( + BinOper::In, + Expr::tuple([ActiveEnumTrait::as_enum(&Tea::EverydayTea)]) + )) .one(db) .await? .unwrap() @@ -173,10 +174,10 @@ pub async fn insert_active_enum(db: &DatabaseConnection) -> Result<(), DbErr> { model, Entity::find() .filter(Column::Tea.is_not_null()) - .filter( - Expr::col(Column::Tea) - .binary(BinOper::NotIn, Expr::tuple([Tea::BreakfastTea.as_enum()])) - ) + .filter(Expr::col(Column::Tea).binary( + BinOper::NotIn, + Expr::tuple([ActiveEnumTrait::as_enum(&Tea::BreakfastTea)]) + )) .one(db) .await? .unwrap() diff --git a/tests/cursor_tests.rs b/tests/cursor_tests.rs index 91e81dd52d..0fa6c424a8 100644 --- a/tests/cursor_tests.rs +++ b/tests/cursor_tests.rs @@ -5,6 +5,7 @@ pub mod common; pub use common::{features::*, setup::*, TestContext}; use pretty_assertions::assert_eq; use sea_orm::{entity::prelude::*, DerivePartialModel, FromQueryResult, QuerySelect, Set}; +use sea_query::ExprTrait; use serde_json::json; #[sea_orm_macros::test] diff --git a/tests/dyn_table_name_tests.rs b/tests/dyn_table_name_tests.rs index 7b4518403e..493b1b3639 100644 --- a/tests/dyn_table_name_tests.rs +++ b/tests/dyn_table_name_tests.rs @@ -8,7 +8,7 @@ use sea_orm::{ entity::prelude::*, DatabaseConnection, Delete, IntoActiveModel, Iterable, QueryTrait, Set, Update, }; -use sea_query::{Expr, Query}; +use sea_query::{Expr, ExprTrait, Query}; #[sea_orm_macros::test] async fn main() -> Result<(), DbErr> { diff --git a/tests/enum_primary_key_tests.rs b/tests/enum_primary_key_tests.rs index d958ecf54b..a4408d8012 100644 --- a/tests/enum_primary_key_tests.rs +++ b/tests/enum_primary_key_tests.rs @@ -10,6 +10,7 @@ use sea_orm::{ sea_query::{BinOper, Expr}, ActiveEnum as ActiveEnumTrait, DatabaseConnection, }; +use sea_query::ExprTrait; #[sea_orm_macros::test] async fn main() -> Result<(), DbErr> { @@ -102,10 +103,10 @@ pub async fn insert_teas(db: &DatabaseConnection) -> Result<(), DbErr> { assert_eq!( model, Entity::find() - .filter( - Expr::col(Column::Id) - .binary(BinOper::In, Expr::tuple([Tea::EverydayTea.as_enum()])) - ) + .filter(Expr::col(Column::Id).binary( + BinOper::In, + Expr::tuple([ActiveEnumTrait::as_enum(&Tea::EverydayTea)]) + )) .one(db) .await? .unwrap() diff --git a/tests/partial_model_tests.rs b/tests/partial_model_tests.rs index 339274736d..386f7c7037 100644 --- a/tests/partial_model_tests.rs +++ b/tests/partial_model_tests.rs @@ -5,6 +5,7 @@ use sea_orm::{ prelude::*, sea_query::Alias, DerivePartialModel, FromQueryResult, IntoActiveModel, JoinType, NotSet, QueryOrder, QuerySelect, Set, }; +use sea_query::ExprTrait; use crate::common::TestContext; use common::bakery_chain::*; From 501e0132340d2fe39ac6b5703f36bfd6bc88a592 Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Sat, 24 May 2025 18:00:27 +0800 Subject: [PATCH 4/9] Remove duplicate bindings --- src/entity/column.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/entity/column.rs b/src/entity/column.rs index ef3f394c61..b9e6dc0372 100644 --- a/src/entity/column.rs +++ b/src/entity/column.rs @@ -460,7 +460,6 @@ where *boxed } - let expr = expr; match expr { SimpleExpr::Value(Value::Array(ArrayType::Json, Some(json_vec))) => { // flatten Array(Vec) into Json From 431221cb20e222b3ea002e771457d99abb74d5d8 Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Sat, 24 May 2025 18:04:50 +0800 Subject: [PATCH 5/9] Fix doc test --- sea-orm-macros/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sea-orm-macros/src/lib.rs b/sea-orm-macros/src/lib.rs index 6ef7ce5b98..9e40aec376 100644 --- a/sea-orm-macros/src/lib.rs +++ b/sea-orm-macros/src/lib.rs @@ -750,6 +750,7 @@ pub fn derive_from_json_query_result(input: TokenStream) -> TokenStream { /// /// ```rust /// use sea_orm::{entity::prelude::*, DerivePartialModel, FromQueryResult}; +/// use sea_orm::sea_query::ExprTrait; /// /// #[derive(Clone, Debug, PartialEq, DeriveEntityModel)] /// #[sea_orm(table_name = "posts")] @@ -777,7 +778,7 @@ pub fn derive_from_json_query_result(input: TokenStream) -> TokenStream { /// /// If all fields in the partial model is `from_expr`, the specifying the `entity` can be skipped. /// ``` -/// use sea_orm::{entity::prelude::*, sea_query::Expr, DerivePartialModel, FromQueryResult}; +/// use sea_orm::{entity::prelude::*, sea_query::{Expr, ExprTrait}, DerivePartialModel, FromQueryResult}; /// /// #[derive(Debug, FromQueryResult, DerivePartialModel)] /// struct SelectResult { From b41959d4db863e0e903b810135364a7d8ab05966 Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Fri, 30 May 2025 18:38:38 +0800 Subject: [PATCH 6/9] Fmt --- sea-orm-macros/src/lib.rs | 10 +++++++--- src/query/helper.rs | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/sea-orm-macros/src/lib.rs b/sea-orm-macros/src/lib.rs index 8afd3e591b..898de2491f 100644 --- a/sea-orm-macros/src/lib.rs +++ b/sea-orm-macros/src/lib.rs @@ -2,7 +2,7 @@ extern crate proc_macro; use proc_macro::TokenStream; -use syn::{parse_macro_input, DeriveInput, Error}; +use syn::{DeriveInput, Error, parse_macro_input}; #[cfg(feature = "derive")] mod derives; @@ -749,8 +749,8 @@ pub fn derive_from_json_query_result(input: TokenStream) -> TokenStream { /// For more complete examples, please refer to https://github.com/SeaQL/sea-orm/blob/master/tests/partial_model_tests.rs /// /// ```rust -/// use sea_orm::{entity::prelude::*, DerivePartialModel, FromQueryResult}; /// use sea_orm::sea_query::ExprTrait; +/// use sea_orm::{DerivePartialModel, FromQueryResult, entity::prelude::*}; /// /// #[derive(Clone, Debug, PartialEq, DeriveEntityModel)] /// #[sea_orm(table_name = "posts")] @@ -778,7 +778,11 @@ pub fn derive_from_json_query_result(input: TokenStream) -> TokenStream { /// /// If all fields in the partial model is `from_expr`, the specifying the `entity` can be skipped. /// ``` -/// use sea_orm::{entity::prelude::*, sea_query::{Expr, ExprTrait}, DerivePartialModel, FromQueryResult}; +/// use sea_orm::{ +/// DerivePartialModel, FromQueryResult, +/// entity::prelude::*, +/// sea_query::{Expr, ExprTrait}, +/// }; /// /// #[derive(Debug, FromQueryResult, DerivePartialModel)] /// struct SelectResult { diff --git a/src/query/helper.rs b/src/query/helper.rs index 1b9d7807f7..62487c6add 100644 --- a/src/query/helper.rs +++ b/src/query/helper.rs @@ -731,8 +731,8 @@ pub trait QueryFilter: Sized { /// Like above, but using the `ANY` operator. Postgres only. /// /// ``` - /// use sea_orm::sea_query::{extension::postgres::PgFunc, Expr, ExprTrait}; - /// use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend}; + /// use sea_orm::sea_query::{Expr, ExprTrait, extension::postgres::PgFunc}; + /// use sea_orm::{DbBackend, entity::*, query::*, tests_cfg::cake}; /// /// assert_eq!( /// cake::Entity::find() From 9fd6ac985f825f6ed57c5c4bbd1abefe7d3c57de Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Fri, 30 May 2025 18:39:44 +0800 Subject: [PATCH 7/9] Patch --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 253eaefa71..880f0e41a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -109,4 +109,4 @@ seaography = ["sea-orm-macros/seaography"] # This allows us to develop using a local version of sea-query [patch.crates-io] # sea-query = { path = "../sea-query" } -sea-query = { git = "https://github.com/SeaQL/sea-query.git", branch = "master" } +sea-query = { git = "https://github.com/Huliiiiii/sea-query.git", branch = "expr-2" } From f6f0dff0f52cba7a2d3b16652fd8881e1c6110b7 Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Fri, 30 May 2025 19:26:17 +0800 Subject: [PATCH 8/9] Clippy --- src/entity/column.rs | 2 +- src/query/select.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/entity/column.rs b/src/entity/column.rs index ae79eebda8..ae9c1056bc 100644 --- a/src/entity/column.rs +++ b/src/entity/column.rs @@ -265,7 +265,7 @@ pub trait ColumnTrait: IdenStatic + Iterable + FromStr { /// Construct a [`SimpleExpr::Column`] wrapped in [`Expr`]. fn into_expr(self) -> Expr { - Expr::expr(self.into_simple_expr()) + Expr::new(self.into_simple_expr()) } /// Construct a returning [`Expr`]. diff --git a/src/query/select.rs b/src/query/select.rs index ddc616cf55..dc518ce8e1 100644 --- a/src/query/select.rs +++ b/src/query/select.rs @@ -121,7 +121,7 @@ where C: ColumnTrait, { fn into_column_as_expr(self) -> SimpleExpr { - self.select_as(Expr::expr(self.as_column_ref().into_column_ref())) + self.select_as(Expr::new(self.as_column_ref().into_column_ref())) } } From 289424dc5ac0afb6f3d9cad1e3160de9252f6106 Mon Sep 17 00:00:00 2001 From: Huliiiii <134658521+Huliiiiii@users.noreply.github.com> Date: Mon, 9 Jun 2025 12:16:50 +0800 Subject: [PATCH 9/9] Update Cargo.toml --- Cargo.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 880f0e41a3..801ae71975 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ tracing = { version = "0.1", default-features = false, features = ["attributes", rust_decimal = { version = "1", default-features = false, optional = true } bigdecimal = { version = "0.4", default-features = false, optional = true } sea-orm-macros = { version = "~1.2.0-rc.1", path = "sea-orm-macros", default-features = false, features = ["strum"] } -sea-query = { version = "1.0.0-rc.1", default-features = false, features = ["thread-safe", "hashable-value", "backend-mysql", "backend-postgres", "backend-sqlite"] } +sea-query = { version = "1.0.0-rc.2", default-features = false, features = ["thread-safe", "hashable-value", "backend-mysql", "backend-postgres", "backend-sqlite"] } sea-query-binder = { version = "0.8.0-rc.1", default-features = false, optional = true } strum = { version = "0.26", default-features = false } serde = { version = "1.0", default-features = false } @@ -109,4 +109,3 @@ seaography = ["sea-orm-macros/seaography"] # This allows us to develop using a local version of sea-query [patch.crates-io] # sea-query = { path = "../sea-query" } -sea-query = { git = "https://github.com/Huliiiiii/sea-query.git", branch = "expr-2" }