Home    |    Concepts   |   API   |   Samples
Concepts > Schema Objects > Locking
Locking Data in Layer

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_LOCK—A 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_LOCK—A 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 Lock—A 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 Lock—An 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.
feedback | privacy | legal