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

Reply via email to