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/05/21 16:49:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16482714#comment-16482714 ] 

Julian Hyde commented on CALCITE-2321:
--------------------------------------

RelDataTypeSystem seems a reasonable place for it. But since creating a type system is hard work, there should be a way to set it via the dialect. Also, putting it in the dialect would make it easier for people to find the documentation.

Can you research whether any major DBMSs have this behavior.

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