You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2018/06/08 21:21:00 UTC
[jira] [Resolved] (CALCITE-2321) Support ragged fixed length value
union be variable
[ 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)