[ 
https://issues.apache.org/jira/browse/IGNITE-18804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maksim Zhuravkov updated IGNITE-18804:
--------------------------------------
    Description: 
Queries 1, 17, 20 fail with similar errors caused by class cast exceptions in 
aggregate functions:

{code:java}
 // q20 class java.lang.Long cannot be cast to class java.math.BigDecimal 
(java.lang.Long and java.math.BigDecimal are in module java.base of loader 
'bootstrap')
    //  at 
org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalSumEmptyIsZero.add(Accumulators.java:588)

    // q17 Caused by: java.lang.ClassCastException: class java.lang.Long cannot 
be cast to class java.math.BigDecimal (java.lang.Long and java.math.BigDecimal 
are in module java.base of loader 'bootstrap')
    //  at 
org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalAvg.add(Accumulators.java:270)

    // q1 Caused by: java.lang.ClassCastException: class java.lang.Long cannot 
be cast to class java.math.BigDecimal (java.lang.Long and java.math.BigDecimal 
are in module java.base of loader 'bootstrap')
    //  at 
org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalSumEmptyIsZero.add(Accumulators.java:588)
{code}

Query#1:

{code:java}
SELECT
    l_returnflag,
    l_linestatus,
    sum(l_quantity)                                       AS sum_qty,
    sum(l_extendedprice)                                  AS sum_base_price,
    sum(l_extendedprice * (1 - l_discount))               AS sum_disc_price,
    sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
    avg(l_quantity)                                       AS avg_qty,
    avg(l_extendedprice)                                  AS avg_price,
    avg(l_discount)                                       AS avg_disc,
    count(*)                                              AS count_order
FROM
    lineitem
WHERE
        l_shipdate <= DATE '1998-12-01' - INTERVAL '90' DAY
GROUP BY
    l_returnflag,
    l_linestatus
ORDER BY
    l_returnflag,
    l_linestatus
{code}

Query#17:
{code:java}
SELECT sum(l_extendedprice) / 7.0 AS avg_yearly
FROM
    lineitem,
    part
WHERE
        p_partkey = l_partkey
  AND p_brand = 'Brand#23'
  AND p_container = 'MED BOX'
  AND l_quantity < (
    SELECT 0.2 * avg(l_quantity)
    FROM
        lineitem
    WHERE
            l_partkey = p_partkey
)
{code}

Query#20:

{code:java}
SELECT
    s_name,
    s_address
FROM
    supplier, nation
WHERE
        s_suppkey IN (
        SELECT ps_suppkey
        FROM
            partsupp
        WHERE
                ps_partkey IN (
                SELECT p_partkey
                FROM
                    part
                WHERE
                        p_name LIKE 'forest%'
            )
          AND ps_availqty > (
            SELECT 0.5 * sum(l_quantity)
            FROM
                lineitem
            WHERE
                    l_partkey = ps_partkey
              AND l_suppkey = ps_suppkey
              AND l_shipdate >= date('1994-01-01')
  AND l_shipdate < date('1994-01-01') + interval '1' YEAR
    )
    )
  AND s_nationkey = n_nationkey
  AND n_name = 'CANADA'
ORDER BY s_name
{code}





  was:
Queries 1, 17, 20 fail with similar errors caused by class cast exceptions in 
aggregate functions:

{code:java}
 // q20 class java.lang.Long cannot be cast to class java.math.BigDecimal 
(java.lang.Long and java.math.BigDecimal are in module java.base of loader 
'bootstrap')
    //  at 
org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalSumEmptyIsZero.add(Accumulators.java:588)

    // q17 Caused by: java.lang.ClassCastException: class java.lang.Long cannot 
be cast to class java.math.BigDecimal (java.lang.Long and java.math.BigDecimal 
are in module java.base of loader 'bootstrap')
    //  at 
org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalAvg.add(Accumulators.java:270)

    // q1 Caused by: java.lang.ClassCastException: class java.lang.Long cannot 
be cast to class java.math.BigDecimal (java.lang.Long and java.math.BigDecimal 
are in module java.base of loader 'bootstrap')
    //  at 
org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalSumEmptyIsZero.add(Accumulators.java:588)
{code}







> Sql. Tpc-H. ClassCastException in aggregate functions. Queries 1, 17, 20.
> -------------------------------------------------------------------------
>
>                 Key: IGNITE-18804
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18804
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Maksim Zhuravkov
>            Priority: Minor
>              Labels: calcite2-required, calcite3-required, ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Queries 1, 17, 20 fail with similar errors caused by class cast exceptions in 
> aggregate functions:
> {code:java}
>  // q20 class java.lang.Long cannot be cast to class java.math.BigDecimal 
> (java.lang.Long and java.math.BigDecimal are in module java.base of loader 
> 'bootstrap')
>     //        at 
> org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalSumEmptyIsZero.add(Accumulators.java:588)
>     // q17 Caused by: java.lang.ClassCastException: class java.lang.Long 
> cannot be cast to class java.math.BigDecimal (java.lang.Long and 
> java.math.BigDecimal are in module java.base of loader 'bootstrap')
>     //        at 
> org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalAvg.add(Accumulators.java:270)
>     // q1 Caused by: java.lang.ClassCastException: class java.lang.Long 
> cannot be cast to class java.math.BigDecimal (java.lang.Long and 
> java.math.BigDecimal are in module java.base of loader 'bootstrap')
>     //        at 
> org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators$DecimalSumEmptyIsZero.add(Accumulators.java:588)
> {code}
> Query#1:
> {code:java}
> SELECT
>     l_returnflag,
>     l_linestatus,
>     sum(l_quantity)                                       AS sum_qty,
>     sum(l_extendedprice)                                  AS sum_base_price,
>     sum(l_extendedprice * (1 - l_discount))               AS sum_disc_price,
>     sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
>     avg(l_quantity)                                       AS avg_qty,
>     avg(l_extendedprice)                                  AS avg_price,
>     avg(l_discount)                                       AS avg_disc,
>     count(*)                                              AS count_order
> FROM
>     lineitem
> WHERE
>         l_shipdate <= DATE '1998-12-01' - INTERVAL '90' DAY
> GROUP BY
>     l_returnflag,
>     l_linestatus
> ORDER BY
>     l_returnflag,
>     l_linestatus
> {code}
> Query#17:
> {code:java}
> SELECT sum(l_extendedprice) / 7.0 AS avg_yearly
> FROM
>     lineitem,
>     part
> WHERE
>         p_partkey = l_partkey
>   AND p_brand = 'Brand#23'
>   AND p_container = 'MED BOX'
>   AND l_quantity < (
>     SELECT 0.2 * avg(l_quantity)
>     FROM
>         lineitem
>     WHERE
>             l_partkey = p_partkey
> )
> {code}
> Query#20:
> {code:java}
> SELECT
>     s_name,
>     s_address
> FROM
>     supplier, nation
> WHERE
>         s_suppkey IN (
>         SELECT ps_suppkey
>         FROM
>             partsupp
>         WHERE
>                 ps_partkey IN (
>                 SELECT p_partkey
>                 FROM
>                     part
>                 WHERE
>                         p_name LIKE 'forest%'
>             )
>           AND ps_availqty > (
>             SELECT 0.5 * sum(l_quantity)
>             FROM
>                 lineitem
>             WHERE
>                     l_partkey = ps_partkey
>               AND l_suppkey = ps_suppkey
>               AND l_shipdate >= date('1994-01-01')
>   AND l_shipdate < date('1994-01-01') + interval '1' YEAR
>     )
>     )
>   AND s_nationkey = n_nationkey
>   AND n_name = 'CANADA'
> ORDER BY s_name
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to