Skip to content

Commit 6d64802

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 bd21fec commit 6d64802

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)