Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
1.5.3
-
None
-
debian 9
Description
there seems to be an issue with insert... select in tables with utf8mb4 charset and decimal columns
drop table if exists mcs; |
|
create table mcs( |
s varchar(5) DEFAULT NULL, |
d decimal(7,3) |
) engine=Columnstore default charset=utf8mb4; |
|
set columnstore_use_import_for_batchinsert = 1; |
insert into mcs(d) |
select 1; |
|
=> "Error code 9999: Values saturated" |
the problem is not present when not using cpimport, i.e. using columnstore_use_import_for_batchinsert = 0;
interestingly, the bug disappears if the table definition has the decimal column first, as in here:
drop table if exists mcs; |
|
create table mcs( |
d decimal(7,3), |
s varchar(5) DEFAULT NULL |
) engine=Columnstore default charset=utf8mb4; |
|
set columnstore_import_for_batchinsert_delimiter = 5; |
set columnstore_use_import_for_batchinsert = 1; |
insert into mcs(d) |
select 1; |
|
=> 1 row affected
|
it seems that, to trigger the issue, we need a table with all of the following:
- at least one varchar column in utf8mb4 (column or table, makes no difference)
- at least one decimal column (scale/precision seems to have no effect)
- decimal(s) column(s) not in first position(s) in the table
setup:
- columnstore is set to use utf8
- setting mariadb in utf8mb4/utf8mb4_unicode_ci or utf8/utf8_general_ci makes no difference