[ https://issues.apache.org/jira/browse/CALCITE-4590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17352229#comment-17352229 ]
Julian Hyde edited comment on CALCITE-4590 at 5/27/21, 1:33 AM: ---------------------------------------------------------------- Yes, it's a bug. But how to fix it without introducing inconsistency elsewhere? Follow my "Some suggestions" list above and we might make some progress. was (Author: julianhyde): Yes, it's a bug. But how to fix it without introducing inconsistency elsewhere. Follow my "Some suggestions" list above and we might make some progress. > Incorrect query result with fixed-length string > ----------------------------------------------- > > Key: CALCITE-4590 > URL: https://issues.apache.org/jira/browse/CALCITE-4590 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.26.0 > Reporter: Roman Kondakov > Assignee: duan xiong > Priority: Major > > Query may return wrong result when fixed-length strings (CHAR(N)) are used in > OR/IN clause > {code:java} > @Test void test() { > // Passed. > CalciteAssert.that() > .query("select * from (values (1, 'a'), (2, 'abc')) where EXPR$1 = > 'a'") > .returns("EXPR$0=1; EXPR$1=a \n"); > // Failed. Only "EXPR$0=2; EXPR$1=abc\n" is returned > CalciteAssert.that() > .query("select * from (values (1, 'a'), (2, 'abc')) where EXPR$1 = > 'a' or EXPR$1 = 'abc'") > .returns("EXPR$0=1; EXPR$1=a \n" > + "EXPR$0=2; EXPR$1=abc\n"); > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)