Skip to content

feat(core): expose metadata from YAML extension files#691

Open
benbellick wants to merge 2 commits intomainfrom
benbellick/expose-yaml-metadata
Open

feat(core): expose metadata from YAML extension files#691
benbellick wants to merge 2 commits intomainfrom
benbellick/expose-yaml-metadata

Conversation

@benbellick
Copy link
Member

Closes #690

Implements support for reading and exposing the optional metadata field
from YAML extension files at runtime. This allows users to extend
Substrait with custom metadata at three levels:

- Extension-level: via ExtensionCollection.getExtensionMetadata(urn)
- Type-level: via Type.metadata()
- Function-level: via ScalarFunctionVariant/AggregateFunctionVariant/
  WindowFunctionVariant.metadata()

Also updates substrait submodule to v0.80.0 which includes the metadata
schema support.

Closes #690
@benbellick benbellick force-pushed the benbellick/expose-yaml-metadata branch from a0b8dbc to 712b0ba Compare March 2, 2026 18:10
@benbellick benbellick marked this pull request as ready for review March 2, 2026 21:13
@benbellick benbellick requested review from nielspardon and vbarua March 2, 2026 21:13

public abstract Map<String, Option> options();

public abstract Optional<Map<String, Object>> metadata();
Copy link
Member

@nielspardon nielspardon Mar 3, 2026

Choose a reason for hiding this comment

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

I'm wondering whether it would be useful to have an interface instead of Object for e.g. creating custom YAML deserializers / serializers and whether we should allow to add them to the ObjectMapper in SimpleExtension.load().

Otherwise I'm fine with the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Handle metadata in YAML extension files

2 participants