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

Danny Chen commented on CALCITE-4085:
-------------------------------------

> The “RETURNS NULL ON NULL INPUT” property is a characteristic of a function, 
> not a type

I actually agree with this point, at least, for current code, before or after 
you proposed modifications, for the SQL type , e.g. a nullable record type with 
non-nullable field does not has a clear semantic, it becomes clean when we bind 
the type to a specific language, e.g. the Java. So from the perspective of SQL, 
the current master code works correctly.

For 1, i have no strong objections, let's see other's options. If it is a must 
for Flink, we should demonstrate that it is a must and the change deserves to 
push to Calcite.

For 2, i have on idea what the different with Row type and Structure type, 
maybe [~zabetak] can give good explanation.

> Improve nullability support for fields of structured type
> ---------------------------------------------------------
>
>                 Key: CALCITE-4085
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4085
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Dawid Wysakowicz
>            Assignee: Dawid Wysakowicz
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> As discussed in 
> https://lists.apache.org/thread.html/r602ac95fff23dd1ef974fb396df7be061ab861384ec42f5c57ce0bc2%40%3Cdev.calcite.apache.org%3E
>  I would like to change the way a type of a field of a record is derived at 
> couple of locations. This helps frameworks such as Apache Flink to build 
> support for nullable records with not null fields.
> I suggest to change:
> * SqlDotOperator#deriveType
> * SqlItemOperator#inferReturnType
> * AliasNamespace#validateImpl
> * RexBuilder#makeFieldAccessInternal
> * SqlValidatorImpl.DeriveTypeVisitor#visit(SqlIdentifier)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to