Test data reservation
Overview
Test data reservation reserves related parts of data and regulate the modification of that data. Data can be automatically reserved and the reservations support permission management. An environment, in conjunction with application models, describes the logical dependencies between table columns of multiple tables. Each row level processing task has a start condition, which defines the rows to be selected for processing. Classification terms are used to identify data in the selected rows with a more abstract term, apart from database keys. Every time, before the new data is to be written to the target environment or data is to be deleted, XDM assures that there is no reserved data that could be overwritten or deleted by the new data, unless the user has the permission to do so.
Data reservation
Data reservations can only be defined on environments, since they are base on row-level data access. Classification terms are used to identify the data rows. This identification is needed in order to decide whether it is a new dataset or an overlap on an existing data reservation. Classification terms need to be specified on the application models used by the environment. Another main component of each reservation is the duration, as specified by the start- and end-time. Each time a row level processing task is about to write data to or a row level delete task is about to delete data in a target environment, it inspects the data reservations, set on the environment, and prevents prohibited overwriting or deleting of reserved data.
Automatic data reservation
The automatic creation of data reservations, each time a task is executed, can be configured on an environment. This execution can be manually started, triggered by a scheduler or ordered via a data shop. Users who want to use automatic data reservation have to enable it on the environment, give a duration expression to specify how long the reservation is valid after the task execution, and optionally set a pattern for generating the name of the data reservation.
Data reservation conflicts
A data reservation locks specific records in a specific database system. A task execution is aborted if other users copy data into the same target environment and don’t have the appropriate permissions.
Reservation with same name
If a data reservation with the same name already exists and the executing user has WRITE and MODIFY_DATA permissions, the reservation will be overwritten or deleted. The reserved classification term values are changed and the end date is also recalculated.
Overlapping classification terms values
If a data reservation with overlapping classification terms for the same target environment exists a task execution fails. However, the task execution will succeed, if the executing user has the MODIFY_DATA permission on the existing data reservation. In this case a new reservation is created that locks all the processed classification terms including the overlapping values of the existing reservations.
Permissions
Data reservations can have permissions, to regulate access to the data reservation entity and to reserved data. When manually creating a data reservation, the user who creates the reservation becomes its owner. Analogically, users who execute a task, with automatic data reservation enabled, will become the owner of the data reservation. Owner permissions on objects, like the data reservation, grants the holder full access to the objects. The owner can manage permissions on the data reservation, or he can specify user default permissions, to enable other users to modify the data reservation itself or the reserved data.
The most relevant permissions for data reservations are WRITE and MODIFY_DATA. The WRITE permission allows holders to make changes to the data reservation entity. For example, the permission holder can change the end time of the reservation. The MODIFY_DATA permission allows holders to overwrite reserved data in the target environment. Each time before a write access to reserved data occurs, the MODIFY_DATA permission is evaluated.
According to the CREATE and DELETE permissions, data reservations can be manually created and deleted.
For more details refer to:
in the reference chapter.