mariadb/storage/innobase
unknown 438d21189c Null Merge from mysql-5.1 with second fix for Bug#12637786
Bug#12637786 was fixed with rb:692 by marko.  But that fix has a remaining
bug.  It added this assert;
    ut_ad(ind_field->prefix_len);
before a section of code that assumes there is a prefix_len.  

The patch replaced code that explicitly avoided this with a check for
prefix_len.  It turns out that the purge thread can get to that assert
without a prefix_len because it does not use a row_ext_t* .
When UNIV_DEBUG is not defined, the affect of this is that the purge thread
sets the dfield->len to zero and then cannot find the entry in the index to
purge.  So secondary index entries remain unpurged.

This patch does not do the assert.  Instead, it uses
    'if (ind_field->prefix_len) {...}'
around the section of code that assumes a prefix_len.  This is the way the
patch I provided to Marko did it.

The test case is simply modified to do a sleep(10) in order to give the
purge thread a chance to run. Without the code change to row0row.c, this
modified testcase will assert if InnoDB was compiled with UNIV_DEBUG.
I tried to sleep(5), but it did not always assert.
2011-07-08 08:16:23 -05:00
..
btr Bug#12727287: Maintainer mode compilation fails with gcc 4.6 2011-07-07 08:22:43 -03:00
buf Merge mysql-5.1 to mysql-5.5. 2011-06-23 15:57:25 +03:00
data Implement worklog #5743 InnoDB: Lift the limit of index key prefixes. 2011-05-31 02:12:32 -07:00
dict Implement worklog #5743 InnoDB: Lift the limit of index key prefixes. 2011-05-31 02:12:32 -07:00
dyn Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
eval Remove redundant variable 2010-09-20 18:48:38 +03:00
fil Bug#12543706 - innodb-fast-shutdown=2: Assert 2011-05-17 15:15:55 +03:00
fsp Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-02 15:58:01 +02:00
fut Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
ha Currently we do a full validation of AHI whenever check tables is 2010-08-05 11:09:05 -04:00
handler Bug#12699505 Memory leak in row_create_index_for_mysql() 2011-06-28 15:28:21 +03:00
ibuf Remove a debug printout that is no longer needed. 2011-04-20 10:10:54 +03:00
include Merge mysql-5.1 to mysql-5.5. 2011-06-29 16:53:16 +03:00
lock Bug#12584374 LOCK_VALIDATE TRIPS ASSERTION !BLOCK->PAGE.FILE_PAGE_WAS_FREE 2011-05-24 23:08:22 +03:00
log Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-04-11 17:03:32 +03:00
mach mach_ull_parse_compressed(): Move to .ic file to silence a GCC warning 2010-06-24 09:08:42 +03:00
mem Include "ha_prototypes.h" to sync/sync0rw.c for innobase_basename(). 2011-02-25 03:21:02 -08:00
mtr Bug#12606344 - ADD VALGRIND DIAGNOSTICS TO MTR_START, MTR_COMMIT 2011-05-31 10:55:29 +03:00
os Fix bug #12424282 - INNODB PERFORMANCE SCHEMA: Double accounting for OS_AIO_SYNC 2011-05-04 00:09:48 -07:00
page Merge mysql-5.1 to mysql-5.5. 2011-06-28 12:03:55 +03:00
pars Bug#54728: Replace the dulint struct with a 64-bit integer. 2010-06-23 14:06:59 +03:00
que (que0que.c:1286) Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-20 19:01:14 +03:00
read Bug#54728: Replace the dulint struct with a 64-bit integer. 2010-06-23 14:06:59 +03:00
rem Merge mysql-5.1 to mysql-5.5. 2011-06-16 15:13:24 +03:00
row Null Merge from mysql-5.1 with second fix for Bug#12637786 2011-07-08 08:16:23 -05:00
srv merge 2011-05-04 11:08:07 +02:00
sync Merge mysql-5.1 to mysql-5.5. 2011-06-16 12:07:49 +03:00
trx Merge mysql-5.1 to mysql-5.5. 2011-06-16 12:07:49 +03:00
usr Merge Innodb Plugin 1.0.6 from mysql-5.1-bugteam storage/innodb_plugin to mysql-trunk-merge. 2009-12-02 19:30:50 +05:30
ut Bug#12699505 Memory leak in row_create_index_for_mysql() 2011-06-28 15:28:21 +03:00
CMakeLists.txt Bug#11766305 - 59392: Remove thr0loc.c and ibuf_inside() [part 4 of 4] 2011-03-24 14:00:14 +02:00
compile-innodb Invoke make with -j$(nproc) for better parallelism. 2010-09-09 13:50:06 +03:00
COPYING.Google Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
COPYING.Percona Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
Doxyfile Remove ut0auxconf.h. 2010-09-09 14:27:52 +03:00
ha_innodb.def Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00