Mihai Budiu created CALCITE-6813:
------------------------------------
Summary: 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
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)