复制执行我提供的两个sql就一定会复现!
不管哪个flink版本一定都会有这个问题,因为它们都是使用calcite 1.26.0。
这个问题是这个版本calcite引起的。

















在 2023-03-22 09:28:17,"Jeff" <zilong0...@126.com> 写道:
>bug地址:
>https://issues.apache.org/jira/browse/FLINK-31375?filter=-2
>
>
>bug详细内容:
>the values of map<string,string> are truncated by the CASE WHEN function.
>// sql
>create table test (a map<varchar, string>) with ('connector'='print');
>insert into test  select * from (values(case when true then 
>map['test','123456789'] else map ['msg_code','0', 'msg_reason', 'abc'] end));
>
>the result:
>
>+I[{test=123}] 
>
>We hope the value of result is '123456789', but I get '123', the length is 
>limited by 'abc'.

回复