|Home | Concepts | API | Samples|
|Concepts > Versioning > Basic Principles|
|What is a state?|
States are containers for changes to the database. As changes are made to a version, the changes are tagged with the appropriate state. A state has one owner, which is set to the user who creates the state. Only the owner of a state, or the ArcSDE administrator, can modify the properties of a state or delete it.
Versions exist on a network of database states. Each version of the database points to a specific state; multiple versions
may point to the same state if desired. Over time, versions will move from one state to another.
Database states are organized as a tree, where the parent/child relationship can be derived from the state lineage.
A state may be OPEN or CLOSED. An open state allows the owner to add, delete or modify rows. You can not create new child states from an open state. Only the
leaf nodes in the state tree can be open. Only the owner of a state, or the
ArcSDE administrator, can open or close a state.
Trimming the state tree from state 7 to state 2, before and after.You can also compress the state tree. Compressing the state tree removes each state that is not currently referenced by a version and not the parent of multiple child states. When executed by the ArcSDE administrator, all states that meet the compress criterion are removed regardless of owner. All other users can compress only the states that they own. This operation reduces the depth of the state tree, shortening the lineage and improving query performance.
The following example illustrates compressing the state tree:
Please also refer to the section on versioning in the Working with versioned data book of the ArcGIS Desktop or ArcGIS Server Help. (Can be accessed from the ArcGIS Resource Center.)