IP Library Granted Patent US 9,037,546
Granted Patent B2
US 9,037,546 · App. 13/072,608 · Granted May 19, 2015

System, method and computer program product for automatic code generation for database object deletion

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,037,546
App. No.
13/072,608
Granted
May 19, 2015
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for automatic code generation for database object deletion. These mechanisms and methods for automatic code generation for database object deletion can generate code for deleting database objects in an automated manner. The ability to generate code for deleting database objects in an automated manner can enable the efficient and accurate deletion of database objects, including database objects with relationships to other database objects.

Claims (43)

1. A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code causing a computer to implement a method for automatic code generation for object deletion, the method comprising:

identifying by a database system an object within a database of the database system, where the object has a foreign key relationship with at least one other object within the database;

receiving at the database system metadata specific to the database, the metadata including:

a delete method by which the object is deleted within the database, and

a delete constraint uniquely configured for the foreign key relationship of the object, the delete constraint limiting deletion of the object within the database; and

automatically generating code by the database system for deleting the object in response to a user request to delete the object within the database, using the received delete method and the delete constraint included in the metadata, by:

inputting by the database system the metadata including the delete method and the delete constraint into a code generator in response to the user request to delete the object within the database,

determining whether the delete constraint allows deletion of the object of the database, and

upon determining that the delete constraint allows deletion of the object of the database having the foreign key relationship, automatically generating code to delete the object using the delete method in response to the input, utilizing the code generator.

2. The computer program product of claim 1 , wherein the object includes a record stored in the database.

3. The computer program product of claim 2 , wherein the database system includes a multi-tenant on-demand database system.

4. The computer program product of claim 1 , wherein the metadata describes the object.

5. The computer program product of claim 1 , wherein the metadata is referenced by the database.

6. The computer program product of claim 1 , wherein the delete method includes one of a plurality of predetermined methods associated with database object deletion.

7. The computer program product of claim 6 , wherein the predetermined methods include at least one first method for recording deletion and at least one second method for not recording deletion.

8. The computer program product of claim 7 , wherein the at least one first method for recording deletion is associated with a soft-delete and a hard-delete.

9. The computer program product of claim 7 , wherein the at least one second method for not recording deletion is associated with no delete and delete by query.

10. The computer program product of claim 1 , wherein the delete constraint includes at least one of a plurality of predetermined actions associated with database object deletion.

11. The computer program product of claim 10 , wherein the plurality of predetermined actions include at least one of a restriction for preventing deletion, a cascade delete for deleting related objects, and a set null for setting a pointer to null.

12. The computer program product of claim 1 , wherein the object includes a custom object or a standard object, where the automatically generated code for deleting the custom object includes dynamic code and the automatically generated code for deleting the standard object includes static code.

13. A method, comprising:

identifying by a database system an object within a database of the database system, where the object has a foreign key relationship with at least one other object within the database;

receiving at the database system metadata specific to the database, the metadata including:

a delete method by which the object is deleted within the database, and

a delete constraint uniquely configured for the foreign key relationship of the object, the delete constraint limiting deletion of the object within the database; and

automatically generating code by the database system for deleting the object in response to a user request to delete the object within the database, using the received delete method and the delete constraint included in the metadata, by:

inputting by the database system the metadata including the delete method and the delete constraint into a code generator in response to the user request to delete the object within the database,

determining whether the delete constraint allows deletion of the object of the database, and

upon determining that the delete constraint allows deletion of the object of the database having the foreign key relationship, automatically generating code to delete the object using the delete method in response to the input, utilizing the code generator.

14. An apparatus, comprising:

a processor for:

identifying by a database system an object within a database of the database system, where the object has a foreign key relationship with at least one other object within the database;

receiving at the database system metadata specific to the database, the metadata including:

a delete method by which the object is deleted within the database, and

a delete constraint uniquely configured for the foreign key relationship of the object, the delete constraint limiting deletion of the object within the database; and

automatically generating code by the database system for deleting the object in response to a user request to delete the object within the database, using the received delete method and the delete constraint included in the metadata, by:

inputting by the database system the metadata including the delete method and the delete constraint into a code generator in response to the user request to delete the object within the database,

determining whether the delete constraint allows deletion of the object of the database, and

upon determining that the delete constraint allows deletion of the object of the database having the foreign key relationship, automatically generating code to delete the object using the delete method in response to the input, utilizing the code generator.

15. The computer program product of claim 1 , wherein the code generator is run only once to generate the code to delete the object having the foreign key relationship using the delete method, when it is determined that the delete constraint allows deletion of the object having the foreign key relationship, and wherein the generated code is run for every user request to delete the object.

16. The computer program product of claim 1 , wherein the code includes an instruction for deleting the object according to the delete method configured for the database.

17. The computer program product of claim 1 , wherein the delete constraint includes a limitation to the delete method and is unique to the objects of the database having the foreign key relationship.

18. The computer program product of claim 1 , wherein the delete constraint includes a restriction preventing the object of the database having the foreign key relationship from being deleted when a child object of that object has a predetermined delete method configuration.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069270/0727 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2011
From: WONG, SIMON; AGRAWAL, SONALI
To: SALESFORCE.COM, INC.
Reel/Frame 026412/0551 →