Skip to content

Modeling of types to represent query optimization with a persistent memo table #13

Modeling of types to represent query optimization with a persistent memo table

Modeling of types to represent query optimization with a persistent memo table #13

GitHub Actions / clippy failed Jan 15, 2025 in 1s

reviewdog [clippy] report

reported by reviewdog 🐶

Findings (34)

optd-types/src/memo/mod.rs|59 col 9| warning: unused variable: expr
--> optd-types/src/memo/mod.rs:59:9
|
59 | expr: LogicalExpression,
| ^^^^ help: if this is intentional, prefix it with an underscore: _expr
|
= note: #[warn(unused_variables)] on by default
optd-types/src/memo/mod.rs|60 col 9| warning: unused variable: rule
--> optd-types/src/memo/mod.rs:60:9
|
60 | rule: Rule,
| ^^^^ help: if this is intentional, prefix it with an underscore: _rule
optd-types/src/memo/mod.rs|67 col 9| warning: unused variable: expr
--> optd-types/src/memo/mod.rs:67:9
|
67 | expr: LogicalExpression,
| ^^^^ help: if this is intentional, prefix it with an underscore: _expr
optd-types/src/memo/mod.rs|68 col 9| warning: unused variable: rule
--> optd-types/src/memo/mod.rs:68:9
|
68 | rule: Rule,
| ^^^^ help: if this is intentional, prefix it with an underscore: _rule
optd-types/src/memo/mod.rs|75 col 9| warning: unused variable: expr
--> optd-types/src/memo/mod.rs:75:9
|
75 | expr: PartialLogicalExpression,
| ^^^^ help: if this is intentional, prefix it with an underscore: _expr
optd-types/src/memo/mod.rs|76 col 9| warning: unused variable: rule
--> optd-types/src/memo/mod.rs:76:9
|
76 | rule: Rule,
| ^^^^ help: if this is intentional, prefix it with an underscore: _rule
optd-types/src/memo/mod.rs|83 col 9| warning: unused variable: expr
--> optd-types/src/memo/mod.rs:83:9
|
83 | expr: PartialPhysicalExpression,
| ^^^^ help: if this is intentional, prefix it with an underscore: _expr
optd-types/src/memo/mod.rs|84 col 9| warning: unused variable: rule
--> optd-types/src/memo/mod.rs:84:9
|
84 | rule: Rule,
| ^^^^ help: if this is intentional, prefix it with an underscore: _rule
optd-types/src/memo/mod.rs|89 col 39| warning: unused variable: new_exprs
--> optd-types/src/memo/mod.rs:89:39
|
89 | pub fn add_expressions(&mut self, new_exprs: Vec) {
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: _new_exprs
optd-types/src/memo/relation/logical_expression.rs|5 col 10| warning: type memo::relation::logical_expression::Scan is more private than the item memo::relation::logical_expression::LogicalExpression::Scan::0
--> optd-types/src/memo/relation/logical_expression.rs:5:10
|
5 | Scan(Scan),
| ^^^^ field memo::relation::logical_expression::LogicalExpression::Scan::0 is reachable at visibility pub
|
note: but type memo::relation::logical_expression::Scan is only usable at visibility pub(self)
--> optd-types/src/memo/relation/logical_expression.rs:11:1
|
11 | struct Scan {
| ^^^^^^^^^^^
= note: #[warn(private_interfaces)] on by default
optd-types/src/memo/relation/logical_expression.rs|6 col 12| warning: type memo::relation::logical_expression::Filter is more private than the item memo::relation::logical_expression::LogicalExpression::Filter::0
--> optd-types/src/memo/relation/logical_expression.rs:6:12
|
6 | Filter(Filter),
| ^^^^^^ field memo::relation::logical_expression::LogicalExpression::Filter::0 is reachable at visibility pub
|
note: but type memo::relation::logical_expression::Filter is only usable at visibility pub(self)
--> optd-types/src/memo/relation/logical_expression.rs:15:1
|
15 | struct Filter {
| ^^^^^^^^^^^^^
optd-types/src/memo/relation/logical_expression.rs|7 col 10| warning: type memo::relation::logical_expression::Join is more private than the item memo::relation::logical_expression::LogicalExpression::Join::0
--> optd-types/src/memo/relation/logical_expression.rs:7:10
|
7 | Join(Join),
| ^^^^ field memo::relation::logical_expression::LogicalExpression::Join::0 is reachable at visibility pub
|
note: but type memo::relation::logical_expression::Join is only usable at visibility pub(self)
--> optd-types/src/memo/relation/logical_expression.rs:20:1
|
20 | struct Join {
| ^^^^^^^^^^^
optd-types/src/memo/relation/logical_expression.rs|8 col 10| warning: type memo::relation::logical_expression::Sort is more private than the item memo::relation::logical_expression::LogicalExpression::Sort::0
--> optd-types/src/memo/relation/logical_expression.rs:8:10
|
8 | Sort(Sort),
| ^^^^ field memo::relation::logical_expression::LogicalExpression::Sort::0 is reachable at visibility pub
|
note: but type memo::relation::logical_expression::Sort is only usable at visibility pub(self)
--> optd-types/src/memo/relation/logical_expression.rs:26:1
|
26 | struct Sort {
| ^^^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|5 col 15| warning: type memo::relation::physical_expression::TableScan is more private than the item memo::relation::physical_expression::PhysicalExpression::TableScan::0
--> optd-types/src/memo/relation/physical_expression.rs:5:15
|
5 | TableScan(TableScan),
| ^^^^^^^^^ field memo::relation::physical_expression::PhysicalExpression::TableScan::0 is reachable at visibility pub
|
note: but type memo::relation::physical_expression::TableScan is only usable at visibility pub(self)
--> optd-types/src/memo/relation/physical_expression.rs:12:1
|
12 | struct TableScan {
| ^^^^^^^^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|6 col 20| warning: type memo::relation::physical_expression::PhysicalFilter is more private than the item memo::relation::physical_expression::PhysicalExpression::PhysicalFilter::0
--> optd-types/src/memo/relation/physical_expression.rs:6:20
|
6 | PhysicalFilter(PhysicalFilter),
| ^^^^^^^^^^^^^^ field memo::relation::physical_expression::PhysicalExpression::PhysicalFilter::0 is reachable at visibility pub
|
note: but type memo::relation::physical_expression::PhysicalFilter is only usable at visibility pub(self)
--> optd-types/src/memo/relation/physical_expression.rs:16:1
|
16 | struct PhysicalFilter {
| ^^^^^^^^^^^^^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|7 col 19| warning: type memo::relation::physical_expression::SortMergeJoin is more private than the item memo::relation::physical_expression::PhysicalExpression::SortMergeJoin::0
--> optd-types/src/memo/relation/physical_expression.rs:7:19
|
7 | SortMergeJoin(SortMergeJoin),
| ^^^^^^^^^^^^^ field memo::relation::physical_expression::PhysicalExpression::SortMergeJoin::0 is reachable at visibility pub
|
note: but type memo::relation::physical_expression::SortMergeJoin is only usable at visibility pub(self)
--> optd-types/src/memo/relation/physical_expression.rs:22:1
|
22 | struct SortMergeJoin {
| ^^^^^^^^^^^^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|8 col 14| warning: type memo::relation::physical_expression::HashJoin is more private than the item memo::relation::physical_expression::PhysicalExpression::HashJoin::0
--> optd-types/src/memo/relation/physical_expression.rs:8:14
|
8 | HashJoin(HashJoin),
| ^^^^^^^^ field memo::relation::physical_expression::PhysicalExpression::HashJoin::0 is reachable at visibility pub
|
note: but type memo::relation::physical_expression::HashJoin is only usable at visibility pub(self)
--> optd-types/src/memo/relation/physical_expression.rs:29:1
|
29 | struct HashJoin {
| ^^^^^^^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|9 col 15| warning: type memo::relation::physical_expression::MergeSort is more private than the item memo::relation::physical_expression::PhysicalExpression::MergeSort::0
--> optd-types/src/memo/relation/physical_expression.rs:9:15
|
9 | MergeSort(MergeSort),
| ^^^^^^^^^ field memo::relation::physical_expression::PhysicalExpression::MergeSort::0 is reachable at visibility pub
|
note: but type memo::relation::physical_expression::MergeSort is only usable at visibility pub(self)
--> optd-types/src/memo/relation/physical_expression.rs:35:1
|
35 | struct MergeSort {
| ^^^^^^^^^^^^^^^^
optd-types/src/lib.rs|12 col 12| warning: field 0 is never read
--> optd-types/src/lib.rs:12:20
|
12 | pub struct GroupId(usize);
| ------- ^^^^^
| |
| field in this struct
|
= help: consider removing this field
= note: #[warn(dead_code)] on by default
optd-types/src/memo/mod.rs|15 col 12| warning: struct LogicalOperator is never constructed
--> optd-types/src/memo/mod.rs:15:12
|
15 | pub struct LogicalOperator;
| ^^^^^^^^^^^^^^^
optd-types/src/memo/mod.rs|17 col 12| warning: struct PhysicalOperator is never constructed
--> optd-types/src/memo/mod.rs:17:12
|
17 | pub struct PhysicalOperator;
| ^^^^^^^^^^^^^^^^
optd-types/src/memo/mod.rs|24 col 10| warning: enum PartialLogicalExpression is never used
--> optd-types/src/memo/mod.rs:24:10
|
24 | pub enum PartialLogicalExpression {
| ^^^^^^^^^^^^^^^^^^^^^^^^
optd-types/src/memo/mod.rs|36 col 10| warning: enum PartialPhysicalExpression is never used
--> optd-types/src/memo/mod.rs:36:10
|
36 | pub enum PartialPhysicalExpression {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
optd-types/src/memo/mod.rs|43 col 12| warning: struct Memo is never constructed
--> optd-types/src/memo/mod.rs:43:12
|
43 | pub struct Memo;
| ^^^^
optd-types/src/memo/mod.rs|45 col 1| warning: methods check_transformation, check_implementation, apply_transformation, apply_implementation, and add_expressions are never used
--> optd-types/src/memo/mod.rs:57:19
|
45 | impl Memo {
| --------- methods in this implementation
...
57 | pub async fn check_transformation(
| ^^^^^^^^^^^^^^^^^^^^
...
65 | pub async fn check_implementation(
| ^^^^^^^^^^^^^^^^^^^^
...
73 | pub fn apply_transformation(
| ^^^^^^^^^^^^^^^^^^^^
...
81 | pub fn apply_implementation(
| ^^^^^^^^^^^^^^^^^^^^
...
89 | pub fn add_expressions(&mut self, new_exprs: Vec) {
| ^^^^^^^^^^^^^^^
optd-types/src/memo/relation/logical_expression.rs|11 col 8| warning: field table_name is never read
--> optd-types/src/memo/relation/logical_expression.rs:12:5
|
11 | struct Scan {
| ---- field in this struct
12 | table_name: String,
| ^^^^^^^^^^
optd-types/src/memo/relation/logical_expression.rs|15 col 8| warning: fields child and predicate are never read
--> optd-types/src/memo/relation/logical_expression.rs:16:5
|
15 | struct Filter {
| ------ fields in this struct
16 | child: GroupId,
| ^^^^^
17 | predicate: GroupId,
| ^^^^^^^^^
optd-types/src/memo/relation/logical_expression.rs|20 col 8| warning: fields left, right, and condition are never read
--> optd-types/src/memo/relation/logical_expression.rs:21:5
|
20 | struct Join {
| ---- fields in this struct
21 | left: GroupId,
| ^^^^
22 | right: GroupId,
| ^^^^^
23 | condition: GroupId,
| ^^^^^^^^^
optd-types/src/memo/relation/logical_expression.rs|26 col 8| warning: fields child and sort_expr are never read
--> optd-types/src/memo/relation/logical_expression.rs:27:5
|
26 | struct Sort {
| ---- fields in this struct
27 | child: GroupId,
| ^^^^^
28 | sort_expr: GroupId,
| ^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|12 col 8| warning: field table_name is never read
--> optd-types/src/memo/relation/physical_expression.rs:13:5
|
12 | struct TableScan {
| --------- field in this struct
13 | table_name: String,
| ^^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|16 col 8| warning: fields child and predicate are never read
--> optd-types/src/memo/relation/physical_expression.rs:17:5
|
16 | struct PhysicalFilter {
| -------------- fields in this struct
17 | child: GroupId,
| ^^^^^
18 | predicate: GroupId,
| ^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|22 col 8| warning: fields left, right, condition, and sort_expr are never read
--> optd-types/src/memo/relation/physical_expression.rs:23:5
|
22 | struct SortMergeJoin {
| ------------- fields in this struct
23 | left: GroupId,
| ^^^^
24 | right: GroupId,
| ^^^^^
25 | condition: GroupId,
| ^^^^^^^^^
26 | sort_expr: GroupId,
| ^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|29 col 8| warning: fields left, right, and condition are never read
--> optd-types/src/memo/relation/physical_expression.rs:30:5
|
29 | struct HashJoin {
| -------- fields in this struct
30 | left: GroupId,
| ^^^^
31 | right: GroupId,
| ^^^^^
32 | condition: GroupId,
| ^^^^^^^^^
optd-types/src/memo/relation/physical_expression.rs|35 col 8| warning: fields child and sort_expr are never read
--> optd-types/src/memo/relation/physical_expression.rs:36:5
|
35 | struct MergeSort {
| --------- fields in this struct
36 | child: GroupId,
| ^^^^^
37 | sort_expr: GroupId,
| ^^^^^^^^^

Filtered Findings (0)

Annotations

Check warning on line 59 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L59

warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:59:9
   |
59 |         expr: LogicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
   |
   = note: `#[warn(unused_variables)]` on by default
Raw output
optd-types/src/memo/mod.rs:59:9:w:warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:59:9
   |
59 |         expr: LogicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
   |
   = note: `#[warn(unused_variables)]` on by default


__END__

Check warning on line 60 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L60

warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:60:9
   |
60 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`
Raw output
optd-types/src/memo/mod.rs:60:9:w:warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:60:9
   |
60 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`


__END__

Check warning on line 67 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L67

warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:67:9
   |
67 |         expr: LogicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
Raw output
optd-types/src/memo/mod.rs:67:9:w:warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:67:9
   |
67 |         expr: LogicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`


__END__

Check warning on line 68 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L68

warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:68:9
   |
68 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`
Raw output
optd-types/src/memo/mod.rs:68:9:w:warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:68:9
   |
68 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`


__END__

Check warning on line 75 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L75

warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:75:9
   |
75 |         expr: PartialLogicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
Raw output
optd-types/src/memo/mod.rs:75:9:w:warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:75:9
   |
75 |         expr: PartialLogicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`


__END__

Check warning on line 76 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L76

warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:76:9
   |
76 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`
Raw output
optd-types/src/memo/mod.rs:76:9:w:warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:76:9
   |
76 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`


__END__

Check warning on line 83 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L83

warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:83:9
   |
83 |         expr: PartialPhysicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
Raw output
optd-types/src/memo/mod.rs:83:9:w:warning: unused variable: `expr`
  --> optd-types/src/memo/mod.rs:83:9
   |
83 |         expr: PartialPhysicalExpression,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`


__END__

Check warning on line 84 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L84

warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:84:9
   |
84 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`
Raw output
optd-types/src/memo/mod.rs:84:9:w:warning: unused variable: `rule`
  --> optd-types/src/memo/mod.rs:84:9
   |
84 |         rule: Rule,
   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_rule`


__END__

Check warning on line 89 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L89

warning: unused variable: `new_exprs`
  --> optd-types/src/memo/mod.rs:89:39
   |
89 |     pub fn add_expressions(&mut self, new_exprs: Vec<MemoNode>) {
   |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_exprs`
Raw output
optd-types/src/memo/mod.rs:89:39:w:warning: unused variable: `new_exprs`
  --> optd-types/src/memo/mod.rs:89:39
   |
89 |     pub fn add_expressions(&mut self, new_exprs: Vec<MemoNode>) {
   |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_exprs`


__END__

Check warning on line 5 in optd-types/src/memo/relation/logical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/logical_expression.rs#L5

warning: type `memo::relation::logical_expression::Scan` is more private than the item `memo::relation::logical_expression::LogicalExpression::Scan::0`
  --> optd-types/src/memo/relation/logical_expression.rs:5:10
   |
5  |     Scan(Scan),
   |          ^^^^ field `memo::relation::logical_expression::LogicalExpression::Scan::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Scan` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:11:1
   |
11 | struct Scan {
   | ^^^^^^^^^^^
   = note: `#[warn(private_interfaces)]` on by default
Raw output
optd-types/src/memo/relation/logical_expression.rs:5:10:w:warning: type `memo::relation::logical_expression::Scan` is more private than the item `memo::relation::logical_expression::LogicalExpression::Scan::0`
  --> optd-types/src/memo/relation/logical_expression.rs:5:10
   |
5  |     Scan(Scan),
   |          ^^^^ field `memo::relation::logical_expression::LogicalExpression::Scan::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Scan` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:11:1
   |
11 | struct Scan {
   | ^^^^^^^^^^^
   = note: `#[warn(private_interfaces)]` on by default


__END__

Check warning on line 6 in optd-types/src/memo/relation/logical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/logical_expression.rs#L6

warning: type `memo::relation::logical_expression::Filter` is more private than the item `memo::relation::logical_expression::LogicalExpression::Filter::0`
  --> optd-types/src/memo/relation/logical_expression.rs:6:12
   |
6  |     Filter(Filter),
   |            ^^^^^^ field `memo::relation::logical_expression::LogicalExpression::Filter::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Filter` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:15:1
   |
15 | struct Filter {
   | ^^^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/logical_expression.rs:6:12:w:warning: type `memo::relation::logical_expression::Filter` is more private than the item `memo::relation::logical_expression::LogicalExpression::Filter::0`
  --> optd-types/src/memo/relation/logical_expression.rs:6:12
   |
6  |     Filter(Filter),
   |            ^^^^^^ field `memo::relation::logical_expression::LogicalExpression::Filter::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Filter` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:15:1
   |
15 | struct Filter {
   | ^^^^^^^^^^^^^


__END__

Check warning on line 7 in optd-types/src/memo/relation/logical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/logical_expression.rs#L7

warning: type `memo::relation::logical_expression::Join` is more private than the item `memo::relation::logical_expression::LogicalExpression::Join::0`
  --> optd-types/src/memo/relation/logical_expression.rs:7:10
   |
7  |     Join(Join),
   |          ^^^^ field `memo::relation::logical_expression::LogicalExpression::Join::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Join` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:20:1
   |
20 | struct Join {
   | ^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/logical_expression.rs:7:10:w:warning: type `memo::relation::logical_expression::Join` is more private than the item `memo::relation::logical_expression::LogicalExpression::Join::0`
  --> optd-types/src/memo/relation/logical_expression.rs:7:10
   |
7  |     Join(Join),
   |          ^^^^ field `memo::relation::logical_expression::LogicalExpression::Join::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Join` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:20:1
   |
20 | struct Join {
   | ^^^^^^^^^^^


__END__

Check warning on line 8 in optd-types/src/memo/relation/logical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/logical_expression.rs#L8

warning: type `memo::relation::logical_expression::Sort` is more private than the item `memo::relation::logical_expression::LogicalExpression::Sort::0`
  --> optd-types/src/memo/relation/logical_expression.rs:8:10
   |
8  |     Sort(Sort),
   |          ^^^^ field `memo::relation::logical_expression::LogicalExpression::Sort::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Sort` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:26:1
   |
26 | struct Sort {
   | ^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/logical_expression.rs:8:10:w:warning: type `memo::relation::logical_expression::Sort` is more private than the item `memo::relation::logical_expression::LogicalExpression::Sort::0`
  --> optd-types/src/memo/relation/logical_expression.rs:8:10
   |
8  |     Sort(Sort),
   |          ^^^^ field `memo::relation::logical_expression::LogicalExpression::Sort::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::logical_expression::Sort` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/logical_expression.rs:26:1
   |
26 | struct Sort {
   | ^^^^^^^^^^^


__END__

Check warning on line 5 in optd-types/src/memo/relation/physical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/physical_expression.rs#L5

warning: type `memo::relation::physical_expression::TableScan` is more private than the item `memo::relation::physical_expression::PhysicalExpression::TableScan::0`
  --> optd-types/src/memo/relation/physical_expression.rs:5:15
   |
5  |     TableScan(TableScan),
   |               ^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::TableScan::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::TableScan` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:12:1
   |
12 | struct TableScan {
   | ^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/physical_expression.rs:5:15:w:warning: type `memo::relation::physical_expression::TableScan` is more private than the item `memo::relation::physical_expression::PhysicalExpression::TableScan::0`
  --> optd-types/src/memo/relation/physical_expression.rs:5:15
   |
5  |     TableScan(TableScan),
   |               ^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::TableScan::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::TableScan` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:12:1
   |
12 | struct TableScan {
   | ^^^^^^^^^^^^^^^^


__END__

Check warning on line 6 in optd-types/src/memo/relation/physical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/physical_expression.rs#L6

warning: type `memo::relation::physical_expression::PhysicalFilter` is more private than the item `memo::relation::physical_expression::PhysicalExpression::PhysicalFilter::0`
  --> optd-types/src/memo/relation/physical_expression.rs:6:20
   |
6  |     PhysicalFilter(PhysicalFilter),
   |                    ^^^^^^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::PhysicalFilter::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::PhysicalFilter` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:16:1
   |
16 | struct PhysicalFilter {
   | ^^^^^^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/physical_expression.rs:6:20:w:warning: type `memo::relation::physical_expression::PhysicalFilter` is more private than the item `memo::relation::physical_expression::PhysicalExpression::PhysicalFilter::0`
  --> optd-types/src/memo/relation/physical_expression.rs:6:20
   |
6  |     PhysicalFilter(PhysicalFilter),
   |                    ^^^^^^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::PhysicalFilter::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::PhysicalFilter` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:16:1
   |
16 | struct PhysicalFilter {
   | ^^^^^^^^^^^^^^^^^^^^^


__END__

Check warning on line 7 in optd-types/src/memo/relation/physical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/physical_expression.rs#L7

warning: type `memo::relation::physical_expression::SortMergeJoin` is more private than the item `memo::relation::physical_expression::PhysicalExpression::SortMergeJoin::0`
  --> optd-types/src/memo/relation/physical_expression.rs:7:19
   |
7  |     SortMergeJoin(SortMergeJoin),
   |                   ^^^^^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::SortMergeJoin::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::SortMergeJoin` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:22:1
   |
22 | struct SortMergeJoin {
   | ^^^^^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/physical_expression.rs:7:19:w:warning: type `memo::relation::physical_expression::SortMergeJoin` is more private than the item `memo::relation::physical_expression::PhysicalExpression::SortMergeJoin::0`
  --> optd-types/src/memo/relation/physical_expression.rs:7:19
   |
7  |     SortMergeJoin(SortMergeJoin),
   |                   ^^^^^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::SortMergeJoin::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::SortMergeJoin` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:22:1
   |
22 | struct SortMergeJoin {
   | ^^^^^^^^^^^^^^^^^^^^


__END__

Check warning on line 8 in optd-types/src/memo/relation/physical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/physical_expression.rs#L8

warning: type `memo::relation::physical_expression::HashJoin` is more private than the item `memo::relation::physical_expression::PhysicalExpression::HashJoin::0`
  --> optd-types/src/memo/relation/physical_expression.rs:8:14
   |
8  |     HashJoin(HashJoin),
   |              ^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::HashJoin::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::HashJoin` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:29:1
   |
29 | struct HashJoin {
   | ^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/physical_expression.rs:8:14:w:warning: type `memo::relation::physical_expression::HashJoin` is more private than the item `memo::relation::physical_expression::PhysicalExpression::HashJoin::0`
  --> optd-types/src/memo/relation/physical_expression.rs:8:14
   |
8  |     HashJoin(HashJoin),
   |              ^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::HashJoin::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::HashJoin` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:29:1
   |
29 | struct HashJoin {
   | ^^^^^^^^^^^^^^^


__END__

Check warning on line 9 in optd-types/src/memo/relation/physical_expression.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/relation/physical_expression.rs#L9

warning: type `memo::relation::physical_expression::MergeSort` is more private than the item `memo::relation::physical_expression::PhysicalExpression::MergeSort::0`
  --> optd-types/src/memo/relation/physical_expression.rs:9:15
   |
9  |     MergeSort(MergeSort),
   |               ^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::MergeSort::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::MergeSort` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:35:1
   |
35 | struct MergeSort {
   | ^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/relation/physical_expression.rs:9:15:w:warning: type `memo::relation::physical_expression::MergeSort` is more private than the item `memo::relation::physical_expression::PhysicalExpression::MergeSort::0`
  --> optd-types/src/memo/relation/physical_expression.rs:9:15
   |
9  |     MergeSort(MergeSort),
   |               ^^^^^^^^^ field `memo::relation::physical_expression::PhysicalExpression::MergeSort::0` is reachable at visibility `pub`
   |
note: but type `memo::relation::physical_expression::MergeSort` is only usable at visibility `pub(self)`
  --> optd-types/src/memo/relation/physical_expression.rs:35:1
   |
35 | struct MergeSort {
   | ^^^^^^^^^^^^^^^^


__END__

Check warning on line 12 in optd-types/src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/lib.rs#L12

warning: field `0` is never read
  --> optd-types/src/lib.rs:12:20
   |
12 | pub struct GroupId(usize);
   |            ------- ^^^^^
   |            |
   |            field in this struct
   |
   = help: consider removing this field
   = note: `#[warn(dead_code)]` on by default
Raw output
optd-types/src/lib.rs:12:12:w:warning: field `0` is never read
  --> optd-types/src/lib.rs:12:20
   |
12 | pub struct GroupId(usize);
   |            ------- ^^^^^
   |            |
   |            field in this struct
   |
   = help: consider removing this field
   = note: `#[warn(dead_code)]` on by default


__END__

Check warning on line 15 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L15

warning: struct `LogicalOperator` is never constructed
  --> optd-types/src/memo/mod.rs:15:12
   |
15 | pub struct LogicalOperator;
   |            ^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/mod.rs:15:12:w:warning: struct `LogicalOperator` is never constructed
  --> optd-types/src/memo/mod.rs:15:12
   |
15 | pub struct LogicalOperator;
   |            ^^^^^^^^^^^^^^^


__END__

Check warning on line 17 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L17

warning: struct `PhysicalOperator` is never constructed
  --> optd-types/src/memo/mod.rs:17:12
   |
17 | pub struct PhysicalOperator;
   |            ^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/mod.rs:17:12:w:warning: struct `PhysicalOperator` is never constructed
  --> optd-types/src/memo/mod.rs:17:12
   |
17 | pub struct PhysicalOperator;
   |            ^^^^^^^^^^^^^^^^


__END__

Check warning on line 24 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L24

warning: enum `PartialLogicalExpression` is never used
  --> optd-types/src/memo/mod.rs:24:10
   |
24 | pub enum PartialLogicalExpression {
   |          ^^^^^^^^^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/mod.rs:24:10:w:warning: enum `PartialLogicalExpression` is never used
  --> optd-types/src/memo/mod.rs:24:10
   |
24 | pub enum PartialLogicalExpression {
   |          ^^^^^^^^^^^^^^^^^^^^^^^^


__END__

Check warning on line 36 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L36

warning: enum `PartialPhysicalExpression` is never used
  --> optd-types/src/memo/mod.rs:36:10
   |
36 | pub enum PartialPhysicalExpression {
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/mod.rs:36:10:w:warning: enum `PartialPhysicalExpression` is never used
  --> optd-types/src/memo/mod.rs:36:10
   |
36 | pub enum PartialPhysicalExpression {
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^


__END__

Check warning on line 43 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L43

warning: struct `Memo` is never constructed
  --> optd-types/src/memo/mod.rs:43:12
   |
43 | pub struct Memo;
   |            ^^^^
Raw output
optd-types/src/memo/mod.rs:43:12:w:warning: struct `Memo` is never constructed
  --> optd-types/src/memo/mod.rs:43:12
   |
43 | pub struct Memo;
   |            ^^^^


__END__

Check warning on line 45 in optd-types/src/memo/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

[clippy] optd-types/src/memo/mod.rs#L45

warning: methods `check_transformation`, `check_implementation`, `apply_transformation`, `apply_implementation`, and `add_expressions` are never used
  --> optd-types/src/memo/mod.rs:57:19
   |
45 | impl Memo {
   | --------- methods in this implementation
...
57 |      pub async fn check_transformation(
   |                   ^^^^^^^^^^^^^^^^^^^^
...
65 |     pub async fn check_implementation(
   |                  ^^^^^^^^^^^^^^^^^^^^
...
73 |     pub fn apply_transformation(
   |            ^^^^^^^^^^^^^^^^^^^^
...
81 |     pub fn apply_implementation(
   |            ^^^^^^^^^^^^^^^^^^^^
...
89 |     pub fn add_expressions(&mut self, new_exprs: Vec<MemoNode>) {
   |            ^^^^^^^^^^^^^^^
Raw output
optd-types/src/memo/mod.rs:45:1:w:warning: methods `check_transformation`, `check_implementation`, `apply_transformation`, `apply_implementation`, and `add_expressions` are never used
  --> optd-types/src/memo/mod.rs:57:19
   |
45 | impl Memo {
   | --------- methods in this implementation
...
57 |      pub async fn check_transformation(
   |                   ^^^^^^^^^^^^^^^^^^^^
...
65 |     pub async fn check_implementation(
   |                  ^^^^^^^^^^^^^^^^^^^^
...
73 |     pub fn apply_transformation(
   |            ^^^^^^^^^^^^^^^^^^^^
...
81 |     pub fn apply_implementation(
   |            ^^^^^^^^^^^^^^^^^^^^
...
89 |     pub fn add_expressions(&mut self, new_exprs: Vec<MemoNode>) {
   |            ^^^^^^^^^^^^^^^


__END__