Description
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.
Attachments
Issue Links
- relates to
-
CALCITE-4590 Incorrect query result with fixed-length string
- Resolved
-
CALCITE-1199 Incorrect trimming of CHAR when performing cast to VARCHAR
- Closed
-
CALCITE-2311 case when returns redundant white space
- Closed