[
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)