[
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)