[
https://issues.apache.org/jira/browse/IGNITE-20649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-20649:
--------------------------------------
Fix Version/s: 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
> Affects Versions: 3.0.0-beta2
> 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)