[
https://issues.apache.org/jira/browse/CALCITE-6018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-6018:
------------------------------------
Labels: pull-request-available (was: )
> Support nullable parameters in UDFs
> -----------------------------------
>
> Key: CALCITE-6018
> URL: https://issues.apache.org/jira/browse/CALCITE-6018
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.35.0
> Reporter: Vladimir Sitnikov
> Priority: Major
> Labels: pull-request-available
>
> Currently Calcite treats almost all the parameters as non-nullable. There's
> {{@Parameter(optional=true)}}, however, it mixes "optionality" vs
> "nullability".
> In other words, I would like to have nullable, non-optional parameters in
> UDFs.
> For instance, Calcite could pick up nullness information from annotations
> (e.g. `@Nullable`). For instance, Kotlin compiler generates the annotations
> automatically, so I think supporting more-or-less standard tools like
> jspecify and checkerframework should be preferred over Calcite-only
> annotations.
> ---
> Sample usage: {{retainedSize}} is declared as
> https://github.com/vlsi/mat-calcite-plugin/blob/4d4aa2284eeec69bc51da0c2e769ded06ef9ab97/MatCalcitePlugin/src/com/github/vlsi/mat/calcite/functions/HeapFunctions.java#L129,
> and I want to declare that {{retainedSize}} is fine to receive {{null}}
> parameter.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)