If the case-when expression has two branches which returns string literal,redundant white space will append to the short string literal after the ReduceExpressionsRule. For example:
will actually be convert to
The reason is that the type of 'a' is CHAR(1),but CHAR(3) for 'abc',so the return type of the case-when is CHAR(3). The RexBuilder#ensureType() method append a cast convertion for 'a' to cast it to CHAR(3) type.The ReduceExpressionsRule execute the cast convertion which fill two whilte space to 'a'.