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]
