[MDEV-26748] Table rebuild fails or corrupts contents of compressed column with some character sets Created: 2021-10-02  Updated: 2023-09-27

Status: Open
Project: MariaDB Server
Component/s: Character Sets, Data Definition - Alter Table
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Alexander Barkov
Resolution: Unresolved Votes: 0
Labels: None


 Description   

CREATE OR REPLACE TABLE t (c VARCHAR(16) COMPRESSED) ENGINE=MyISAM CHARACTER SET utf32;
INSERT INTO t VALUES ('n');
ALTER TABLE t FORCE;
SELECT c, HEX(c) FROM t;
ALTER IGNORE TABLE t FORCE;
SELECT c, HEX(c) FROM t;

ALTER fails with

10.3 333d6c30

MariaDB [test]> ALTER TABLE t FORCE;
ERROR 1265 (01000): Data truncated for column 'c' at row 1

for no good reason, as far as I can tell.

ALTER IGNORE does what the error/warning threatens to and truncates the data:

MariaDB [test]> SELECT c, HEX(c) FROM t;
+------+----------+
| c    | HEX(c)   |
+------+----------+
| n    | 0000006E |
+------+----------+
1 row in set (0.000 sec)
 
MariaDB [test]> ALTER IGNORE TABLE t FORCE;
Query OK, 1 row affected, 1 warning (0.006 sec)    
Records: 1  Duplicates: 0  Warnings: 1
 
MariaDB [test]> SELECT c, HEX(c) FROM t;
+------+--------+
| c    | HEX(c) |
+------+--------+
| ??   | 000000 |
+------+--------+
1 row in set (0.001 sec)


Generated at Thu Feb 08 09:47:39 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.