Refactoring

This commit is contained in:
Billy Chan 2021-10-27 10:58:38 +08:00
parent ded28be2c0
commit fac528a369
No known key found for this signature in database
GPG Key ID: A2D690CAC7DF3CC7
3 changed files with 10 additions and 16 deletions

View File

@ -125,7 +125,6 @@ where
let av = am.take(col);
let av_has_val = av.is_set() || av.is_unchanged();
let col_def = col.def();
let enum_name = col_def.get_column_type().get_enum_name();
if columns_empty {
self.columns.push(av_has_val);
@ -135,10 +134,9 @@ where
if av_has_val {
columns.push(col);
let val = Expr::val(av.into_value().unwrap());
let expr = if let Some(enum_name) = enum_name {
val.as_enum(Alias::new(enum_name))
} else {
val.into()
let expr = match col_def.get_column_type().get_enum_name() {
Some(enum_name) => val.as_enum(Alias::new(enum_name)),
None => val.into(),
};
values.push(expr);
}

View File

@ -119,12 +119,10 @@ where
E::Column::iter()
.map(|col| {
let col_def = col.def();
let enum_name = col_def.get_column_type().get_enum_name();
let col_expr = Expr::tbl(table.clone(), col);
if enum_name.is_some() {
col_expr.as_enum(text_type.clone())
} else {
col_expr.into()
let expr = Expr::tbl(table.clone(), col);
match col_def.get_column_type().get_enum_name() {
Some(_) => expr.as_enum(text_type.clone()),
None => expr.into(),
}
})
.collect()

View File

@ -105,14 +105,12 @@ where
continue;
}
let col_def = col.def();
let enum_name = col_def.get_column_type().get_enum_name();
let av = self.model.get(col);
if av.is_set() {
let val = Expr::val(av.into_value().unwrap());
let expr = if let Some(enum_name) = enum_name {
val.as_enum(Alias::new(enum_name))
} else {
val.into()
let expr = match col_def.get_column_type().get_enum_name() {
Some(enum_name) => val.as_enum(Alias::new(enum_name)),
None => val.into(),
};
self.query.value_expr(col, expr);
}