On Tue, 24 Jul 2007, Jonah H. Harris wrote:
> At this point in time, I don't believe you can use anything but MyISAM
> for the catalog tables. So, I imagine it would be possible to logically
> corrupt a system if DDL was occurring at the exact point of a crash.
They work around this the old-fashioned MySQL way, with lots of locks.
See http://forge.mysql.com/wiki/MySQL_Internals_Data_and_meta-data_locking
For example, this is their ALTER TABLE internal workflow: "
* open and lock table with TL_WRITE_ALLOW_READ
* create an altered copy of the table with a temporary name
* force and wait until all instances of table are closed (lock
upgrade!)
* swap the new and old versions
* drop the old version"
--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD