nielspardon opened a new pull request, #12604:
URL: https://github.com/apache/gluten/pull/12604

   ## What changes are proposed in this pull request?
   
   Second increment of the Substrait 0.98 proto rebase (#12597). **Stacked on 
#12598** (approved, not yet merged) — until #12598 lands, this PR's diff 
includes its commit; the change owned by *this* PR is the top commit (URI→URN). 
I'll rebase onto `main` once #12598 merges, which reduces the diff to just this 
increment. (The two increments touch disjoint files.)
   
   Adopts the 0.98 URN-based simple-extension referencing model 
(substrait-io/substrait#971), replacing URI-based references with URNs of the 
form `extension:<OWNER>:<ID>`:
   
   - **`extensions.proto`**: `SimpleExtensionURI` → `SimpleExtensionURN`; 
`extension_uri_anchor` → `extension_urn_anchor`; `uri` → `urn`; and in 
`ExtensionType` / `ExtensionTypeVariation` / `ExtensionFunction`, 
`extension_uri_reference` (field 1) is reserved and replaced by 
`extension_urn_reference` (field 4).
   - **`plan.proto` / `extended_expression.proto`**: `extension_uris` (field 1) 
reserved, replaced by `extension_urns = 8` (`repeated SimpleExtensionURN`).
   - **Velox producer** (`SubstraitExtensionCollector`, 
`VeloxToSubstraitPlan`): now emit `extension_urns` / `extension_urn_reference`. 
Gluten maps all functions to a single catch-all anchor and resolves them by 
name, so it emits one valid-format placeholder URN 
`extension:org.apache.gluten:functions` instead of an empty string; consuming 
the real upstream `io.substrait` function-extension URNs is a follow-up. 
Gluten's JVM producer never emitted `extension_uris`, so it needs no changes 
beyond recompiling against the regenerated classes.
   - **Velox test fixtures**: updated to URN field names and proper spec URN 
values (`extension:io.substrait:<file>`).
   
   `AdvancedExtension.optimization` (also `repeated` in 0.98) and the additive 
`Plan` fields (`parameter_bindings` / `type_aliases` / `execution_behavior`) 
are handled in follow-up increments.
   
   ## How was this patch tested?
   
   No behavioral change — this is a referencing-mechanism migration. Verified 
locally: the vendored proto compiles (`protoc`); the `gluten-substrait` JVM 
build succeeds (regenerating the `SimpleExtensionURN` classes); and the Velox 
native library builds (`libgluten` / `libvelox`, recompiling 
`SubstraitExtensionCollector` / `VeloxToSubstraitPlan` / `SubstraitParser` 
against the regenerated proto). The ClickHouse backend has no `extension_uri*` 
references and is unaffected. Existing Velox conversion tests exercise the 
updated fixtures.
   
   ## Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Opus 4.8)
   
   🤖 Generated with AI
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to