dylanhz created FLINK-40849:
-------------------------------

             Summary: UNION ALL fails for RAW/BITMAP columns with different 
nullability
                 Key: FLINK-40849
                 URL: https://issues.apache.org/jira/browse/FLINK-40849
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Planner
            Reporter: dylanhz


h2. Description

UNION ALL fails when corresponding RAW or BITMAP columns differ only in 
nullability, throwing {{AssertionError: No assign rules for OTHER defined}}.

h2. Reproducer

Using Flink's test {{values}} connector:

{code:sql}
CREATE TABLE t (
    a BITMAP NOT NULL,
    b BITMAP
) WITH ('connector' = 'values', 'bounded' = 'true');

SELECT a FROM t
UNION ALL
SELECT b FROM t;
{code}

Expected: validation succeeds with a nullable BITMAP result.

Actual: validation throws the assertion above. The same issue occurs for RAW 
columns with identical class and serializer.

h2. Cause

Different nullability prevents Flink's identical-type shortcut from applying. 
Calcite then falls back to conversion checks, but RAW and BITMAP use 
{{SqlTypeName.OTHER}}, which has no entry in the default assignment rules.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to