mariadb/mysql-test/suite
Annamalai Gurusami 761735d9b9 Bug #14668683 ASSERT REC_GET_DELETED_FLAG(REC, PAGE_IS_COMP(PAGE))
Problem:

The function row_upd_changes_ord_field_binary() is used to decide whether to
use row_upd_clust_rec_by_insert() or row_upd_clust_rec().  The function
row_upd_changes_ord_field_binary() does not make use of charset information.
Based on binary comparison it decides that r1 and r2 differ in their ordering
fields.

In the function row_upd_clust_rec_by_insert(), an update is done by delete +
insert.  These operations internally make use of cmp_dtuple_rec_with_match()
to compare records r1 and r2.  This comparison takes place with the use of
charset information.

This means that it is possible for the deleted record to be reused in the
subsequent insert.  In the given scenario, the characters 'a' and 'A' are
considered equal in the my_charset_latin1.  When this happens, the ownership
information of externally stored blobs are not correctly handled.

Solution:

When an update is done by delete followed by insert, disown the relevant
externally stored fields during the delete marking itself (within the same
mtr).  If the insert succeeds, then nothing with respect to blob ownership
needs to be done.  If the insert fails, then the disown done earlier will be
removed when the operation is rolled back.

rb#4479 approved by Marko.
2014-01-30 12:38:13 +05:30
..
binlog BUG#16290902 DROP TEMP TABLE IF EXISTS CAN CAUSE POINT 2013-07-27 17:35:02 +05:30
engines Bug#16274455: CAN NOT ACESS PARTITIONED TABLES WHEN 2013-02-14 17:03:49 +01:00
federated Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE 2012-07-26 15:29:19 +05:30
funcs_1 local merge. 2013-03-22 20:16:53 +05:30
funcs_2 Changed to Oracle bug numbers 2011-05-24 12:08:13 +05:30
innodb Bug #14668683 ASSERT REC_GET_DELETED_FLAG(REC, PAGE_IS_COMP(PAGE)) 2014-01-30 12:38:13 +05:30
innodb_zip BUG#16321920 : CREATE A SEPARATE INNODB_ZIP TEST SUITE 2013-11-29 15:13:47 +05:30
jp WL#2360 Performance schema 2010-01-11 18:47:27 -07:00
large_tests BUG#11877618: rpl_slave_net_timeout fails in rpl_sync.inc (at sync_slave_with_master) 2011-03-17 11:31:42 +01:00
manual BUG#49978: Replication tests don't clean up replication state at the end 2010-12-19 18:07:28 +01:00
parts Bug#16274455: CAN NOT ACESS PARTITIONED TABLES WHEN 2013-02-14 17:03:49 +01:00
perfschema Bug#16060864 SEGMENTATION FAULT IN PERFORMANCE_SCHEMA WITH HISTORY SIZE 0 2013-01-02 11:00:55 +01:00
perfschema_stress Removing copyright headers from test files 2011-10-19 23:44:17 +02:00
rpl WL#7266: Dump-thread additional concurrency tests 2013-10-14 15:51:09 +01:00
stress Bug #11751927 42960: MTR2: NO MORE --STRESS PARAMETERS 2011-09-15 12:34:32 +02:00
sys_vars BUG 18117322 - DEFINE INNODB_THREAD_SLEEP_DELAY MAX VALUE 2014-01-24 09:57:25 +08:00