Repository navigation
chore(deps): bump substrait from 0.63.0 to 0.65.0 - #24861
Open
alexandrefimov wants to merge 9 commits into
Open
alexandrefimov wants to merge 9 commits into
alexandrefimov wants to merge 9 commits into
Conversation
alexandrefimov
force-pushed
the
substrait-0.65
branch
from
September 1, 2026 19:50
c73279d to
f204495
Compare
The 0.65.0 release of the substrait crate moves its embedded spec from 0.87.0 to 0.102.0, so fifteen spec releases of removals arrive at once. API changes adapted: - FetchRel: the offset/count oneofs are gone, the expression fields are the only form left - window function: Bound and its Preceding/Following are boxed, and a bound carries offset_expr next to the deprecated offset - interval literals: the precision_mode oneof became a plain precision field, and the deprecated microseconds form is gone - aggregates: a grouping set references relation-level expressions by index rather than embedding them - virtual tables: rows are expressions, values was removed - function calls: the deprecated args field was removed in favour of arguments - types and literals: Timestamp, TimestampTz and Time gave way to the precision-carrying variants, and UserDefinedTypeReference to UserDefined - OuterReference: steps_out moved into a oneof alongside a relation reference - Plan requires execution_behavior, RelCommon requires rel_anchor, and RelType gained LateralJoin and TopN - the enum expression form was removed The consumer paths that read the removed fields are deleted rather than kept: those fields are reserved in the spec, so they cannot appear on a decoded plan. The checked-in JSON fixtures that used the old grouping and fetch shapes are rewritten accordingly. The pbjson-types pin moves to 0.9.0 to match the version substrait uses.
…expr as CurrentRow, and read RelCommon from UpdateRel
alexandrefimov
force-pushed
the
substrait-0.65
branch
from
September 2, 2026 04:44
f204495 to
53a8537
Compare
ikrivosheev
reviewed
Sep 8, 2026
Forward the protox feature so consumers can build without an external protoc binary. Merge main and retain its grouping-set output order and type metadata support with the updated Substrait API. Assisted-by: gpt-6-astra (OpenAI Codex)
|
Thank you for opening this pull request! Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch). Details |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #24861 +/- ##
========================================
Coverage 82.77% 82.78%
========================================
Files 1147 1147
Lines 450909 451000 +91
Branches 450909 451000 +91
========================================
+ Hits 373252 373356 +104
+ Misses 54934 54919 -15
- Partials 22723 22725 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Retain LIKE and window output types while adapting producer expressions to the Substrait 0.65 protobuf API.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
None. Supersedes #24255 and #24842.
Rationale for this change
Upgrade
substraitto 0.65.0 (spec 0.102.0), adapting to removed protobuf fields.What changes are included in this PR?
Migrate Fetch, window bounds, grouping references and stored plans. Update literal/type conversions and outer references, set execution behavior, bump
pbjson-types, and addprotoxsupport.What is the testing strategy for this PR?
Passed: 73 unit tests, 226 integration tests, 3 doctests, formatting, workspace clippy and the extended suite with 532 SQLLogic files. Six integration tests are ignored.
New cases cover window offsets and unsupported outer-reference forms.
Are there any user-facing changes?
Removed fields are no longer supported. Old protobuf plans may lose limits or grouping keys, changing query results.
Downstream code must adapt to removed
consume_enumand changed protobuf types.