This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 08c1b69a4e Remove unnecessary clone in datafusion_proto (#7921)
08c1b69a4e is described below
commit 08c1b69a4ec9e5ddeaefd2810c0624ce9d9a3b9b
Author: Chih Wang <[email protected]>
AuthorDate: Tue Oct 24 23:37:08 2023 +0800
Remove unnecessary clone in datafusion_proto (#7921)
---
datafusion/proto/src/logical_plan/mod.rs | 8 ++++----
datafusion/proto/src/physical_plan/mod.rs | 19 +++++++------------
2 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/datafusion/proto/src/logical_plan/mod.rs
b/datafusion/proto/src/logical_plan/mod.rs
index f0999871f5..df76fbb813 100644
--- a/datafusion/proto/src/logical_plan/mod.rs
+++ b/datafusion/proto/src/logical_plan/mod.rs
@@ -363,7 +363,7 @@ impl AsLogicalPlan for LogicalPlanNode {
.collect::<Result<Vec<_>, _>>()?;
let options = ListingOptions::new(file_format)
- .with_file_extension(scan.file_extension.clone())
+ .with_file_extension(&scan.file_extension)
.with_table_partition_cols(
scan.table_partition_cols
.iter()
@@ -458,7 +458,7 @@ impl AsLogicalPlan for LogicalPlanNode {
let input: LogicalPlan =
into_logical_plan!(repartition.input, ctx,
extension_codec)?;
use protobuf::repartition_node::PartitionMethod;
- let pb_partition_method =
repartition.partition_method.clone().ok_or_else(|| {
+ let pb_partition_method =
repartition.partition_method.as_ref().ok_or_else(|| {
DataFusionError::Internal(String::from(
"Protobuf deserialization error, RepartitionNode was
missing required field 'partition_method'",
))
@@ -473,10 +473,10 @@ impl AsLogicalPlan for LogicalPlanNode {
.iter()
.map(|expr| from_proto::parse_expr(expr, ctx))
.collect::<Result<Vec<_>, _>>()?,
- partition_count as usize,
+ *partition_count as usize,
),
PartitionMethod::RoundRobin(partition_count) => {
- Partitioning::RoundRobinBatch(partition_count as usize)
+ Partitioning::RoundRobinBatch(*partition_count as
usize)
}
};
diff --git a/datafusion/proto/src/physical_plan/mod.rs
b/datafusion/proto/src/physical_plan/mod.rs
index 08010a3151..ef870d8ac2 100644
--- a/datafusion/proto/src/physical_plan/mod.rs
+++ b/datafusion/proto/src/physical_plan/mod.rs
@@ -394,17 +394,12 @@ impl AsExecutionPlan for PhysicalPlanNode {
vec![]
};
- let input_schema = hash_agg
- .input_schema
- .as_ref()
- .ok_or_else(|| {
- DataFusionError::Internal(
- "input_schema in AggregateNode is
missing.".to_owned(),
- )
- })?
- .clone();
- let physical_schema: SchemaRef =
- SchemaRef::new((&input_schema).try_into()?);
+ let input_schema =
hash_agg.input_schema.as_ref().ok_or_else(|| {
+ DataFusionError::Internal(
+ "input_schema in AggregateNode is missing.".to_owned(),
+ )
+ })?;
+ let physical_schema: SchemaRef =
SchemaRef::new(input_schema.try_into()?);
let physical_filter_expr = hash_agg
.filter_expr
@@ -489,7 +484,7 @@ impl AsExecutionPlan for PhysicalPlanNode {
physical_filter_expr,
physical_order_by_expr,
input,
- Arc::new((&input_schema).try_into()?),
+ Arc::new(input_schema.try_into()?),
)?))
}
PhysicalPlanType::HashJoin(hashjoin) => {