mariadb/storage
Sunny Bains 442ba20a92 Fix bug#54583. This change reverses rsvn:1350 by getting rid of a bogus assertion
and clarifies the invariant in dict_table_get_on_id().
      
In Mar 2007 Marko observed a crash during recovery, the crash resulted from
an UNDO operation on a system table. His solution was to acquire an X lock on
the data dictionary, this in hindsight was an overkill. It is unclear what
caused the crash, current hypothesis is that it was a memory corruption.
      
The X lock results in performance issues by when undoing changes due to
rollback during normal operation on regular tables.
      
Why the change is safe:
======================
The InnoDB code has changed since the original X lock change was made. In the
new code we always lock the data dictionary in X mode during startup when
UNDOing operations on the system tables (this is a given). This ensures that
the crash Marko observed cannot happen as long as all transactions that update
the system tables follow the standard rules by setting the appropriate DICT_OP
flag when writing the log records when they make the changes.
      
If transactions violate the above mentioned rule then during recovery (at
startup) the rollback code (see trx0roll.c) will not acquire the X lock
and we will see the crash again.  This will however be a different bug.
2010-06-25 18:18:41 +10: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 Merge from 5.0 2009-09-17 17:25:52 +02:00
ibmdb2i merging with mysql-5.1-bugteam 2009-12-11 17:27:12 +05:30
innobase Fix bug#54583. This change reverses rsvn:1350 by getting rid of a bogus assertion 2010-06-25 18:18:41 +10:00
innodb_plugin Fix bug#54583. This change reverses rsvn:1350 by getting rid of a bogus assertion 2010-06-25 18:18:41 +10: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 Backport WL#3653 to 5.1 to enable bundled innodb plugin. 2009-06-10 10:59:49 +02:00
mysql_storage_engine.cmake Bug #47797 CMake, engine can't specify additional libraries to link with 2009-10-08 14:54:11 +02:00