Skip to content

Commit 4661698

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 4661698

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

datafusion/proto/src/logical_plan/from_proto.rs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,11 @@ 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+
if pb.order_by.is_empty() {
590+
None
591+
} else {
592+
Some(parse_exprs(&pb.order_by, registry, codec)?)
593+
},
590594
None,
591595
)))
592596
}
@@ -676,16 +680,6 @@ pub fn from_proto_binary_op(op: &str) -> Result<Operator, Error> {
676680
}
677681
}
678682

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-
689683
fn parse_optional_expr(
690684
p: Option<&protobuf::LogicalExprNode>,
691685
registry: &dyn FunctionRegistry,

0 commit comments

Comments
 (0)