Skip to content

Conversation

@Broshen
Copy link

@Broshen Broshen commented Dec 19, 2025

Some function signatures in functions_comparison.yaml describe that their response can be null, but the type in return doesn't have a ?, indicating that it is non-nullable. This PR fixes the function signature to match the description that responses can be NULL.

@github-actions
Copy link

ACTION NEEDED

Substrait follows the Conventional Commits
specification
for
release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

- value: any1
name: y
return: boolean
return: boolean?
Copy link
Member

Choose a reason for hiding this comment

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

So the ? at the end here doesn't mean anything unless you set the Nullability Handling to DECLARED_OUTPUT or DISCRETE. MIRROR, the default, ignores it because the output nullability is determined by the input type nullabilities.

Copy link
Contributor

Choose a reason for hiding this comment

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

@Broshen the default mode (MIRROR) implies that output is nullable if any of the inputs is nullable which is the intention here I think (?).

Setting it to DECLARED_OUTPUR + ? is not correct because function output will have to be always treated as nullable, even if inputs are known not to contain nulls.

@Broshen Broshen changed the title fix:function signatures should have correct nullabilitiy fix: function signatures should have correct nullabilitiy Jan 9, 2026
@Broshen Broshen requested a review from vbarua January 9, 2026 21:24
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.

3 participants