Sorry for resending, but I don't think the first email made it to the
On Tue, Dec 27, 2011 at 6:57 PM, Zardosht Kasheff <zardosht@stripped> wrote:
> How can a storage engine allow access to a table by other clients while an optimize
> is running? I think the issue here is that even if the storage engine could theoretically
> allow access to the table by other clients while running an optimize, there is no way for
> the storage engine to tell MySQL that this is ok. Setting the lock type to
> TL_WRITE_ALLOW_WRITE in handler::store_lock does not work
> On Tue, Dec 27, 2011 at 6:47 PM, Michael Widenius <monty@stripped> wrote:
>> >>>>> "John" == John Esmet <john.esmet@stripped> writes:
>> John> Hi Guys,
>> John> I'm looking to modify mysql to allow a storage engine to run optimize
>> John> table and have other cilents be able to select/insert/etc. where is a
>> John> good place to start looking for modifications? I noticed sql_table.cc
>> John> calls mysql_admin_table for optimize statements, which i assume does
>> John> the table locking.
>> Is this for existing or a new storage engine ?
>> For a new storage engine, this should be done totally inside the
>> engine and thus should only affect storage engine code.
>> For existing engines, this is not that trivial as optimize table works
>> by copying data to another table and then swapping files. This can't
>> easily be done as long as other insert/selects are running.
>> Founder of MySQL and MariaDB
>> MySQL Internals Mailing List
>> For list archives: http://lists.mysql.com/internals
>> To unsubscribe: http://lists.mysql.com/internals