[ https://issues.apache.org/jira/browse/CALCITE-4710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17390947#comment-17390947 ]
Data Platform edited comment on CALCITE-4710 at 7/31/21, 10:09 AM: ------------------------------------------------------------------- I found that this problem can be circumvented by adding an empty string to the constant. Like this: insert into OutputStream select "zz" as name_a, case when xdr.name_b is not null then ""++"AAAAA" else ""++"BB" end as name_b from InStream as xdr; Hope it helps. was (Author: season): I found that this problem can be circumvented by adding an empty string to the constant. Like this: insert into OutputStream select "zz" as name_a, case when xdr.name_b is not null then ""+"AAAAA" else ""+"BB" end as name_b from InStream as xdr; Hope it helps. > In the special scenario of the case when statement, the constant RexNode > fails to be parsed. > -------------------------------------------------------------------------------------------- > > Key: CALCITE-4710 > URL: https://issues.apache.org/jira/browse/CALCITE-4710 > Project: Calcite > Issue Type: Bug > Affects Versions: 1.20.0, 1.27.0 > Reporter: Data Platform > Priority: Major > Labels: features > > I found that calcite had problems parsing the "case when" statement since > version 1.20.0. > insert into OutputStream select "zz" as name_a, case when xdr.name_b is not > null then "AAAAA" else "BB" end as name_b from InStream as xdr; > ---- > use calcite (version:1.20.0)to parse the Streamming SQL: > in the "case when" statement, The analysis result is not Correct of > RexLiteral "BB": > Result: > Correct: RexLiteral "AAAAA" : type ="CHAR(5)" , digest="'AAAAA'" > Error: RexLiteral "BB" : type ="CHAR(5)" , digest="'BB '" > I found that the parsing result of the constant "BB" is aligned with that of > the constant "AAAAA", The missing bits are filled with spaces. > ---- > use calcite (version:1.17.0)to parse the Streamming SQL: > In the "case when" statement, The analysis result is as expected: > Result: > Correct: RexLiteral "AAAAA" : type ="CHAR(5)" , digest="'AAAAA'" > Correct: RexLiteral "BB" : type ="CHAR(2)" , digest="'BB'" -- This message was sent by Atlassian Jira (v8.3.4#803005)