You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2019/11/14 18:56:00 UTC

[jira] [Commented] (CALCITE-3477) Decimal type should not be assigned from other types

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

Julian Hyde commented on CALCITE-3477:
--------------------------------------

What does the SQL standard say? Is it illegal to assign say {{DECIMAL(4, 0)}} to {{INTEGER}}? I suspect not.

> Decimal type should not be assigned from other types
> ----------------------------------------------------
>
>                 Key: CALCITE-3477
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3477
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Kirils Mensikovs
>            Assignee: Feng Zhu
>            Priority: Major
>              Labels: geospatial, pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Geospatial function with integer parameter fails. The expected behavior is to cast automatically all number values to BigDecimal.
> {{Example: 'select  ST_MAKEPOINT(1.0, 1)'}}
> Return:
> {code:java}
> Error: Error while executing SQL "select  ST_MAKEPOINT(1.0, 1)": Error while compiling generated Java code:
> public org.apache.calcite.linq4j.Enumerable bind(final org.apache.calcite.DataContext root) {
>   final org.apache.calcite.linq4j.Enumerable _inputEnumerable = org.apache.calcite.linq4j.Linq4j.asEnumerable(new Integer[] {
>     0});
>   return new org.apache.calcite.linq4j.AbstractEnumerable(){
>       public org.apache.calcite.linq4j.Enumerator enumerator() {
>         return new org.apache.calcite.linq4j.Enumerator(){
>             public final org.apache.calcite.linq4j.Enumerator inputEnumerator = _inputEnumerable.enumerator();
>             public void reset() {
>               inputEnumerator.reset();
>             }
>             public boolean moveNext() {
>               return inputEnumerator.moveNext();
>             }
>             public void close() {
>               inputEnumerator.close();
>             }
>             public Object current() {
>               final java.math.BigDecimal v = $L4J$C$new_java_math_BigDecimal_1_0_;
>               return org.apache.calcite.runtime.GeoFunctions.ST_MakePoint(v, 1);
>             }
>             static final java.math.BigDecimal $L4J$C$new_java_math_BigDecimal_1_0_ = new java.math.BigDecimal(
>               "1.0");
>           };
>       }
>     };
> }
> public Class getElementType() {
>   return org.apache.calcite.runtime.GeoFunctions.Geom.class;
> } (state=,code=0)
> {code}
>  



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