Skip to content
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

feat!: Bump datafusion, prost, hyper, tonic, tower, axum #5417

Merged
merged 124 commits into from
Jan 23, 2025
Merged

Conversation

evenyag
Copy link
Contributor

@evenyag evenyag commented Jan 21, 2025

I hereby agree to the terms of the GreptimeDB CLA.

Refer to a related PR or issue link (optional)

What's changed and what's your intention?

This PR bumps a lot of crates:

  • datafusion 2464703c84c400a09cc59277018813f0e797bb4e (After 43.0.0)
  • sqllparser 0.52.x
  • prost 0.13
  • hyper 1.x
  • tonic 0.12
  • tower 0.5
  • axum 0.8
  • arrow 53
  • parquet 53

There are too many changes due to many breaking changes in these crates. Here are some of them:

  • Implements Debug for plans and related structs.
  • Uses SessionStateBuilder to build SessionState
  • Removes the usage of HandleErrorLayer.
  • Implements From<arrow interval> for interval types.
  • Adds a new method new_with_count() to RecordBatch to allow constructing an empty RecordBatch that only contains row count.
  • DFLogicalSubstraitConvertor doesn't require catalog list now.
  • Supports Some(Vec::new()) projection in mito.
  • mito uses min_bytes_opt, max_bytes_opt, min_opt, max_opt.
  • ColumnSchema will ignore the metadata of time index if it doesn't have timestamp type. (For SQL CAST).
  • Some protobuf structs support Copy now.
  • DfContextProviderAdapter implements all missing methods.
  • Uses SortExpr and the new function API of datafusion.
  • Uses Bytes to replace RawBody in axum handlers.
  • Refactors all middleware for gRPC server and HTTP server.
  • Updates all sqlness results.
  • udf functions with zero arguements need Nullary signature now

Breaking changes

  • id and tag are SQL keywords now

Notes

  • The HTTP server doesn't support setting the TCP keepalive timeout. We may need to check if it has regressions.
  • DatafusionQueryEngine::optimize_physical_plan() doesn't optimize the physical plan now, as the planner already optimize it.

PR Checklist

Please convert it to a draft if some of the following conditions are not met.

  • I have written the necessary rustdoc comments.
  • I have added the necessary unit tests and integration tests.
  • This PR requires documentation updates.
  • API changes are backward compatible.
  • Schema or data changes are backward compatible.

waynexia and others added 30 commits December 6, 2024 16:33
Signed-off-by: Ruihang Xia <[email protected]>
Signed-off-by: Ruihang Xia <[email protected]>
Signed-off-by: Ruihang Xia <[email protected]>
Signed-off-by: Ruihang Xia <[email protected]>
* remove handle_error handler
* refactor timeout layer
* serve axum
* boxed()
* use TokioIo
* feat: exclude script crate

* chore: simplify feature

* feat: remove the script crate

* chore: remove python feature and some comments

* chore: fix warning
src/flow/src/expr/func.rs Show resolved Hide resolved
src/flow/src/transform.rs Outdated Show resolved Hide resolved
src/flow/src/transform/literal.rs Show resolved Hide resolved
src/flow/src/transform/literal.rs Outdated Show resolved Hide resolved
src/mito2/src/read/projection.rs Outdated Show resolved Hide resolved
src/mito2/src/sst/parquet/format.rs Outdated Show resolved Hide resolved
src/servers/Cargo.toml Outdated Show resolved Hide resolved
Copy link
Member

@waynexia waynexia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reviewed them and hereby cast my vote 🫡

image

src/query/src/range_select/plan.rs Outdated Show resolved Hide resolved
@evenyag
Copy link
Contributor Author

evenyag commented Jan 22, 2025

Copy link
Collaborator

@fengjiachun fengjiachun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rest LGTM

@evenyag evenyag enabled auto-merge January 23, 2025 06:13
@evenyag evenyag added this pull request to the merge queue Jan 23, 2025
Merged via the queue into main with commit 35b635f Jan 23, 2025
37 checks passed
@evenyag evenyag deleted the bump-df-202412 branch January 23, 2025 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change This pull request contains breaking changes. docs-not-required This change does not impact docs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants