Re: question about locks with optimize table
Zardosht Kasheff <[email protected]>
| Newsgroups | gmane.comp.db.mysql.devel |
|---|---|
| Message-ID | <CABFd+SGWcRZ12=3hXGWEAkO0XEiceZFMXzbHrRT1jkd=HMUfvw@mail.gmail.com> |
Sorry for resending, but I don't think the first email made it to the internals list. On Tue, Dec 27, 2011 at 6:57 PM, Zardosht Kasheff <[email protected]> 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 <[email protected]> wrote: >> >> >> Hi! >> >> >>>>> "John" == John Esmet <[email protected]> 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. >> >> Regards, >> Monty >> Founder of MySQL and MariaDB >> >> -- >> MySQL Internals Mailing List >> For list archives: http://lists.mysql.com/internals >> To unsubscribe: http://lists.mysql.com/internals >> > -- MySQL Internals Mailing List For list archives: http://lists.mysql.com/internals To unsubscribe: http://lists.mysql.com/internals