Data locking
AssigneeSap SE
InventorsRichard Pilz, Adrian Mocan, Katja Pfeifer, Tom Spiegler
Life of this patent
Estimating the term…
Abstract
A system and method to query, update, and reduce a size of locking data for a dataset including a fixed plurality of dimensions each having a fixed plurality of members comprising index tables for the dimensions and a locks table specifying one of a fixed plurality of lock states for the plurality of members, where the fixed plurality of members each have an associated index.
Claims9
A computer-implemented method to update a locks table for a dataset, the method comprising:
- receiving, by a processor, a request to set a lock state for a combination of at least two members of a dataset, the dataset including database data tables including a fixed plurality of dimensions each having a fixed plurality of members and a locks table specifying one of a fixed plurality of lock states for different combinations of the plurality of members of the dataset, and the fixed plurality of members each having an associated index value defined by a database index table for each of the plurality of dimensions;
- splitting, by the processor, a first dimension of the combination of the members of the request to ensure each of the members in the combination of the request have a unique index value in the locks table relative other members in the first dimension by determining whether the members in the combination of the request in the first dimension have an index value shared with the other members in the first dimension and assigning the unique index value to the members in the combination of the request in the first dimension in an instance the index value is shared and updating the locks table with the unique index value assigned to the members of the first dimension, the lock state for the at least two members of the request is unchanged;
- amending, by the processor, the locks table by successively splitting each of the dimensions other than the first dimension of the members of the combination of the request to ensure the members of the request in each of the dimensions other than the first dimension have a unique index value relative other members in each of the dimensions other than the first dimension and the lock state for the at least two members of the request is unchanged;
- updating, by the processor in response to a conclusion of the successive amending of the locks table, a lock state of the amended locks table for the combination of the at least two of members of the request;
- and
- storing the updated locks table in a memory.
A computing system to update a locks table for a dataset, the system comprising:
- a storage device a dataset, the dataset including database data tables including a fixed plurality of dimensions each having a fixed plurality of members and a locks table specifying one of a fixed plurality of lock states for different combinations of the plurality of members of the dataset, and the fixed plurality of members each having an associated index value defined by a database index table for each of the plurality of dimensions;
- a memory storing processor-executable program code;
- and
- a processor to execute the processor-executable program code in order to cause the computing system to:
- receive a request to set a lock state for a combination of at least two members of the dataset;
- split a first dimension of the combination of the members of the request to ensure each of the members in the combination of the request have a unique index value in the locks table relative other members in the first dimension by determining whether the members in the combination of the request in the first dimension have an index value shared with the other members in the first dimension and assigning the unique index value to the members in the combination of the request in the first dimension in an instance the index value is shared and updating the locks table with the unique index value assigned to the members of the first dimension, the lock state for the at least two members of the request is unchanged;
- amend, the locks table by successively splitting each of the dimensions other than the first dimension of the members of the combination of the request to ensure the members of the request in each of the dimensions other than the first dimension have a unique index value relative other members in each of the dimensions other than the first dimension and the lock state for the at least two members of the request is unchanged;
- update, in response to a conclusion of the successive amending of the locks table, a lock state of the amended locks table for the combination of the at least two of members of the request;
- and
- store the updated locks table in a memory.
A non-transitory computer readable medium having executable instructions stored thereon, that when executed by a processor, cause the processor to:
- receive a request to set a lock state for a combination of at least two members of a dataset, the dataset including database data tables including a fixed plurality of dimensions each having a fixed plurality of members and a locks table specifying one of a fixed plurality of lock states for different combinations of the plurality of members of the dataset, and the fixed plurality of members each having an associated index value defined by a database index table for each of the plurality of dimensions;
- split a first dimension of the combination of the members of the request to ensure each of the members in the combination of the request have a unique index value in the locks table relative other members in the first dimension by determining whether the members in the combination of the request in the first dimension have an index value shared with the other members in the first dimension and assigning the unique index value to the members in the combination of the request in the first dimension in an instance the index value is shared and updating the locks table with the unique index value assigned to the members of the first dimension, the lock state for the at least two members of the request is unchanged;
- amend the locks table by successively splitting each of the dimensions other than the first dimension of the members of the combination of the request to ensure members of the request in each of the dimensions other than the first dimension have a unique index value relative other members in each of the dimensions other than the first dimension and the lock state for the at least two members of the request is unchanged;
- update, in response to a conclusion of the successive amending of the locks table, a lock state of the amended locks table for the combination of the at least two of members of the request;
- and
- store the updated locks table in a memory.
Dependencies are inferred from the claim text.