[MDEV-23530] ERROR 1071: Specified key was too long; max key length is 1000/2000 bytes on CREATE TABLE ... UNIQUE KEY ... USING HASH Created: 2020-08-21  Updated: 2023-03-03

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - Aria
Affects Version/s: 10.4, 10.5, 10.6, 10.7, 10.8, 10.9
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Roel Van de Paar Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: not-10.1, not-10.2, not-10.3, regression

Issue Links:
Relates
relates to MDEV-17662 Default to UTF8 Closed
relates to MDEV-18791 Wrong error upon creating Aria table ... Closed
relates to MDEV-21624 Unique index length is able to exceed... Closed
relates to MDEV-22184 UNIQUE key with USING HASH clause cha... Open

 Description   

# First 3 succeed, last one fails with 'ERROR 1071 (42000): Specified key was too long; max key length is 2000 bytes'
CREATE TABLE t1(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=InnoDB;
CREATE TABLE t2(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=MyISAM;
CREATE TABLE t3(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=MEMORY;
CREATE TABLE t4(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=Aria;

Leads to:

10.5.6 1c587481966abc7a9ad5309d0a91ca920f7a5657 (Optimized)

10.5.6>CREATE TABLE t1(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=InnoDB;
Query OK, 0 rows affected (0.013 sec)
10.5.6>CREATE TABLE t2(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=MyISAM;
Query OK, 0 rows affected (0.002 sec)
10.5.6>CREATE TABLE t3(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=MEMORY;
Query OK, 0 rows affected (0.002 sec)
10.5.6>CREATE TABLE t4(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=Aria;
ERROR 1071 (42000): Specified key was too long; max key length is 2000 bytes

10.4.15 eae968f62d285de97ed607c87bc131cd863d5d03 (Optimized)

10.4.15>CREATE TABLE t4(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=Aria;
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes

Also note the 1000 vs 2000 inconsistency between 10.4 and 10.5

It is a regression:

10.3.25 bafc5c1321a7dff5f2da292111bf98fed9d1658d (Optimized)

10.3.25>CREATE TABLE t4(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=Aria;
Query OK, 0 rows affected (0.012 sec)

10.2.34 (Optimized)

10.2.34>CREATE TABLE t4(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=Aria;
Query OK, 0 rows affected (0.01 sec)

10.1.47 (Optimized)

10.1.47>CREATE TABLE t4(c CHAR(1), UNIQUE KEY i(c) USING HASH) ENGINE=Aria;
Query OK, 0 rows affected (0.01 sec)



 Comments   
Comment by Roel Van de Paar [ 2020-08-21 ]

May also want to review MDEV-21624, (MDEV-17662,) and MDEV-22184 when looking into this. Though none of them seems directly related, the variability in this area may affect fixing strategy.

Comment by Roel Van de Paar [ 2020-08-22 ]

Reassigned to Monty, I was told this is related to recent doubling of Aria max key length.

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