METHODS AND SYSTEMS FOR RECURSIVE SAVING OF HIERARCHICAL OBJECTS TO A DATABASE
First Claim
Patent Images
1. A method for recursively saving an inserted or updated object that is part of a hierarchy to a database, the method comprising:
- receiving a value for a first record in a database;
determining that a parent record of the first record has a field that is dependent on the received value;
recursively determining that a grandparent record of the first record has a field that is dependent on the received value;
loading the first record from the database into a first object;
updating, using a processor operatively coupled to a memory, the first object with the received value;
flushing the updated first object to the first record in the database;
loading the parent record from the database into a second object;
updating the second object based on the received value;
flushing the updated second object to the parent record in the database;
recursively loading the grandparent record from the database into a third object;
recursively updating the third object based on the received value; and
recursively flushing the updated third object to the grandparent record in the database.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems include embodiments that recursively save parent, grandparent, and other records in a database that depend from a record. User-provided code within a save event or trigger can thus call further save methods without corrupting the database. Junction objects, objects that reflect records with two or more parents, can also be recursively saved.
138 Citations
22 Claims
-
1. A method for recursively saving an inserted or updated object that is part of a hierarchy to a database, the method comprising:
-
receiving a value for a first record in a database; determining that a parent record of the first record has a field that is dependent on the received value; recursively determining that a grandparent record of the first record has a field that is dependent on the received value; loading the first record from the database into a first object; updating, using a processor operatively coupled to a memory, the first object with the received value; flushing the updated first object to the first record in the database; loading the parent record from the database into a second object; updating the second object based on the received value; flushing the updated second object to the parent record in the database; recursively loading the grandparent record from the database into a third object; recursively updating the third object based on the received value; and recursively flushing the updated third object to the grandparent record in the database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A machine-readable storage medium carrying one or more sequences of instructions for recursively saving an inserted or updated object that is part of a hierarchy to a database, which instructions, when executed by one or more processors, cause the one or more processors to carry out the operations of:
-
receiving a value for a first record in a database; determining that a parent record of the first record has a field that is dependent on the received value; recursively determining that a grandparent record of the first record has a field that is dependent on the received value; loading the first record from the database into a first object; updating, using a processor operatively coupled to a memory, the first object with the received value; flushing the updated first object to the first record in the database; loading the parent record from the database into a second object; updating the second object based on the received value; flushing the updated second object to the parent record in the database; recursively loading the grandparent record from the database into a third object; recursively updating the third object based on the received value; and recursively flushing the updated third object to the grandparent record in the database.
-
-
13. A method for recursively deleting a record that is part of a hierarchy in a database, the method comprising:
-
receiving an instruction to delete a first record in a database; determining that a parent record of the first record has a field that is dependent on the first record; recursively determining that a grandparent record of the first record has a field that is dependent on the first record; loading the first record from the database into a first object; deleting the first record in the database; loading the parent record from the database into a second object; updating, using a processor operatively coupled to a memory, the second object based upon the deletion of the first record; flushing the updated second object to the parent record in the database; recursively loading the grandparent record from the database into a third object; recursively updating the third object based on the deletion of the first record; and recursively flushing the updated third object to the grandparent record in the database. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification