feat: full e2e pipeline #141
reviewdog [clippy] report
reported by reviewdog 🐶
Findings (12)
optd-core/src/cascades/mod.rs|145 col 28| warning: using clone
on type ScalarGroupId
which implements the Copy
trait
--> optd-core/src/cascades/mod.rs:145:28
|
145 | predicate: scan.predicate.clone(),
| ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the clone
call: scan.predicate
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: #[warn(clippy::clone_on_copy)]
on by default
optd-core/src/cascades/mod.rs|153 col 24| warning: using clone
on type RelationalGroupId
which implements the Copy
trait
--> optd-core/src/cascades/mod.rs:153:24
|
153 | child: filter.child.clone(),
| ^^^^^^^^^^^^^^^^^^^^ help: try removing the clone
call: filter.child
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
optd-core/src/cascades/mod.rs|154 col 28| warning: using clone
on type ScalarGroupId
which implements the Copy
trait
--> optd-core/src/cascades/mod.rs:154:28
|
154 | predicate: filter.predicate.clone(),
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the clone
call: filter.predicate
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
optd-datafusion/src/converter/from_optd.rs|60 col 38| warning: unnecessary use of to_vec
--> optd-datafusion/src/converter/from_optd.rs:60:38
|
60 | let physical_exprs = project
| ^
61 | | .fields
62 | | .to_vec()
63 | | .into_iter()
| |^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned
= note: #[warn(clippy::unnecessary_to_owned)]
on by default
help: use
|
60 ~ let physical_exprs = project
61 + .fields.iter().cloned()
|
optd-datafusion/src/converter/from_optd.rs|130 col 10| warning: parameter is only used in recursion
--> optd-datafusion/src/converter/from_optd.rs:130:10
|
130 | &self,
| ^^^^
|
note: parameter used here
--> optd-datafusion/src/converter/from_optd.rs:152:28
|
152 | let left = self.conv_optd_to_df_scalar(&and.left, context);
| ^^^^
153 | let right = self.conv_optd_to_df_scalar(&and.right, context);
| ^^^^
...
158 | let left = self.conv_optd_to_df_scalar(&add.left, context);
| ^^^^
159 | let right = self.conv_optd_to_df_scalar(&add.right, context);
| ^^^^
...
164 | let left = self.conv_optd_to_df_scalar(&equal.left, context);
| ^^^^
165 | let right = self.conv_optd_to_df_scalar(&equal.right, context);
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion
= note: #[warn(clippy::only_used_in_recursion)]
on by default
optd-datafusion/src/converter/into_optd.rs|42 col 48| warning: using clone
on type Option<bool>
which implements the Copy
trait
--> optd-datafusion/src/converter/into_optd.rs:42:48
|
42 | value: OptdValue::Bool(val.clone().unwrap()),
| ^^^^^^^^^^^ help: try dereferencing it: (*val)
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: #[warn(clippy::clone_on_copy)]
on by default
optd-datafusion/src/converter/into_optd.rs|46 col 77| warning: using clone
on type Option<i64>
which implements the Copy
trait
--> optd-datafusion/src/converter/into_optd.rs:46:77
|
46 | ScalarOperator::Constant(Constant::new(OptdValue::Int64(val.clone().unwrap())))
| ^^^^^^^^^^^ help: try dereferencing it: (*val)
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
optd-datafusion/src/converter/into_optd.rs|28 col 10| warning: parameter is only used in recursion
--> optd-datafusion/src/converter/into_optd.rs:28:10
|
28 | &self,
| ^^^^
|
note: parameter used here
--> optd-datafusion/src/converter/into_optd.rs:54:28
|
54 | let left = self.conv_df_to_optd_scalar(&binary_expr.left, context, col_offset)?;
| ^^^^
55 | let right = self.conv_df_to_optd_scalar(&binary_expr.right, context, col_offset)?;
| ^^^^
...
64 | return self.conv_df_to_optd_scalar(&cast.expr, context, col_offset);
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion
optd-datafusion/src/converter/into_optd.rs|97 col 17| warning: returning the result of a let
binding from a block
--> optd-datafusion/src/converter/into_optd.rs:105:17
|
97 | / let filter = LogicalOperator::Filter(Filter {
98 | | child: self.conv_df_to_optd_relational(&df_filter.input)?,
99 | | predicate: self.conv_df_to_optd_scalar(
100 | | &df_filter.predicate,
... |
103 | | )?,
104 | | });
| |- unnecessary let
binding
105 | filter
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
= note: #[warn(clippy::let_and_return)]
on by default
help: return the expression directly
|
97 ~
98 ~ LogicalOperator::Filter(Filter {
99 + child: self.conv_df_to_optd_relational(&df_filter.input)?,
100 + predicate: self.conv_df_to_optd_scalar(
101 + &df_filter.predicate,
102 + df_filter.input.schema(),
103 + 0,
104 + )?,
105 + })
|
optd-datafusion/src/converter/into_optd.rs|125 col 17| warning: returning the result of a let
binding from a block
--> optd-datafusion/src/converter/into_optd.rs:131:17
|
125 | / let join = LogicalOperator::Join(Join::new(
126 | | &join.join_type.to_string(),
127 | | self.conv_df_to_optd_relational(&join.left)?,
128 | | self.conv_df_to_optd_relational(&join.right)?,
129 | | Self::flatten_scalar_as_conjunction(join_cond, 0),
130 | | ));
| |- unnecessary let
binding
131 | join
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
125 ~
126 ~ LogicalOperator::Join(Join::new(
127 + &join.join_type.to_string(),
128 + self.conv_df_to_optd_relational(&join.left)?,
129 + self.conv_df_to_optd_relational(&join.right)?,
130 + Self::flatten_scalar_as_conjunction(join_cond, 0),
131 + ))
|
optd-datafusion/src/converter/into_optd.rs|162 col 17| warning: returning the result of a let
binding from a block
--> optd-datafusion/src/converter/into_optd.rs:167:17
|
162 | / let project = LogicalOperator::Project(Project {
163 | | child: input,
164 | | fields: exprs,
165 | | });
| |- unnecessary let
binding
166 |
167 | project
| ^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
162 ~
163 |
164 ~ LogicalOperator::Project(Project {
165 + child: input,
166 + fields: exprs,
167 + })
|
optd-datafusion/src/planner.rs|80 col 5| warning: empty line after doc comment
--> optd-datafusion/src/planner.rs:52:5
|
52 | / /// * PhysicalPlan
- The optimized physical plan.
... |
79 | |
| |^
80 | / pub async fn mock_optimize(
81 | | &self,
82 | | logical_plan: &LogicalPlan,
83 | | ) -> anyhow::Result<Arc> {
| |__________________- the comment documents this method
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
= note: #[warn(clippy::empty_line_after_doc_comments)]
on by default
= help: if the empty line is unintentional remove it
help: if the doc comment should not document mock_optimize
comment it out
|
31 ~ // /// A mock optimization function for testing purposes.
32 ~ // ///
33 ~ // /// This function takes a logical plan, and for each node in the logical plan, it will
34 ~ // /// recursively traverse the node and its children and replace the node with a physical
35 ~ // /// operator. The physical operator is chosen based on the type of the logical operator.
36 ~ // /// For example, if the logical operator is a scan, the physical operator will be a
37 ~ // /// TableScan, if the logical operator is a filter, the physical operator will be a
38 ~ // /// Filter, and so on.
39 ~ // ///
40 ~ // /// The physical operators are chosen in a way that they mirror the structure of the
41 ~ // /// logical plan, but they are not actually optimized in any way. This is useful for
42 ~ // /// testing purposes, as it allows us to test the structure of the physical plan without
43 ~ // /// having to worry about the actual optimization process.
44 ~ // ///
45 ~ // /// The function returns a PhysicalPlan, which is a struct that contains the root node of
46 ~ // /// the physical plan.
47 ~ // ///
48 ~ // /// # Arguments
49 ~ // /// * logical_plan
- The logical plan to optimize.
50 ~ // ///
51 ~ // /// # Returns
52 ~ // /// * PhysicalPlan
- The optimized physical plan.
|
Filtered Findings (0)
Annotations
Check warning on line 145 in optd-core/src/cascades/mod.rs
github-actions / clippy
[clippy] optd-core/src/cascades/mod.rs#L145
warning: using `clone` on type `ScalarGroupId` which implements the `Copy` trait
--> optd-core/src/cascades/mod.rs:145:28
|
145 | predicate: scan.predicate.clone(),
| ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `scan.predicate`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
Raw output
optd-core/src/cascades/mod.rs:145:28:w:warning: using `clone` on type `ScalarGroupId` which implements the `Copy` trait
--> optd-core/src/cascades/mod.rs:145:28
|
145 | predicate: scan.predicate.clone(),
| ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `scan.predicate`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
__END__
Check warning on line 153 in optd-core/src/cascades/mod.rs
github-actions / clippy
[clippy] optd-core/src/cascades/mod.rs#L153
warning: using `clone` on type `RelationalGroupId` which implements the `Copy` trait
--> optd-core/src/cascades/mod.rs:153:24
|
153 | child: filter.child.clone(),
| ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `filter.child`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Raw output
optd-core/src/cascades/mod.rs:153:24:w:warning: using `clone` on type `RelationalGroupId` which implements the `Copy` trait
--> optd-core/src/cascades/mod.rs:153:24
|
153 | child: filter.child.clone(),
| ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `filter.child`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
__END__
Check warning on line 154 in optd-core/src/cascades/mod.rs
github-actions / clippy
[clippy] optd-core/src/cascades/mod.rs#L154
warning: using `clone` on type `ScalarGroupId` which implements the `Copy` trait
--> optd-core/src/cascades/mod.rs:154:28
|
154 | predicate: filter.predicate.clone(),
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `filter.predicate`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Raw output
optd-core/src/cascades/mod.rs:154:28:w:warning: using `clone` on type `ScalarGroupId` which implements the `Copy` trait
--> optd-core/src/cascades/mod.rs:154:28
|
154 | predicate: filter.predicate.clone(),
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `filter.predicate`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
__END__
Check warning on line 60 in optd-datafusion/src/converter/from_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/from_optd.rs#L60
warning: unnecessary use of `to_vec`
--> optd-datafusion/src/converter/from_optd.rs:60:38
|
60 | let physical_exprs = project
| ______________________________________^
61 | | .fields
62 | | .to_vec()
63 | | .into_iter()
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned
= note: `#[warn(clippy::unnecessary_to_owned)]` on by default
help: use
|
60 ~ let physical_exprs = project
61 + .fields.iter().cloned()
|
Raw output
optd-datafusion/src/converter/from_optd.rs:60:38:w:warning: unnecessary use of `to_vec`
--> optd-datafusion/src/converter/from_optd.rs:60:38
|
60 | let physical_exprs = project
| ______________________________________^
61 | | .fields
62 | | .to_vec()
63 | | .into_iter()
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned
= note: `#[warn(clippy::unnecessary_to_owned)]` on by default
help: use
|
60 ~ let physical_exprs = project
61 + .fields.iter().cloned()
|
__END__
Check warning on line 130 in optd-datafusion/src/converter/from_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/from_optd.rs#L130
warning: parameter is only used in recursion
--> optd-datafusion/src/converter/from_optd.rs:130:10
|
130 | &self,
| ^^^^
|
note: parameter used here
--> optd-datafusion/src/converter/from_optd.rs:152:28
|
152 | let left = self.conv_optd_to_df_scalar(&and.left, context);
| ^^^^
153 | let right = self.conv_optd_to_df_scalar(&and.right, context);
| ^^^^
...
158 | let left = self.conv_optd_to_df_scalar(&add.left, context);
| ^^^^
159 | let right = self.conv_optd_to_df_scalar(&add.right, context);
| ^^^^
...
164 | let left = self.conv_optd_to_df_scalar(&equal.left, context);
| ^^^^
165 | let right = self.conv_optd_to_df_scalar(&equal.right, context);
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion
= note: `#[warn(clippy::only_used_in_recursion)]` on by default
Raw output
optd-datafusion/src/converter/from_optd.rs:130:10:w:warning: parameter is only used in recursion
--> optd-datafusion/src/converter/from_optd.rs:130:10
|
130 | &self,
| ^^^^
|
note: parameter used here
--> optd-datafusion/src/converter/from_optd.rs:152:28
|
152 | let left = self.conv_optd_to_df_scalar(&and.left, context);
| ^^^^
153 | let right = self.conv_optd_to_df_scalar(&and.right, context);
| ^^^^
...
158 | let left = self.conv_optd_to_df_scalar(&add.left, context);
| ^^^^
159 | let right = self.conv_optd_to_df_scalar(&add.right, context);
| ^^^^
...
164 | let left = self.conv_optd_to_df_scalar(&equal.left, context);
| ^^^^
165 | let right = self.conv_optd_to_df_scalar(&equal.right, context);
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion
= note: `#[warn(clippy::only_used_in_recursion)]` on by default
__END__
Check warning on line 42 in optd-datafusion/src/converter/into_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/into_optd.rs#L42
warning: using `clone` on type `Option<bool>` which implements the `Copy` trait
--> optd-datafusion/src/converter/into_optd.rs:42:48
|
42 | value: OptdValue::Bool(val.clone().unwrap()),
| ^^^^^^^^^^^ help: try dereferencing it: `(*val)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
Raw output
optd-datafusion/src/converter/into_optd.rs:42:48:w:warning: using `clone` on type `Option<bool>` which implements the `Copy` trait
--> optd-datafusion/src/converter/into_optd.rs:42:48
|
42 | value: OptdValue::Bool(val.clone().unwrap()),
| ^^^^^^^^^^^ help: try dereferencing it: `(*val)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
__END__
Check warning on line 46 in optd-datafusion/src/converter/into_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/into_optd.rs#L46
warning: using `clone` on type `Option<i64>` which implements the `Copy` trait
--> optd-datafusion/src/converter/into_optd.rs:46:77
|
46 | ScalarOperator::Constant(Constant::new(OptdValue::Int64(val.clone().unwrap())))
| ^^^^^^^^^^^ help: try dereferencing it: `(*val)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Raw output
optd-datafusion/src/converter/into_optd.rs:46:77:w:warning: using `clone` on type `Option<i64>` which implements the `Copy` trait
--> optd-datafusion/src/converter/into_optd.rs:46:77
|
46 | ScalarOperator::Constant(Constant::new(OptdValue::Int64(val.clone().unwrap())))
| ^^^^^^^^^^^ help: try dereferencing it: `(*val)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
__END__
Check warning on line 28 in optd-datafusion/src/converter/into_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/into_optd.rs#L28
warning: parameter is only used in recursion
--> optd-datafusion/src/converter/into_optd.rs:28:10
|
28 | &self,
| ^^^^
|
note: parameter used here
--> optd-datafusion/src/converter/into_optd.rs:54:28
|
54 | let left = self.conv_df_to_optd_scalar(&binary_expr.left, context, col_offset)?;
| ^^^^
55 | let right = self.conv_df_to_optd_scalar(&binary_expr.right, context, col_offset)?;
| ^^^^
...
64 | return self.conv_df_to_optd_scalar(&cast.expr, context, col_offset);
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion
Raw output
optd-datafusion/src/converter/into_optd.rs:28:10:w:warning: parameter is only used in recursion
--> optd-datafusion/src/converter/into_optd.rs:28:10
|
28 | &self,
| ^^^^
|
note: parameter used here
--> optd-datafusion/src/converter/into_optd.rs:54:28
|
54 | let left = self.conv_df_to_optd_scalar(&binary_expr.left, context, col_offset)?;
| ^^^^
55 | let right = self.conv_df_to_optd_scalar(&binary_expr.right, context, col_offset)?;
| ^^^^
...
64 | return self.conv_df_to_optd_scalar(&cast.expr, context, col_offset);
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion
__END__
Check warning on line 97 in optd-datafusion/src/converter/into_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/into_optd.rs#L97
warning: returning the result of a `let` binding from a block
--> optd-datafusion/src/converter/into_optd.rs:105:17
|
97 | / let filter = LogicalOperator::Filter(Filter {
98 | | child: self.conv_df_to_optd_relational(&df_filter.input)?,
99 | | predicate: self.conv_df_to_optd_scalar(
100 | | &df_filter.predicate,
... |
103 | | )?,
104 | | });
| |___________________- unnecessary `let` binding
105 | filter
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
= note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
|
97 ~
98 ~ LogicalOperator::Filter(Filter {
99 + child: self.conv_df_to_optd_relational(&df_filter.input)?,
100 + predicate: self.conv_df_to_optd_scalar(
101 + &df_filter.predicate,
102 + df_filter.input.schema(),
103 + 0,
104 + )?,
105 + })
|
Raw output
optd-datafusion/src/converter/into_optd.rs:97:17:w:warning: returning the result of a `let` binding from a block
--> optd-datafusion/src/converter/into_optd.rs:105:17
|
97 | / let filter = LogicalOperator::Filter(Filter {
98 | | child: self.conv_df_to_optd_relational(&df_filter.input)?,
99 | | predicate: self.conv_df_to_optd_scalar(
100 | | &df_filter.predicate,
... |
103 | | )?,
104 | | });
| |___________________- unnecessary `let` binding
105 | filter
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
= note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
|
97 ~
98 ~ LogicalOperator::Filter(Filter {
99 + child: self.conv_df_to_optd_relational(&df_filter.input)?,
100 + predicate: self.conv_df_to_optd_scalar(
101 + &df_filter.predicate,
102 + df_filter.input.schema(),
103 + 0,
104 + )?,
105 + })
|
__END__
Check warning on line 125 in optd-datafusion/src/converter/into_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/into_optd.rs#L125
warning: returning the result of a `let` binding from a block
--> optd-datafusion/src/converter/into_optd.rs:131:17
|
125 | / let join = LogicalOperator::Join(Join::new(
126 | | &join.join_type.to_string(),
127 | | self.conv_df_to_optd_relational(&join.left)?,
128 | | self.conv_df_to_optd_relational(&join.right)?,
129 | | Self::flatten_scalar_as_conjunction(join_cond, 0),
130 | | ));
| |___________________- unnecessary `let` binding
131 | join
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
125 ~
126 ~ LogicalOperator::Join(Join::new(
127 + &join.join_type.to_string(),
128 + self.conv_df_to_optd_relational(&join.left)?,
129 + self.conv_df_to_optd_relational(&join.right)?,
130 + Self::flatten_scalar_as_conjunction(join_cond, 0),
131 + ))
|
Raw output
optd-datafusion/src/converter/into_optd.rs:125:17:w:warning: returning the result of a `let` binding from a block
--> optd-datafusion/src/converter/into_optd.rs:131:17
|
125 | / let join = LogicalOperator::Join(Join::new(
126 | | &join.join_type.to_string(),
127 | | self.conv_df_to_optd_relational(&join.left)?,
128 | | self.conv_df_to_optd_relational(&join.right)?,
129 | | Self::flatten_scalar_as_conjunction(join_cond, 0),
130 | | ));
| |___________________- unnecessary `let` binding
131 | join
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
125 ~
126 ~ LogicalOperator::Join(Join::new(
127 + &join.join_type.to_string(),
128 + self.conv_df_to_optd_relational(&join.left)?,
129 + self.conv_df_to_optd_relational(&join.right)?,
130 + Self::flatten_scalar_as_conjunction(join_cond, 0),
131 + ))
|
__END__
Check warning on line 162 in optd-datafusion/src/converter/into_optd.rs
github-actions / clippy
[clippy] optd-datafusion/src/converter/into_optd.rs#L162
warning: returning the result of a `let` binding from a block
--> optd-datafusion/src/converter/into_optd.rs:167:17
|
162 | / let project = LogicalOperator::Project(Project {
163 | | child: input,
164 | | fields: exprs,
165 | | });
| |___________________- unnecessary `let` binding
166 |
167 | project
| ^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
162 ~
163 |
164 ~ LogicalOperator::Project(Project {
165 + child: input,
166 + fields: exprs,
167 + })
|
Raw output
optd-datafusion/src/converter/into_optd.rs:162:17:w:warning: returning the result of a `let` binding from a block
--> optd-datafusion/src/converter/into_optd.rs:167:17
|
162 | / let project = LogicalOperator::Project(Project {
163 | | child: input,
164 | | fields: exprs,
165 | | });
| |___________________- unnecessary `let` binding
166 |
167 | project
| ^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
162 ~
163 |
164 ~ LogicalOperator::Project(Project {
165 + child: input,
166 + fields: exprs,
167 + })
|
__END__
Check warning on line 80 in optd-datafusion/src/planner.rs
github-actions / clippy
[clippy] optd-datafusion/src/planner.rs#L80
warning: empty line after doc comment
--> optd-datafusion/src/planner.rs:52:5
|
52 | / /// * `PhysicalPlan` - The optimized physical plan.
... |
79 | |
| |_^
80 | / pub async fn mock_optimize(
81 | | &self,
82 | | logical_plan: &LogicalPlan,
83 | | ) -> anyhow::Result<Arc<PhysicalPlan>> {
| |__________________________________________- the comment documents this method
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
= note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default
= help: if the empty line is unintentional remove it
help: if the doc comment should not document `mock_optimize` comment it out
|
31 ~ // /// A mock optimization function for testing purposes.
32 ~ // ///
33 ~ // /// This function takes a logical plan, and for each node in the logical plan, it will
34 ~ // /// recursively traverse the node and its children and replace the node with a physical
35 ~ // /// operator. The physical operator is chosen based on the type of the logical operator.
36 ~ // /// For example, if the logical operator is a scan, the physical operator will be a
37 ~ // /// TableScan, if the logical operator is a filter, the physical operator will be a
38 ~ // /// Filter, and so on.
39 ~ // ///
40 ~ // /// The physical operators are chosen in a way that they mirror the structure of the
41 ~ // /// logical plan, but they are not actually optimized in any way. This is useful for
42 ~ // /// testing purposes, as it allows us to test the structure of the physical plan without
43 ~ // /// having to worry about the actual optimization process.
44 ~ // ///
45 ~ // /// The function returns a PhysicalPlan, which is a struct that contains the root node of
46 ~ // /// the physical plan.
47 ~ // ///
48 ~ // /// # Arguments
49 ~ // /// * `logical_plan` - The logical plan to optimize.
50 ~ // ///
51 ~ // /// # Returns
52 ~ // /// * `PhysicalPlan` - The optimized physical plan.
|
Raw output
optd-datafusion/src/planner.rs:80:5:w:warning: empty line after doc comment
--> optd-datafusion/src/planner.rs:52:5
|
52 | / /// * `PhysicalPlan` - The optimized physical plan.
... |
79 | |
| |_^
80 | / pub async fn mock_optimize(
81 | | &self,
82 | | logical_plan: &LogicalPlan,
83 | | ) -> anyhow::Result<Arc<PhysicalPlan>> {
| |__________________________________________- the comment documents this method
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
= note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default
= help: if the empty line is unintentional remove it
help: if the doc comment should not document `mock_optimize` comment it out
|
31 ~ // /// A mock optimization function for testing purposes.
32 ~ // ///
33 ~ // /// This function takes a logical plan, and for each node in the logical plan, it will
34 ~ // /// recursively traverse the node and its children and replace the node with a physical
35 ~ // /// operator. The physical operator is chosen based on the type of the logical operator.
36 ~ // /// For example, if the logical operator is a scan, the physical operator will be a
37 ~ // /// TableScan, if the logical operator is a filter, the physical operator will be a
38 ~ // /// Filter, and so on.
39 ~ // ///
40 ~ // /// The physical operators are chosen in a way that they mirror the structure of the
41 ~ // /// logical plan, but they are not actually optimized in any way. This is useful for
42 ~ // /// testing purposes, as it allows us to test the structure of the physical plan without
43 ~ // /// having to worry about the actual optimization process.
44 ~ // ///
45 ~ // /// The function returns a PhysicalPlan, which is a struct that contains the root node of
46 ~ // /// the physical plan.
47 ~ // ///
48 ~ // /// # Arguments
49 ~ // /// * `logical_plan` - The logical plan to optimize.
50 ~ // ///
51 ~ // /// # Returns
52 ~ // /// * `PhysicalPlan` - The optimized physical plan.
|
__END__