[ https://issues.apache.org/jira/browse/CALCITE-3627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stamatis Zampetakis updated CALCITE-3627: ----------------------------------------- Fix Version/s: 1.30.0 > Incorrect null semantic for ROW function > ---------------------------------------- > > Key: CALCITE-3627 > URL: https://issues.apache.org/jira/browse/CALCITE-3627 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Feng Zhu > Assignee: Feng Zhu > Priority: Major > Labels: pull-request-available > Fix For: 1.30.0 > > Time Spent: 6h > Remaining Estimate: 0h > > In CALCITE-2464, an in-depth discussion on nullability of structured type has > been conducted. > According to SQL standards, a record's value (with structure type) is > considered null if and only if all of its fields are null. > Based on that, the *ROW* function's return type can be nullable. > Moreover, current implementor for ROW function's _*NullPolicy*_ > (_NullPolicy.ANY_) contradicts its runtime behavior. > {code:java} > Query: > select ROW(1, cast(null as int)) > Result: > {1, null}{code} > However, according to the NullPolicy, the result should be null. -- This message was sent by Atlassian Jira (v8.20.1#820001)