@hequn8128, as I wrote before, we can not support hundreds of switches modifying semantic of SQL, especially not in so minor ways. This PR also do not fix your original issue - broken `CHAR(x)` support in Flink.
Output column type of `CHAR(x)` should be properly handled by each connector. For example if Flink is processing some `CHAR(X)` column which is then being written to some sink/connector, it's this Sink's responsibility to correctly handle padding - whether that means trimming it or not depends on the underlying column's type. Again, changing type of `case when` only partially hides the problem. > I think we should not add trailing spaces in result of case when, just like > most DBMSs do. Further more, please correct me if I'm wrong, but this sentence seems not quite correct: MySQL http://sqlfiddle.com/#!9/ce6d86/1 1. string literals seems to be of `VARCHAR(x)` type. 2. `CONCAT` on `CHAR(x)` is broken 3. indeed `case when` returns `VARCHAR(x)` Oracle http://sqlfiddle.com/#!4/ce6d86/1 1. string literals seems to be `VARCHAR` 2. type of `case when` calculated dynamically, depending which branch was selected, but looks like `CHAR(x)` PostgreSQL http://sqlfiddle.com/#!17/ce6d8/1 http://sqlfiddle.com/#!17/c6522/1/0 1. again, string literals are of `UNKNOWN` type 2. `case when` return type is `CHARACTER`. MSSQL http://sqlfiddle.com/#!18/ce6d8/2 1. again, string literals seems to be `VARCHAR` 2. oO... I'm not even attempting to interpret those results... probably `concat` on `VARCHAR` with trailing spaces is seriously broken Btw, if you look at those results, you should understand why I'm objecting into providing a configuration switch (or more like a hundred of them) in order to follow what "other DBMSs do". This is simply impossible... Also as I wrote previously. The proper fix for the problem would be to either fix `CHAR(x)` support or to change string literals' type to `VARCHAR(x)`. [ Full content available at: https://github.com/apache/flink/pull/6519 ] This message was relayed via gitbox.apache.org for [email protected]
