Record Locking

Ruslan Zasukhin sunshine at public.kherson.ua
Fri May 5 01:39:27 CDT 2006


On 5/5/06 12:57 AM, "Brandon" <bwarlick at sunbelt-graphics.com> wrote:

Hi Brandon,

> We just tested a multi-user application. We ran (3) applications at the
> same time and accessed the same table.
> 
> V4rb - Windows XP - vSERVER
> ------------------
> CLIENT A
> Sql = "Select * from Test WHERE RecID=1"
> Cur = app.mdb.SQLSelect(Sql, EVCursorLocation.kServerSide,
> EVLockType.kReadWrite)
> No error - all is well!
> ------------------
> CLIENT B
> Sql = "Select * from Test WHERE RecID=1"
> Cur = app.mdb.SQLSelect(Sql, EVCursorLocation.kServerSide,
> EVLockType.kReadWrite)
> Error occurs - record is locked - great! This is what we expected.
> ------------------
> CLIENT C
> Sql = "DELETE FROM Test WHERE RecID=1"
> Res = app.mdb.SQLExecute(sql)
> No error? Record is deleted! We thought it was locked by Client A?
> ------------------
> 
> QUESTION:  If record is currently locked by Client A, can another client
> still delete it?

Sounds like a bug.

In fact this can be then reproduce even on local version...
with cursors and SQL command.

DELETE must try obtain WRITE lock on a record(s),
    then only delete it.


-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]




More information about the Valentina mailing list