-
Notifications
You must be signed in to change notification settings - Fork 334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: replace DfLogicalPlan with datafusion_expr::LogicalPlan #4384
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe changes primarily involve updating the import paths for the Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/query/src/plan.rs (5 hunks)
Additional comments not posted (7)
src/query/src/plan.rs (7)
48-52
: LGTM!The
schema
function has been correctly refactored to takeplan: &DfLogicalPlan
as a parameter. The error handling is appropriate.
63-63
: LGTM!The
display_indent
function has been correctly refactored to takeplan: &DfLogicalPlan
as a parameter.
Line range hint
69-75
:
LGTM!The
get_param_types
function has been correctly refactored to takeplan: &DfLogicalPlan
as a parameter. The error handling and conversion logic are appropriate.
81-90
: LGTM!The
replace_params_with_values
function has been correctly refactored to takeplan: &DfLogicalPlan
andvalues: &[ScalarValue]
as parameters. The error handling and logic to replace parameters are appropriate.
94-98
: LGTM!The
unwrap_df_plan
function has been correctly refactored to takeplan: &LogicalPlan
as a parameter. The error handling using a panic statement is appropriate.
103-107
: LGTM!The
df_plan
function has been correctly refactored to takeplan: &LogicalPlan
as a parameter. The error handling using a panic statement is appropriate.
Line range hint
206-212
:
LGTM!The
extract_and_rewrite_full_table_names
function's visibility has been correctly changed frompub
to private. The logic to extract and rewrite table names is appropriate.
Thanks for submitting the PR. To remove the wrapper type, we also need to remove the definition of our #[derive(Clone, Debug)]
pub enum LogicalPlan {
DfPlan(DfLogicalPlan),
} You can refer to #3995 which removes the wrapper type for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/query/src/plan.rs (6 hunks)
Files skipped from review as they are similar to previous changes (1)
- src/query/src/plan.rs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (1)
tests-integration/src/instance.rs (1)
236-236
: Update required: Instances ofLogicalPlan::DfPlan
found.The following files still contain instances of the old usage pattern
LogicalPlan::DfPlan
and need to be updated to the new usage ofLogicalPlan
:
src/query/src/datafusion.rs
src/query/src/plan.rs
src/query/src/planner.rs
src/query/src/tests/query_engine_test.rs
src/servers/src/prom_store.rs
src/pipeline/src/manager/table.rs
Please ensure these instances are updated for consistency.
Analysis chain
Variable assignment change approved.
The variable assignment for
LogicalPlan
has been updated to useLogicalPlan
directly, aligning with the refactoring objectives.However, ensure that all variable assignments to
LogicalPlan
are correctly updated across the codebase.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all variable assignments to `LogicalPlan` are correctly updated. # Test: Search for the variable assignments. Expect: Only occurrences of the new usage. rg --type rust -A 5 $'let LogicalPlan'Length of output: 4349
Script:
#!/bin/bash # Description: Verify that all instances of the old usage pattern `LogicalPlan::DfPlan` have been updated. # Test: Search for the old usage pattern. Expect: No occurrences. rg --type rust 'LogicalPlan::DfPlan'Length of output: 924
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (23)
- src/cmd/src/cli/repl.rs (2 hunks)
- src/datanode/src/tests.rs (1 hunks)
- src/flow/src/transform.rs (4 hunks)
- src/frontend/src/instance.rs (1 hunks)
- src/operator/src/statement.rs (1 hunks)
- src/operator/src/statement/copy_table_to.rs (2 hunks)
- src/operator/src/statement/tql.rs (1 hunks)
- src/pipeline/src/manager/table.rs (2 hunks)
- src/query/src/range_select/plan_rewrite.rs (2 hunks)
- src/script/src/table.rs (3 hunks)
- src/servers/src/http.rs (1 hunks)
- src/servers/src/interceptor.rs (1 hunks)
- src/servers/src/lib.rs (1 hunks)
- src/servers/src/mysql/handler.rs (1 hunks)
- src/servers/src/postgres/types.rs (1 hunks)
- src/servers/src/prom_store.rs (1 hunks)
- src/servers/src/query_handler/sql.rs (1 hunks)
- src/servers/tests/http/influxdb_test.rs (1 hunks)
- src/servers/tests/http/opentsdb_test.rs (1 hunks)
- src/servers/tests/http/prom_store_test.rs (1 hunks)
- src/servers/tests/mod.rs (1 hunks)
- tests-integration/src/grpc.rs (2 hunks)
- tests-integration/src/instance.rs (2 hunks)
Additional comments not posted (30)
src/servers/src/lib.rs (1)
21-21
: LGTM! Verify the correctness of the new import.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
. Ensure that this change is consistent with the rest of the codebase.Verification successful
The new import statement for
LogicalPlan
is consistent across the codebase.
- All instances of
LogicalPlan
are imported fromdatafusion_expr
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the new import for LogicalPlan. # Test: Search for the usage of LogicalPlan. Expect: Only occurances of datafusion_expr::LogicalPlan. rg --type rust -A 5 $'LogicalPlan'Length of output: 188344
src/servers/src/query_handler/sql.rs (1)
21-21
: LGTM! Verify the correctness of the new import.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
. Ensure that this change is consistent with the rest of the codebase.Verification successful
The new import statement is correct and consistent with the rest of the codebase.
The import statement
use datafusion_expr::LogicalPlan;
is used consistently across the codebase, and no conflicting imports or usage ofLogicalPlan
from different modules were found.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the new import for LogicalPlan. # Test: Search for the usage of LogicalPlan. Expect: Only occurances of datafusion_expr::LogicalPlan. rg --type rust -A 5 $'LogicalPlan'Length of output: 188344
src/operator/src/statement/tql.rs (1)
23-23
: LGTM! Verify the correctness of the new import.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
. Ensure that this change is consistent with the rest of the codebase.Verification successful
The new import statement for
LogicalPlan
is correct and consistent throughout the codebase.
- All instances of
LogicalPlan
are usingdatafusion_expr::LogicalPlan
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the new import for LogicalPlan. # Test: Search for the usage of LogicalPlan. Expect: Only occurances of datafusion_expr::LogicalPlan. rg --type rust -A 5 $'LogicalPlan'Length of output: 188344
src/operator/src/statement/copy_table_to.rs (2)
32-32
: LGTM! Verify the correctness of the new import.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
. Ensure that this change is consistent with the rest of the codebase.Verification successful
The new import statement for
LogicalPlan
is consistent across the codebase.The import statement
use datafusion_expr::LogicalPlan;
is correctly used in all relevant instances.
- Verified in multiple files with no conflicting imports.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the new import for LogicalPlan. # Test: Search for the usage of LogicalPlan. Expect: Only occurances of datafusion_expr::LogicalPlan. rg --type rust -A 5 $'LogicalPlan'Length of output: 188344
132-132
: Verify the correctness of theexecute
method call.The
execute
method call has been updated to useLogicalPlan
directly. Ensure that this change is correct and consistent with the rest of the codebase.Verification successful
Verify the correctness of the
execute
method call.The
execute
method with the signatureexecute(&self, plan: LogicalPlan, query_ctx: QueryContextRef) -> Result<Output>
is correctly defined in thesrc/query/src/query_engine.rs
andsrc/query/src/datafusion.rs
files. The method call in the review comment aligns with these definitions, ensuring that the parametersLogicalPlan
andquery_ctx
are correctly used.
- Files with relevant
execute
method definitions:
src/query/src/query_engine.rs
src/query/src/datafusion.rs
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the `execute` method call. # Test: Search for the usage of the execute method. Expect: Only occurances of the new method call. rg --type rust -A 5 $'execute'Length of output: 299676
Script:
#!/bin/bash # Locate the definition of the `execute` method to understand its parameters. ast-grep --lang rust --pattern 'fn execute($_, $_) -> $_ { $$$ }'Length of output: 13127
Script:
#!/bin/bash # Refine the search to locate the `execute` method with `LogicalPlan` and `QueryContextRef` parameters. ast-grep --lang rust --pattern 'fn execute(&self, plan: LogicalPlan, query_ctx: QueryContextRef) -> Result<Output> { $$$ }'Length of output: 125
Script:
#!/bin/bash # Broaden the search to locate the `execute` method with LogicalPlan and query_ctx in the context of query engines. rg --type rust -A 5 'fn execute' | grep -C 5 'LogicalPlan'Length of output: 2725
src/datanode/src/tests.rs (1)
28-28
: Update import statement to usedatafusion_expr::LogicalPlan
.The import statement has been updated to use
LogicalPlan
fromdatafusion_expr
instead ofquery::plan
. Ensure that this change is consistent with the rest of the codebase and that all references toLogicalPlan
are correctly updated.src/servers/tests/http/prom_store_test.rs (1)
28-28
: Update import statement to usedatafusion_expr::LogicalPlan
.The import statement has been updated to use
LogicalPlan
fromdatafusion_expr
instead ofquery::plan
. Ensure that this change is consistent with the rest of the codebase and that all references toLogicalPlan
are correctly updated.src/servers/tests/http/opentsdb_test.rs (1)
23-23
: Update import statement to usedatafusion_expr::LogicalPlan
.The import statement has been updated to use
LogicalPlan
fromdatafusion_expr
instead ofquery::plan
. Ensure that this change is consistent with the rest of the codebase and that all references toLogicalPlan
are correctly updated.src/servers/tests/mod.rs (1)
25-25
: Update import statement to usedatafusion_expr::LogicalPlan
.The import statement has been updated to use
LogicalPlan
fromdatafusion_expr
instead ofquery::plan
. Ensure that this change is consistent with the rest of the codebase and that all references toLogicalPlan
are correctly updated.src/cmd/src/cli/repl.rs (2)
39-39
: LGTM!The import statement change aligns with the PR objective.
183-183
: LGTM! But verify the function usage in the codebase.The code change is syntactically correct and aligns with the new import.
However, ensure that all function calls to
LogicalPlan
match the new usage.src/servers/src/interceptor.rs (1)
25-25
: LGTM!The import statement change aligns with the PR objective.
src/flow/src/transform.rs (3)
26-26
: LGTM!The import statement change aligns with the PR objective.
137-137
: LGTM! But verify the function usage in the codebase.The code change is syntactically correct and aligns with the new import.
However, ensure that all function calls to
LogicalPlan
match the new usage.
204-204
: LGTM! But verify the function usage in the codebase.The code change is syntactically correct and aligns with the new import.
However, ensure that all function calls to
LogicalPlan
match the new usage.Verification successful
Verification Successful: LogicalPlan Usage
The
LogicalPlan
usage is consistent with the new import fromdatafusion_expr
across the codebase.
tests-integration/src/instance.rs
tests-integration/src/grpc.rs
src/query/src/dist_plan.rs
src/query/src/optimizer.rs
src/query/src/datafusion.rs
src/query/src/sql.rs
src/query/src/tests/query_engine_test.rs
src/query/src/range_select/planner.rs
src/query/src/range_select/plan_rewrite.rs
src/query/src/query_engine.rs
src/query/src/query_engine/state.rs
src/query/src/query_engine/context.rs
src/query/src/planner.rs
src/query/src/query_engine/default_serializer.rs
src/script/src/table.rs
src/query/src/promql/planner.rs
src/query/src/plan.rs
src/query/src/optimizer/type_conversion.rs
src/query/src/optimizer/order_hint.rs
src/query/src/logical_optimizer.rs
src/query/src/optimizer/count_wildcard.rs
src/query/src/range_select/plan.rs
src/query/src/dist_plan/merge_scan.rs
src/query/src/dist_plan/commutativity.rs
src/query/src/dist_plan/analyzer.rs
src/query/src/dist_plan/planner.rs
src/query/src/optimizer/string_normalization.rs
src/query/src/physical_planner.rs
src/servers/src/lib.rs
src/servers/tests/mod.rs
src/servers/src/prom_store.rs
src/servers/src/query_handler/sql.rs
src/servers/src/postgres/types.rs
src/servers/src/interceptor.rs
src/servers/tests/http/prom_store_test.rs
src/servers/tests/http/opentsdb_test.rs
src/servers/src/mysql/handler.rs
src/servers/src/http.rs
src/servers/tests/http/influxdb_test.rs
src/operator/src/error.rs
src/operator/src/statement.rs
src/operator/src/statement/copy_table_to.rs
src/operator/src/statement/ddl.rs
src/operator/src/statement/tql.rs
src/promql/src/extension_plan/instant_manipulate.rs
src/promql/src/extension_plan/series_divide.rs
src/promql/src/extension_plan/planner.rs
src/promql/src/extension_plan/empty_metric.rs
src/promql/src/extension_plan/scalar_calculate.rs
src/promql/src/extension_plan/normalize.rs
src/promql/src/extension_plan/range_manipulate.rs
src/operator/src/statement/copy_table_to.rs
src/operator/src/statement/ddl.rs
src/operator/src/statement/tql.rs
src/promql/src/extension_plan/union_distinct_on.rs
src/promql/src/extension_plan/histogram_fold.rs
src/pipeline/src/manager/table.rs
src/pipeline/src/manager/error.rs
src/flow/src/transform.rs
src/frontend/src/instance.rs
src/frontend/src/error.rs
src/frontend/src/instance/prom_store.rs
src/datanode/src/tests.rs
src/datanode/src/region_server.rs
src/datanode/src/error.rs
src/frontend/src/instance/grpc.rs
src/common/substrait/src/df_substrait.rs
src/catalog/src/table_source.rs
src/cmd/src/error.rs
src/common/query/src/test_util.rs
src/common/query/src/logical_plan.rs
src/cmd/src/cli/repl.rs
src/common/query/src/request.rs
src/common/meta/src/key/view_info.rs
src/client/src/database.rs
src/api/src/helper.rs
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `LogicalPlan` match the new usage. # Test: Search for the function usage. Expect: Only occurrences of the new usage. rg --type rust -A 5 $'LogicalPlan'Length of output: 188344
src/servers/tests/http/influxdb_test.rs (1)
25-25
: LGTM!The import statement change aligns with the PR objective.
src/script/src/table.rs (2)
36-36
: Import change approved.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
, aligning with the refactoring objectives.
227-227
: Method call change approved.The method calls to
.execute()
have been updated to useLogicalPlan
directly, aligning with the refactoring objectives.However, ensure that all function calls to
execute
withLogicalPlan
are correctly updated across the codebase.Also applies to: 282-282
Verification successful
Method call change approved.
The method calls to
.execute()
have been updated to useLogicalPlan
directly, aligning with the refactoring objectives. The updates have been applied consistently across the codebase.
src/script/src/table.rs
src/pipeline/src/manager/table.rs
src/operator/src/statement/copy_table_to.rs
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `execute` with `LogicalPlan` are correctly updated. # Test: Search for the function usage. Expect: Only occurrences of the new usage. rg --type rust -A 5 $'.execute(LogicalPlan'Length of output: 124
Script:
#!/bin/bash # Description: Verify all function calls to `execute` with `LogicalPlan` are correctly updated. # Test: Search for the function usage. Expect: Only occurrences of the new usage. rg --type rust -A 5 '\.execute\(LogicalPlan'Length of output: 2023
tests-integration/src/instance.rs (1)
34-34
: Import change approved.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
, aligning with the refactoring objectives.src/pipeline/src/manager/table.rs (2)
37-37
: Import change approved.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
, aligning with the refactoring objectives.
440-440
: Method call change approved.The method call to
.execute()
has been updated to useLogicalPlan
directly, aligning with the refactoring objectives.However, ensure that all function calls to
execute
withLogicalPlan
are correctly updated across the codebase.Verification successful
Method call change approved.
The method call to
.execute()
has been updated to useLogicalPlan
directly, aligning with the refactoring objectives. All instances of this method call have been correctly updated across the codebase.
- Verified files:
src/script/src/table.rs
src/pipeline/src/manager/table.rs
src/operator/src/statement/copy_table_to.rs
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `execute` with `LogicalPlan` are correctly updated. # Test: Search for the function usage. Expect: Only occurrences of the new usage. rg --type rust -A 5 $'.execute(LogicalPlan'Length of output: 124
Script:
#!/bin/bash # Description: Verify all function calls to `execute` with `LogicalPlan` are correctly updated. # Test: Search for the function usage. Expect: Only occurrences of the new usage. rg --type rust -A 5 '.execute(LogicalPlan'Length of output: 124
Script:
#!/bin/bash # Description: Verify all function calls to `execute` with `LogicalPlan` are correctly updated. # Test: Search for the function usage. Expect: Only occurrences of the new usage. rg --type rust -A 5 '\.execute\(LogicalPlan'Length of output: 2023
src/operator/src/statement.rs (1)
42-42
: Import change approved.The import statement for
LogicalPlan
has been updated to usedatafusion_expr::LogicalPlan
, aligning with the refactoring objectives.src/frontend/src/instance.rs (1)
53-53
: LGTM! The import statement change aligns with the PR objective.The import statement for
LogicalPlan
has been updated to use Datafusion'sLogicalPlan
directly, which aligns with the refactoring goal.src/servers/src/mysql/handler.rs (1)
35-35
: LGTM! The import statement change aligns with the PR objective.The import statement for
LogicalPlan
has been updated to use Datafusion'sLogicalPlan
directly, which aligns with the refactoring goal.src/servers/src/prom_store.rs (1)
34-34
: LGTM! The import statement change aligns with the PR objective.The import statement for
LogicalPlan
has been updated to use Datafusion'sLogicalPlan
directly, which aligns with the refactoring goal.tests-integration/src/grpc.rs (2)
36-36
: Verify the correctness of the new import.Ensure that the
LogicalPlan
fromdatafusion_expr
is the correct import and that it is consistent with the rest of the codebase.Verification successful
Verified the correctness of the new import.
The
LogicalPlan
fromdatafusion_expr
is consistently used across the codebase, indicating that the new import is correct and aligned with the rest of the code.
tests-integration/src/instance.rs
tests-integration/src/grpc.rs
src/cmd/src/cli/repl.rs
src/servers/tests/mod.rs
src/script/src/table.rs
src/servers/tests/http/influxdb_test.rs
src/servers/tests/http/prom_store_test.rs
src/servers/tests/http/opentsdb_test.rs
src/servers/src/query_handler/sql.rs
src/servers/src/postgres/types.rs
src/servers/src/lib.rs
src/servers/src/interceptor.rs
src/servers/src/http.rs
src/servers/src/prom_store.rs
src/servers/src/mysql/handler.rs
src/query/src/plan.rs
src/query/src/optimizer.rs
src/query/src/query_engine/state.rs
src/query/src/range_select/plan_rewrite.rs
src/pipeline/src/manager/table.rs
src/operator/src/statement.rs
src/operator/src/statement/tql.rs
src/operator/src/statement/copy_table_to.rs
src/frontend/src/instance.rs
src/flow/src/transform.rs
src/datanode/src/tests.rs
src/common/substrait/src/df_substrait.rs
src/common/query/src/request.rs
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the new import for `LogicalPlan`. # Test: Search for the import statement. Expect: Only occurances of the new import. rg --type rust -A 5 $'use datafusion_expr::LogicalPlan'Length of output: 13047
542-542
: Verify the correctness of the new way of accessingLogicalPlan
.Ensure that directly assigning
LogicalPlan
instead of pattern matchingLogicalPlan::DfPlan(plan)
is correct and does not introduce any issues.src/servers/src/postgres/types.rs (1)
32-32
: Import change approved.The import statement change aligns with the PR objective of refactoring the
LogicalPlan
component to use Datafusion'sLogicalPlan
directly.src/servers/src/http.rs (1)
960-960
: Import change approved.The import statement change aligns with the PR objective of refactoring the
LogicalPlan
component to use Datafusion'sLogicalPlan
directly.src/query/src/range_select/plan_rewrite.rs (1)
621-621
: Verify the correctness of the function with the new LogicalPlan.The change from
GreptimeLogicalPlan::DfPlan(plan)
tolet plan: LogicalPlan
simplifies the pattern matching. Ensure that the function works correctly with the newLogicalPlan
.Verification successful
The function
query_plan_compare
works correctly with the newLogicalPlan
.The function
query_plan_compare
is used in multiple test cases within the filesrc/query/src/range_select/plan_rewrite.rs
, covering a range of scenarios. This extensive usage demonstrates that the function operates correctly with the newLogicalPlan
.
- The function
query_plan_compare
is used in various test cases, ensuring its correctness.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the correctness of the function `query_plan_compare` with the new `LogicalPlan`. # Test: Search for the function usage. Expect: Correct usage of `LogicalPlan`. rg --type rust -A 5 $'query_plan_compare'Length of output: 13039
@sunheyi6 A conflict has to be resolved. |
OK, I'll handle it right away. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (3)
- src/cmd/src/cli/repl.rs (2 hunks)
- src/flow/src/transform.rs (4 hunks)
- src/operator/src/statement/copy_table_to.rs (2 hunks)
Files skipped from review as they are similar to previous changes (3)
- src/cmd/src/cli/repl.rs
- src/flow/src/transform.rs
- src/operator/src/statement/copy_table_to.rs
Please fix the compiler errors |
ok,i will fix |
https://github.com/GreptimeTeam/greptimedb/blob/main/CONTRIBUTING.md#before-pr |
Signed-off-by: Ruihang Xia <[email protected]>
Signed-off-by: Ruihang Xia <[email protected]>
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
as title, part of #3884
What's changed and what's your intention?
As the title said.
Checklist
Summary by CodeRabbit
datafusion_expr::LogicalPlan
for improved code maintainability.