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)

Reply via email to