You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2015/04/07 21:07:12 UTC
[jira] [Created] (CALCITE-672) SQL "any" type should be created as
nullable in RelDataTypeFactory.
Jinfeng Ni created CALCITE-672:
----------------------------------
Summary: SQL "any" type should be created as nullable in RelDataTypeFactory.
Key: CALCITE-672
URL: https://issues.apache.org/jira/browse/CALCITE-672
Project: Calcite
Issue Type: Bug
Reporter: Jinfeng Ni
Assignee: Julian Hyde
Calcite uses SQL "any" type internally, when the type of an Rex expression is not known precisely. By its name, "any" could mean nullable type, or non-nullable type. Therefore, it makes sense to create SQL "any" type as nullable type.
However, in the Calcite code, the nullability of "any" type is not set consistently. For example, the SqlItemOperator would set "any" as nullable, while SqlUnresolvedFunction will set "any" as non-nullable.
SQL "any" type is used extensively in Schema-less system like Drill, since the exact SQL type would be determined in run-time only. Having an inconsistent nullability through Calcite library will cause issues for a schema-less system.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)