[erlang-questions] How to extend mensia lock to support conditionally lock?
devdoer bird
devdoer2@REDACTED
Thu Jul 24 15:11:37 CEST 2008
The example I give is not good.,but I just need hack the mnesia lock :(.
I want to lock part of the table and which part is controled by the record's
key's value range .Currently mnesia only support record lock and table
lock.
2008/7/24, Ulf Wiger <ulf@REDACTED>:
>
> I don't think you should hack mnesia for that. A simple wrapper
> function will do nicely.
>
> BR,
> Ulf W
>
> 2008/7/23, devdoer bird <devdoer2@REDACTED>:
> > HI:
> >
> > I want to extend mnesia 's lock to add this function
> > "mnesia:lock(LockItem,LockType,ConditionFun)" .
> >
> > This function works in this way: If a table 's record passes the
> > ConditionFun test,the the record is locked.
> >
> > Eg.
> > I have a user table with the record: -record(user,{name,age}).
> >
> > I want to lock the user's whose name begines with 'a' ,I can code using
> my
> > customized " mnesia:lock(LockItem,LockType,ConditionFun)"
> >
> > like this:
> >
> > ConditionFun=fun(U)->
> > if
> > U#user.name=='a' -> true;
> > true->false
> > end
> > end
> > mnesia:lock(user,write,ConditionFun).
> >
> > that is I want to lock part of the table.
> >
> > Have anyone done this before? How shall I extend the mensia lock? Any
> > information will be helpful, I 'm quite unfamiliar with mnesia lock
> > system.
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20080724/d11aa156/attachment.htm>
More information about the erlang-questions
mailing list