mariadb/storage/innobase
Jon Olav Hauglid 9b30e2e29c Bug#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY
KEY NO 0 FOR TABLE IN ERROR LOG 

With the changes made by the patches for Bug#11751388 and
Bug#11784056, concurrent reads are allowed while secondary
indexes are created in InnoDB. This means that the metadata
lock on the affected table is not upgraded to exclusive
until the .FRM is updated at the end of ALTER TABLE processing.

The problem was that if this lock upgrade failed for some
reason (e.g. timeout), the index information in the server
and inside InnoDB would be out of sync. This would happen
since the add index operation already was committed inside 
InnoDB but the table metadata inside the server had not been
updated yet.

This patch fixes the problem by (for now) reverting the
effects of the patches for Bug#11751388 and Bug#11784056.
Concurrent reads will now again be blocked during creation
of secondary indexes in InnoDB.

Test case added to innodb_mysql_lock.test.
2011-03-09 16:06:13 +01:00
..
btr Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-02 15:58:01 +02:00
buf Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-02 15:58:01 +02:00
data Bug#52199 utf32: mbminlen=4, mbmaxlen=4, type->mbminlen=0, type->mbmaxlen=4 2010-06-29 14:32:48 +03:00
dict Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02: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#58226 Some InnoDB debug checks consume too much CPU time 2010-12-01 10:43:33 +02: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#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY 2011-03-09 16:06:13 +01:00
ibuf Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-02 15:58:01 +02:00
include Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02:00
lock Merge from mysql-5.1-security to mysql-5.5-security. 2010-11-30 21:44:06 +11:00
log Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-01-06 09:19:02 +02:00
mach mach_ull_parse_compressed(): Move to .ic file to silence a GCC warning 2010-06-24 09:08:42 +03:00
mem Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-25 10:51:13 +02:00
mtr Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-25 12:35:35 +02:00
os Bug#58226 Some InnoDB debug checks consume too much CPU time 2010-12-01 10:43:33 +02:00
page Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-25 10:51:13 +02: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 from mysql-5.1-innodb to mysql-5.5-innodb 2011-01-14 23:24:47 -08:00
row Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02:00
srv Bug #59472 increase AIO requests per IO thread limit to 256 from 32 2011-02-07 18:43:00 -05:00
sync In sync_close() fix a bug introduced by the fix for Bug #59683 where we iterate 2011-01-26 09:33:59 +11:00
thr Merge mysql-5.1-innodb to mysql-5.5-innodb. 2010-11-11 15:13:52 +02:00
trx Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-31 10:23:38 +02: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 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-01-06 09:19:02 +02:00
CMakeLists.txt Define MYSQL_(MAJOR|MINOR)_VERSION the way things are defined in CMake 2010-12-02 12:04:10 +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