mariadb/storage/innobase/row
Marko Mäkelä fb2a2d2562 Bug#17312846 CHECK TABLE ASSERTION FAILURE
DICT_TABLE_GET_FORMAT(CLUST_INDEX->TABLE) >= 1

The function row_sel_sec_rec_is_for_clust_rec() was incorrectly
preparing to compare a NULL column prefix in a secondary index with a
non-NULL column in a clustered index.

This can trigger an assertion failure in 5.1 plugin and later. In the
built-in InnoDB of MySQL 5.1 and earlier, we would apparently only do
some extra work, by trimming the clustered index field for the
comparison.

The code might actually have worked properly apart from this debug
assertion failure. It is merely doing some extra work in fetching a
BLOB column, and then comparing it to NULL (which would return the
same result, no matter what the BLOB contents is).

While the test case involves CHECK TABLE, this could theoretically
occur during any read that uses a secondary index on a column prefix
of a column that can be NULL.

rb#3101 approved by Mattias Jonsson
2013-08-16 15:45:41 +03:00
..
row0ins.c Bug#59354 : Bug #12659252 : ASSERT !OTHER_LOCK AT LOCK_REC_ADD_TO_QUEUE DURING A DELETE OPERATION 2012-11-28 17:05:23 +09:00
row0mysql.c Bug #17076737 DUPLICATE CONSTRAINTS DISPLAYED WHEN NAME INCLUDES "_IBFK_" 2013-07-25 14:53:23 +05:30
row0purge.c Bug#12963823 CRASH IN PURGE THREAD UNDER UNUSUAL CIRCUMSTANCES 2011-09-22 13:35:02 +03:00
row0row.c Revert most of revno 3560.9.1 (Bug#12704861) 2011-10-26 11:44:28 +03:00
row0sel.c Bug#17312846 CHECK TABLE ASSERTION FAILURE 2013-08-16 15:45:41 +03:00
row0uins.c Applied innodb-5.1 snapshots ss799 and ss854 2006-09-21 01:39:09 -06:00
row0umod.c Bug#17302896 DOUBLE PURGE ON ROLLBACK OF UPDATING A DELETE-MARKED RECORD 2013-08-15 15:23:23 +03:00
row0undo.c Bug #13249921 ASSERT !BPAGE->FILE_PAGE_WAS_FREED, USUALLY IN 2012-09-28 16:02:58 +05:30
row0upd.c Add instrumentation for Bug#13721257 RACE CONDITION IN UPDATES OR INSERTS 2012-02-16 12:24:11 +02:00
row0vers.c Re-enable the debug assertions for Bug#12650861. 2011-06-16 11:51:04 +03:00