feat: add advanced_extension to ExpandRel - #1167
Merged
nielspardon merged 1 commit intoAug 7, 2026
Merged
Conversation
Every relation in algebra.proto carries a rel-level `substrait.extensions.AdvancedExtension advanced_extension` field (at field number 10) except ExpandRel. Advanced extensions are meant to be available at multiple levels of messages within a plan, so this asymmetry looks like an oversight rather than an intentional restriction. Add `advanced_extension = 10` to ExpandRel, matching the placement and field number used by every other relation. Field 10 was previously unused by ExpandRel, so this is purely additive: plans that do not set the field are unaffected.
nielspardon
requested review from
EpsilonPrime,
benbellick,
cpcloud,
jacques-n,
vbarua,
westonpace and
yongchul
as code owners
August 7, 2026 18:36
benbellick
approved these changes
Aug 7, 2026
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.
Every relation in
algebra.protocarries a rel-levelsubstrait.extensions.AdvancedExtension advanced_extensionfield (at field number 10) — exceptExpandRel. Advanced extensions are intended to be available at multiple levels of messages within a plan, so this asymmetry looks like an oversight rather than an intentional restriction: there is no reason a producer should be able to attach implementation-specific data to a Project, Aggregate, Join, Sort, Fetch, etc. but not to an Expand.This PR adds
advanced_extension = 10toExpandRel, matching the placement and field number used by the other relations. Field 10 was previously unused byExpandRel, so the change is purely additive — plans that do not set the field are unaffected, and it does not alter the behavior of any previously legal plan.This change is