[dokuwiki] [PATCH] canDo() and TablesToLock (was: TablesToLock option)

  • From: Matthias Grimm <matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Wed, 1 Feb 2006 19:36:08 +0100

On Tue, 31 Jan 2006 23:37:33 +0100
Andreas Gohr <andi@xxxxxxxxxxxxxx> wrote:

> Hi again :-)
> 
> > A word to the option 'TablesToLock'. People blamed me that the
> > mysql backend is not save because it doesn't use transactions.
> > They don't understand that the backend have to work with mysql
> > 3.23 too and that transactions are first usable in mysql 4.0.
> > Therefore I do my best to protect database requests with table
> > locks. These locks are not perfect but give you the best chance
> > to keep you data intact and dokuwiki running. 
> 
> I perfectly understand that and think the locking is a good idea in
> general.

Very good :-)
 
> BTW. did those people contact you personally? That would be great -
> usually the bother me first ;-)

A discussion was added to the Mysql backend chapter in the dikuwiki
manual. It's still in there if you like to have a look.
 
> > You might be right that READ locks are not so important but they
> > are the one and only security feature that protects your database
> > inegrity and I would really ask you: Would you accept the risk of
> > dokuwiki program failures and data corruption for the short term
> > benefit of letting the 'TablesToLock' option undefined? 
> 
> There can not be done any harm to the database when no write
> modifications are done. Reading without a lock could only result in
> reading partly invalid data (eg. the old email address instead of the
> just changed one). Nothing I would care for in DokuWiki.

Ok. It seems that nothing very harmful could happen. I changed it as
you liked (patch attached). Anyway, locks will be used for read
operations too, if the option was given.

  Best Regards
    Matthias

Other related posts: