Skip to content

Commit e09f43d

Browse files
committed
Remove parse_vec_expr helper
Behavior of `parse_vec_expr` and `parse_exprs` is almost similar -- both take a collection of expressions to parse. The only difference is that `parse_vec_expr` returns `Option::None` when collections is empty, but this difference in behavior does not correspond to difference in function names. Since the function is used once only, remove it instead of coming up with a fancy name.
1 parent 945902d commit e09f43d

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

datafusion/proto/src/logical_plan/from_proto.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,10 @@ pub fn parse_expr(
586586
parse_exprs(&pb.args, registry, codec)?,
587587
pb.distinct,
588588
parse_optional_expr(pb.filter.as_deref(), registry, codec)?.map(Box::new),
589-
parse_vec_expr(&pb.order_by, registry, codec)?,
589+
match pb.order_by.len() {
590+
0 => None,
591+
_ => Some(parse_exprs(&pb.order_by, registry, codec)?),
592+
},
590593
None,
591594
)))
592595
}
@@ -676,16 +679,6 @@ pub fn from_proto_binary_op(op: &str) -> Result<Operator, Error> {
676679
}
677680
}
678681

679-
fn parse_vec_expr(
680-
p: &[protobuf::LogicalExprNode],
681-
registry: &dyn FunctionRegistry,
682-
codec: &dyn LogicalExtensionCodec,
683-
) -> Result<Option<Vec<Expr>>, Error> {
684-
let res = parse_exprs(p, registry, codec)?;
685-
// Convert empty vector to None.
686-
Ok((!res.is_empty()).then_some(res))
687-
}
688-
689682
fn parse_optional_expr(
690683
p: Option<&protobuf::LogicalExprNode>,
691684
registry: &dyn FunctionRegistry,

0 commit comments

Comments
 (0)