[ 
https://issues.apache.org/jira/browse/CALCITE-3587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16996117#comment-16996117
 ] 

Rui Wang commented on CALCITE-3587:
-----------------------------------

[~danny0405] I think the 
[method|https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rex/RexBuilder.java#L1363]
 that Yanlin is trying to fix is public (that's why it's used in unit test). 
Maybe you were looking into a different protected method?







> RexBuilder may lose decimal fraction for creating literal with DECIMAL type
> ---------------------------------------------------------------------------
>
>                 Key: CALCITE-3587
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3587
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Wang Yanlin
>            Assignee: Wang Yanlin
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> this test
> {code:java}
> // RexBuilderTest
> @Test public void testDecimal() {
> final RelDataTypeFactory typeFactory =
> new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);
> final RelDataType type = typeFactory.createSqlType(SqlTypeName.DECIMAL, 4, 2);
> final RexBuilder builder = new RexBuilder(typeFactory);
> final RexLiteral literal = (RexLiteral) builder.makeLiteral(12.3, type, 
> false);
> Comparable value = literal.getValue();
> assertThat(value.toString(), is("12.3"));
> }
> {code}
> fails with message 
> {code:java}
> java.lang.AssertionError: 
> Expected: is "12.3"
>      but: was "12"
> Expected :12.3
> Actual   :12
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to