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

Pavel Pereslegin updated IGNITE-20649:
--------------------------------------
    Affects Version/s:     (was: 3.0.0-beta2)

> SQL: class cast exception in EXCEPT SELECT with different column types
> ----------------------------------------------------------------------
>
>                 Key: IGNITE-20649
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20649
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Andrey Khitrin
>            Assignee: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3, sql
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Steps to reproduce:
> 1. Create two tables, one with `INT` column and one with `NUMERIC`. Add some 
> sample data into both.
> {code:sql}
> -- first table
> drop table if exists tmp_table_age_name_wage;
> create table tmp_table_age_name_wage (key_field INT PRIMARY KEY,AGE 
> INT,field1 VARCHAR,field2 INT);
> insert into tmp_table_age_name_wage (key_field,AGE,field1,field2) values (1, 
> 42,'John',100000);
> insert into tmp_table_age_name_wage (key_field,AGE,field1,field2) values (2, 
> 43,'Jack',50000);
> -- second table
> drop table if exists tmp_table_age_name_wage_2;
> create table tmp_table_age_name_wage_2 (key_field INT PRIMARY KEY,AGE 
> DECIMAL,field1 VARCHAR,field2 DECIMAL);
> insert into tmp_table_age_name_wage_2 (key_field,AGE,field1,field2) values 
> (1, 42,'John',100000);
> {code}
> 2. `UNION SELECT` for columns with different types works fine:
> {code:sql}
> sql-cli> SELECT AGE,field1,field2 FROM tmp_table_age_name_wage UNION SELECT 
> AGE,field1,field2 FROM tmp_table_age_name_wage_2;
> ╔═════╤════════╤════════╗
> ║ AGE │ FIELD1 │ FIELD2 ║
> ╠═════╪════════╪════════╣
> ║ 42  │ John   │ 100000 ║
> ╟─────┼────────┼────────╢
> ║ 42  │ John   │ 100000 ║
> ╟─────┼────────┼────────╢
> ║ 43  │ Jack   │ 50000  ║
> ╚═════╧════════╧════════╝
> {code}
> 3. Nevertheless, `EXCEPT SELECT` leads to class casting exception:
> {code:sql}
> sql-cli> SELECT AGE,field1,field2 FROM tmp_table_age_name_wage EXCEPT SELECT 
> AGE,field1,field2 FROM tmp_table_age_name_wage_2;
> SQL query execution error
> class java.math.BigDecimal cannot be cast to class java.lang.Integer 
> (java.math.BigDecimal and java.lang.Integer are in module java.base of loader 
> 'bootstrap')
> {code}
> The query above worked in AI3 some time ago (e.g., in 3.0.0-beta1), but not 
> now. Looks like a degradation.



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

Reply via email to