mariadb/storage/innobase/row
Thirunarayanan Balathandayuthapani e46c9a0152 MDEV-37296 ALTER TABLE allows adding unique hash key with duplicate values
Problem:
=======
- During copy algorithm, InnoDB fails to detect the duplicate
key error for unique hash key blob index. Unique HASH index
treated as virtual index inside InnoDB.
When table does unique hash key , server does search on
the hash key before doing any insert operation and
finds the duplicate value in check_duplicate_long_entry_key().
Bulk insert does all the insert together when copy of
intermediate table is finished. This leads to undetection of
duplicate key error while building the index.

Solution:
========
- Avoid bulk insert operation when table does have unique
hash key blob index.

dict_table_t::can_bulk_insert(): To check whether the table
is eligible for bulk insert operation during alter copy algorithm.
Check whether any virtual column name starts with DB_ROW_HASH_ to
know whether blob column has unique index on it.
2025-08-11 13:29:32 +05:30
..
row0ext.cc Merge 10.3 into 10.4 2020-07-02 07:39:33 +03:00
row0ftsort.cc Merge branch '10.6' into 10.11 2023-12-18 11:19:04 +01:00
row0import.cc MDEV-35169 ALTER TABLE...IMPORT TABLESPACE does not work with INDEX DESC 2025-01-28 11:56:35 +05:30
row0ins.cc MDEV-37296 ALTER TABLE allows adding unique hash key with duplicate values 2025-08-11 13:29:32 +05:30
row0log.cc MDEV-37033 UBSAN: row_log_table_apply_ops runtime error: applying non-zero offset 1048576 to null pointer 2025-06-23 17:25:45 +10:00
row0merge.cc MDEV-36017 Alter table aborts when temporary directory is full 2025-05-26 10:12:14 +05:30
row0mysql.cc MDEV-36017 Alter table aborts when temporary directory is full 2025-05-26 10:12:14 +05:30
row0purge.cc MDEV-35000 preparation: Clean up dict_table_t::stat 2025-02-28 08:55:16 +02:00
row0quiesce.cc Merge 10.6 into 10.11 2025-05-21 07:36:35 +03:00
row0row.cc Merge branch '10.5' into 10.6 2024-10-29 14:20:03 +01:00
row0sel.cc Merge 10.6 into 10.11 2025-02-25 10:23:24 +02:00
row0uins.cc MDEV-35000: dict_table_close() breaks STATS_AUTO_RECALC 2025-02-28 09:00:16 +02:00
row0umod.cc MDEV-36017 Alter table aborts when temporary directory is full 2025-05-26 10:12:14 +05:30
row0undo.cc MDEV-32175: Reduce page_align(), page_offset() calls 2024-11-21 11:01:30 +02:00
row0upd.cc MDEV-36017 Alter table aborts when temporary directory is full 2025-05-26 10:12:14 +05:30
row0vers.cc Merge 10.6 into 10.11 2024-11-29 13:43:17 +02:00