[
https://issues.apache.org/jira/browse/CALCITE-6680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17896499#comment-17896499
]
Chris Dennis commented on CALCITE-6680:
---------------------------------------
It's in the attached patch. If you revert the fix in {{RexImpTable}}, and
remove the assertion on the plan contents then you'll see a
{{NullPointerException}} when the plan code tries to dereference the null
column value.
> RexImpTable erroneously declares NullPolicy.NONE for IS_EMPTY
> -------------------------------------------------------------
>
> Key: CALCITE-6680
> URL: https://issues.apache.org/jira/browse/CALCITE-6680
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Chris Dennis
> Priority: Major
> Attachments: is-empty-nullable.patch
>
>
> RexImpTable implements {{IS EMPTY}} and {{IS NOT EMPTY}} using
> {{Collections.isEmpty()}} but declares them as {{NullPolicy.NONE}}. ThisĀ
> causes nullable array and map columns to throw NPE at execution time when
> hitting null values. I strongly suspect that other collection operators are
> similarly misclassified and would run in to issues is used against nullable
> types.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)