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)

Reply via email to