Details
-
Type:
Bug
-
Status: Confirmed (View Workflow)
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 10.2, 10.3, 10.4, 10.5, 10.6, 10.4.21
-
Component/s: Plugins, Storage Engine - Connect
-
Labels:None
-
Environment:Linux RH8
Description
After upgrading MariaDB from 10.4.12 to 10.4.21, we observed problems on existing connect tables:
Result set fetched
SQLWarning:
1) Code: 1105 --- Out of range value for column col1 at row 2
|
2) Code: 1366 --- Incorrect string value: '\xC3' for column `lanm2434`.`testconnect`.`col1` at row 2
|
3) Code: 1105 --- Out of range value glac� for column 'col1' at row 2
|
The query is:
select 'testconnect' , col1, length(col1) , char_length(col1) from lanm2434.testconnect;
Looking at the column size in bytes and chars on the table and connect table we can see difference in count for column with multi-bytes char:
select 'testtable' , col1, length(col1) , char_length(col1) from lanm2434.testtable
|
union
|
select 'testconnect' , col1, length(col1) , char_length(col1) from lanm2434.testconnect ;
|
|
testtable col1 length(col1) char_length(col1)
|
----------- ----- ------------ -----------------
|
testtable glace 5 5
|
testtable glacé 6 5
|
testconnect glace 5 5
|
testconnect glac? 5 5
|
And, of course, the accentuated character is not printed as bytes of the character is truncated.
Steps to reproduce:
CREATE TABLE `testtable` ( |
`col1` char(5) |
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
|
INSERT INTO `lanm2434`.`testtable` (`col1`) VALUES ('glace'); |
INSERT INTO `lanm2434`.`testtable` (`col1`) VALUES ('glacé'); |
|
CREATE or REPLACE TABLE `testconnect` ENGINE=CONNECT DEFAULT CHARSET=utf8 |
CONNECTION='mysql://lanm2434:pppppppp@hostname:3306/lanm2434/testtable' `TABLE_TYPE`='mysql'; |
Attachments
Issue Links
- relates to
-
MDEV-28489 The Cyrillic string is not truncated by the number of characters when using the Connect Engine table
-
- Confirmed
-