mariadb/storage
Marko Mäkelä 707a3bef6e Correct some comments that were added in the fix of Bug #54358
(READ UNCOMMITTED access failure of off-page DYNAMIC or COMPRESSED columns).

Records that lack incompletely written externally stored columns may
be accessed by READ UNCOMMITTED transaction even without involving a
crash during an INSERT or UPDATE operation. I verified this as follows.

(1) added a delay after the mini-transaction for writing the clustered
index 'stub' record was committed (patch attached)
(2) started mysqld in gdb, setting breakpoints to the where the
assertions about READ UNCOMMITTED were added in the bug fix
(3) invoked ibtest3 --create-options=key_block_size=2
to create BLOBs in a COMPRESSED table
(4) invoked the following:
yes 'set transaction isolation level read uncommitted;
checksum table blobt3;select sleep(1);'|mysql -uroot test
(5) noted that one of the breakpoints was triggered
(return(NULL) in btr_rec_copy_externally_stored_field())

=== modified file 'storage/innodb_plugin/row/row0ins.c'
--- storage/innodb_plugin/row/row0ins.c	2010-06-30 08:17:25 +0000
+++ storage/innodb_plugin/row/row0ins.c	2010-06-30 08:17:25 +0000
@@ -2120,6 +2120,7 @@ function_exit:
 		rec_t*	rec;
 		ulint*	offsets;
 		mtr_start(&mtr);
+		os_thread_sleep(5000000);
 
 		btr_cur_search_to_nth_level(index, 0, entry, PAGE_CUR_LE,
 					    BTR_MODIFY_TREE, &cursor, 0,

=== modified file 'storage/innodb_plugin/row/row0upd.c'
--- storage/innodb_plugin/row/row0upd.c	2010-06-30 08:11:55 +0000
+++ storage/innodb_plugin/row/row0upd.c	2010-06-30 08:11:55 +0000
@@ -1763,6 +1763,7 @@ row_upd_clust_rec(
 		rec_offs_init(offsets_);
 
 		mtr_start(mtr);
+		os_thread_sleep(5000000);
 
 		ut_a(btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, mtr));
 		rec = btr_cur_get_rec(btr_cur);
2010-06-30 12:31:49 +03:00
..
archive BUG#46565 - repair of partition fail for archive engine 2010-03-25 23:57:06 +04:00
blackhole Bug #40877: multi statement execution fails in 5.1.30 2009-10-16 13:29:42 +03:00
csv Bug#33717 INSERT...(default) fails for enum. Crashes CSV tables, loads spaces for MyISAM 2010-02-17 16:13:42 +04:00
example Bug #49829 Many "hides virtual function" warnings with 2010-03-14 17:01:45 +01:00
federated Bug #49829 Many "hides virtual function" warnings with 2010-03-14 17:01:45 +01:00
heap
ibmdb2i merging with mysql-5.1-bugteam 2009-12-11 17:27:12 +05:30
innobase Check in fix for bug #53756: "ALTER TABLE ADD PRIMARY KEY affects 2010-06-28 19:41:37 -07:00
innodb_plugin Correct some comments that were added in the fix of Bug #54358 2010-06-30 12:31:49 +03:00
myisam BUG#40980 - Drop table can remove another MyISAM table's 2010-04-01 18:49:02 +04:00
myisammrg Bug #49829 Many "hides virtual function" warnings with 2010-03-14 17:01:45 +01:00
ndb Bug #35250: readline check breaks when doing vpath build 2010-03-09 17:51:31 +02:00
Makefile.am
mysql_storage_engine.cmake