Hi!
>>>>> "Peter" == Peter Zaitsev <[EMAIL PROTECTED]> writes:
Peter> Hello Michael,
Peter> Friday, January 26, 2001, 12:20:43 AM, you wrote:
MW> Hi!
>>>>>>> "Peter" == Peter Zaitsev <[EMAIL PROTECTED]> writes:
Peter> Hello monty,
Peter> As I remember according to documentation MYSQL should support check
Peter> table on BDB tables:
Peter> `CHECK TABLE' only works on `MyISAM' and `BDB' tables. On `MyISAM'
Peter> tables it's the same thing as running `myisamchk -m table_name' on the
Peter> table.
MW> I tried to implement this; I had got everything coded when I
MW> noticed the on can only check BDB tables when there is no active
MW> transaction and one is the only one that is using the table. This
MW> is impossible to guarantee with the current MySQL code; To do this we
MW> have to add a new layer on top on transactions, which isn't something
MW> we plan to do until in 4.x
MW> I have now removed the notes about BDB tables in the CHECK command.
Peter> OK. But just note to really use BDB tables in production people need
Peter> to have a possibility to recover data if BDB table somehow got
Peter> dammaged. I know there is a chance to recover data by alter table or
Peter> if this does not help to do an mysqldump and restore (well of couse
Peter> this is worse then with MYISAM there repair table sometimes helps even
Peter> then mysqldump does not work). To do the repair you of couse need to
Peter> find out something is going wrong and it's better to find this before
Peter> the errors will block normal execution.
Peter> As far as I know there is no tools now to fix BDB tables (the one
Peter> provided with BDB does not work with MYSQL tables) so it was nice
Peter> option anyway - to start other mysqld and check the table :) And as
Peter> far as I know this is safe anyway as check table does not change
Peter> anything in BDB ?
I agree that we need to look at this soon. It would be easy to do
checking just when BDB is started, but it's a bit hard to do when
BDB is in use.
Peter> Also - does not lock tables write enshures there are no other active
Peter> transactions ?
Currently the LOCK TABLE only ensures that no one will be able to
execute another query that updates the table. The problem is that we
need to also implement a list of tables that has an active transaction
on the table and not allow the lock table to succeed until these
transactions are taken care of. It will take a couple of weeks until
Tim will have time to look at this.
Regards,
Monty
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php