[ 
https://issues.apache.org/jira/browse/CALCITE-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Hyde resolved CALCITE-2321.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.17.0

Fixed in 
[18bfc278|http://git-wip-us.apache.org/repos/asf/calcite/commit/18bfc278]; 
thanks for the PR, [~hequn8128]!

I changed the method name to {{shouldConvertRaggedUnionTypesToVarying()}} 
because I felt that it was more descriptive.

I concluded that you were right, and {{RelDataTypeSystem}} was the right place 
for this property. It was easier to put it in the type system than to find and 
fix all calls to {{RelDataTypeFactory.leastRestrictiveType()}}. I modified your 
change accordingly.

> Support ragged fixed length value union be variable
> ---------------------------------------------------
>
>                 Key: CALCITE-2321
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2321
>             Project: Calcite
>          Issue Type: New Feature
>          Components: core
>            Reporter: Hequn Cheng
>            Assignee: Hequn Cheng
>            Priority: Major
>             Fix For: 1.17.0
>
>
> The {{shouldRaggedFixedLengthValueUnionBeVariable()}} function in 
> {{SqlTypeFactoryImpl}} always return false now. It is good to make it 
> configurable since some system may need the function to return true to 
> provide pragmatic behavior. For example, for the sql: case 1 when 1 then 'a' 
> when 2 then 'bcd' end, we need the return value to be 'a' instead of 'a  ' of 
> CHAR(3).
> I see one option to solve this issue: Add {{boolean 
> shouldRaggedFixedLengthValueUnionBeVariable()}} in {{RelDataTypeSystem}}, so 
> external system can override to configure the value.
> Any suggestions are welcomed. Thanks a lot.



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

Reply via email to