[
https://issues.apache.org/jira/browse/CALCITE-6813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Budiu resolved CALCITE-6813.
----------------------------------
Resolution: Fixed
Fixex (again) in
https://github.com/apache/calcite/commit/c456f7888b6aff3c3de6eda4fc16405b0b98be30
Thank you for the review [~caicancai]
> UNNEST infers incorrect nullability for the result when applied to an array
> that contains nullable ROW values
> -------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-6813
> URL: https://issues.apache.org/jira/browse/CALCITE-6813
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.38.0
> Reporter: Mihai Budiu
> Assignee: Mihai Budiu
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.39.0
>
>
> An array can have nullable elements, which can be ROW values.
> Consider this example, validated in Postgres:
> {code:sql}
> CREATE TYPE person AS (
> id INTEGER,
> name TEXT
> );
> CREATE TABLE example_table (
> id SERIAL PRIMARY KEY,
> data person[]
> );
> SELECT (element).id AS name
> FROM example_table,
> UNNEST(data) AS element;
> {code}
> If an element in the array is null, then the corresponding element.id is also
> null.
> However, Calcite infers a type of RecordType(BIGINT id) for the rows of this
> query, which is non-nullable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)