To avoid conflicts with other users, ArcSDE supports a locking mechanism to
prevent data in a layer from being modified. The locking mechanism operates on
either an area or an entire layer, and supports both read locks and write locks.
Except for row locks, a lock remains in effect until it is explicitly released
or the connection is freed. Row locks are persistent and must be explicitly
released. Freeing a connection does not free row locks.
Lock types
- SE_READ_LOCKA READ lock prevents others from updating data in the area of the
lock. Other users can establish READ locks in the same area, but no users can
establish WRITE locks or update the data until all READ locks are freed.
- SE_WRITE_LOCKA WRITE lock prevents any other user from establishing any kind of
lock in the area until the WRITE lock is released. Users can still read data
from the area, but they are not permitted to establish a READ lock.
Lock scopes
- LAYER LockA LAYER lock establishes a READ or WRITE lock on an entire ArcSDE
layer. Multiple READ locks can be established on a layer at any time. If a WRITE
lock is in place on a layer, no other locks are permitted.
- AREA LockAn AREA lock defines a rectangular area on a layer that is to be
either READ or WRITE locked. A user can define multiple AREA locks on a layer,
but only one WRITE lock with no READ locks is permitted in an area. WRITE locks
may not overlap, but READ locks can overlap.
|