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)