US 12,117,979 B1
Timestamp-based deletions for interdependent data objects
Mitko Kolev, Walldorf (DE); Syed Muhammad Kumail Raza, Heidelberg (DE); and Markus Muenkel, Reilingen (DE)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Aug. 1, 2023, as Appl. No. 18/229,102.
Int. Cl. G06F 16/24 (2019.01); G06F 16/215 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/215 (2019.01) [G06F 16/2455 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computing system comprising:
at least one memory;
one or more hardware processor units coupled to the at least one memory; and
one or more computer readable storage media storing computer-executable instructions that, when executed, cause the computing system to perform operations comprising:
receiving a first set comprising a plurality of data objects, at least a portion of data objects of the plurality of data objects having a dependency on one or more other data objects of the plurality of data objects or being a subject of such a dependency, wherein (1) a dependency between two data objects of the plurality of data objects is defined by one or more attributes of a first data object of the two data objects that refer to a corresponding one or more attributes of a second data object of the two data objects (2) a dependency between two data objects has a direction such that the one or more attributes of the first data object are target attributes, the one or more attributes of the second data object are source attributes, and the target attributes point to the source attributes; and (3) at least a portion of data objects of the plurality of data objects comprise a timestamp attribute;
in an iterative process starting from a second set of data objects comprising the at least a portion of the data objects:
identifying one of more leaf nodes in the second set of data objects, wherein a leaf node corresponds to a data object of the second set of data objects that does not referentially constrain another data object of the second set of data objects;
for identified one or more leaf nodes, generating commands to delete data that satisfies query criteria, the query criteria comprising the timestamp attributes of the one or more leaf nodes;
at least temporarily removing data objects corresponding to the one or more leaf nodes from the second set of data objects;
determining whether the second set of data objects comprises additional data objects; and
(1) when the second set of data objects comprises additional data objects, performing another iteration of the iterative process; or
(2) when the second set of data objects does not comprise additional data objects, not performing another iteration of the iterative process.