[AccessD] Record locking bug

Glen McWilliams glen_mcwilliams at msn.com
Sat Jun 5 13:00:43 CDT 2004


John

It sounds like your are using Page Locks not Record Locks. I thought that 
Record Locking had to be set and that Page Locking was the default.

Glen


>From: "jwcolby" <jwcolby at colbyconsulting.com>
>Reply-To: Access Developers discussion and problem 
>solving<accessd at databaseadvisors.com>
>To: "AccessD" <AccessD at databaseadvisors.com>
>Subject: [AccessD] Record locking bug
>Date: Fri, 4 Jun 2004 22:37:39 -0400
>
>I think I have stumbled on a record locking bug.
>
>For an Insurance company call center, I have built a system of events.
>Events happen to a claim, the claim is received, it is pended (waiting for
>action), opened, closed, phone calls made etc.  These events may or may not
>cause a change in status.  The receive event causes a received status, the
>Open event causes an Open status.  A Phone cause does not cause a status
>change.  If the claim is in an open status then it remains in an open 
>status
>etc.
>
>The managers can define the events that can occur, whether they cause a
>status change etc.  Via a state machine, I look at the current status and
>enable specific events.  Obviously if a claim is in the open status, then 
>it
>can have many different events occur, but it cannot have a received event
>occur because it was already received and can only be received once.  If a
>claim is denied, it can be appealed, but it cannot be closed, because it 
>was
>never opened.
>
>So... There are many tables.  There is a claim table ad a claim event 
>table.
>The claim event is where we log events happening to the claim.  It is in
>this table specifically that I am noticing the locking issue.  When I
>designed this db I ported existing data from thousands of claims.  The old
>system didn't have an event table, it had a bunch of fields such as
>openedDate1, closedDate1, openedDate2, closedDate2 etc.  Hmmmm...
>
>Anyway, in order to port the data I did my best to figure out how these
>fields mapped to events and created a set sequence of:
>
>Received
>Pended
>
>Then Opened or denied depending on what was in these fields.  Thus each old
>claim would have at least 3 or 4 or more events to indicate that it was
>received, that it was opened, closed, possibly opened again, possibly 
>closed
>again etc.
>
>OK... With that groundwork...
>
>I have discovered that if I build a little query that pulls all the events
>for claim 800:
>
>EventID
>ClaimID
>SomeField
>
>And another identical query pulling all events for claim 801 (actually 
>about
>10 claims on either side of the claim)...
>
>It certainly appears that it is locking the block that the event records 
>are
>built in.  When I start an edit and don't save, other events with PKs close
>to that event are also locked.
>
>I have pulled just the table of events into a new db, and designed these
>identical queries and I am seeing the same thing.  I am convinced it is a
>bug.  I see it on my dev machine at the client (Win2K A2K), my dev machine
>at home (Win2K, A2K or AXP), but not on another machine running OfficeXP at
>the client.
>
>Truly bizarre.
>
>I cut most of the fields out of the record including the only memo, both to
>drop the size of the test db as well as to see if any of these other fields
>were "causing" the problems.  No help, same symptoms.
>
>The current db is just that one table and the two queries and is absolutely
>reproducible on my machine here at my home office, running Win2K A2K SP3 or
>Axp
>
>I have been under the impression that Access no longer locks an entire
>block, but will lock just the individual record.  This testing seems to
>indicate that is not true.
>
>I have this db available for anyone who would like to look at this.  My
>users have complained of locking issues and I have been unable to explain
>the goings on given my understanding that A2K and above locked just the
>edited record.  Perhaps this is not always true?
>
>John W. Colby
>www.ColbyConsulting.com
>
>
>--
>_______________________________________________
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com





More information about the AccessD mailing list