Refactoring

This commit is contained in:
Billy Chan 2021-11-05 16:25:55 +08:00
parent 10f3de0f9d
commit 47e2486ead
No known key found for this signature in database
GPG Key ID: A2D690CAC7DF3CC7
4 changed files with 12 additions and 4 deletions

View File

@ -86,7 +86,9 @@ macro_rules! bind_oper_with_enum_casting {
V: Into<Value>, V: Into<Value>,
{ {
let val = Expr::val(v); let val = Expr::val(v);
let expr = match self.def().get_column_type().get_enum_name() { let col_def = self.def();
let col_type = col_def.get_column_type();
let expr = match col_type.get_enum_name() {
Some(enum_name) => val.as_enum(Alias::new(enum_name)), Some(enum_name) => val.as_enum(Alias::new(enum_name)),
None => val.into(), None => val.into(),
}; };

View File

@ -134,7 +134,9 @@ where
if av_has_val { if av_has_val {
columns.push(col); columns.push(col);
let val = Expr::val(av.into_value().unwrap()); let val = Expr::val(av.into_value().unwrap());
let expr = match col.def().get_column_type().get_enum_name() { let col_def = col.def();
let col_type = col_def.get_column_type();
let expr = match col_type.get_enum_name() {
Some(enum_name) => val.as_enum(Alias::new(enum_name)), Some(enum_name) => val.as_enum(Alias::new(enum_name)),
None => val.into(), None => val.into(),
}; };

View File

@ -124,7 +124,9 @@ where
E::Column::iter() E::Column::iter()
.map(|col| { .map(|col| {
let expr = Expr::tbl(table.clone(), col); let expr = Expr::tbl(table.clone(), col);
match col.def().get_column_type().get_enum_name() { let col_def = col.def();
let col_type = col_def.get_column_type();
match col_type.get_enum_name() {
Some(_) => expr.as_enum(text_type.clone()), Some(_) => expr.as_enum(text_type.clone()),
None => expr.into(), None => expr.into(),
} }

View File

@ -110,7 +110,9 @@ where
let av = self.model.get(col); let av = self.model.get(col);
if av.is_set() { if av.is_set() {
let val = Expr::val(av.into_value().unwrap()); let val = Expr::val(av.into_value().unwrap());
let expr = match col.def().get_column_type().get_enum_name() { let col_def = col.def();
let col_type = col_def.get_column_type();
let expr = match col_type.get_enum_name() {
Some(enum_name) => val.as_enum(Alias::new(enum_name)), Some(enum_name) => val.as_enum(Alias::new(enum_name)),
None => val.into(), None => val.into(),
}; };