You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Chunwei Lei (JIRA)" <ji...@apache.org> on 2019/04/13 14:00:00 UTC

[jira] [Comment Edited] (CALCITE-2994) Least restrictive type among structs does not consider nullability

    [ https://issues.apache.org/jira/browse/CALCITE-2994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16816949#comment-16816949 ] 

Chunwei Lei edited comment on CALCITE-2994 at 4/13/19 1:59 PM:
---------------------------------------------------------------

I believe what [~zabetak] means is that {{RelDataTypeFactory#leastRestrictive}} returns the type of loc1 rather than the type of loc2 in his case which is not expected. The reason is {{RelDataTypeFactory#leastRestrictive}} does not take into account nullability when the type is structured type (or row type).

[~zabetak], If I am right, can I task this issue?


was (Author: chunwei lei):
I believe what [~zabetak] means is that {{RelDataTypeFactory#leastRestrictive}} returns the type of loc1 rather than the type of loc2 in his case which is not expected. The reason is {{RelDataTypeFactory#leastRestrictive}} does not take into account nullability when the type is structured type (or row type).

> Least restrictive type among structs does not consider nullability 
> -------------------------------------------------------------------
>
>                 Key: CALCITE-2994
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2994
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>             Fix For: 1.20.0
>
>
> Consider the following high-level example:
> {code:sql}
> CREATE TYPE Coordinates AS (
>   x INT,
>   y INT);
> CREATE TABLE Address (
>   loc1 Coordinates NOT NULL,
>   loc2 Coordinates)
> {code}
> The least restrictive type between loc1 and loc2 is the type of loc2 (i.e., a nullable Coordinates type). 
> The existing code (i.e., RelDataTypeFactory#leastRestrictive) does take into account nullability when the type is structured type (or row type). 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)