Querying, versioning, and dynamic deployment of database objects
First Claim
Patent Images
1. A method of versioning objects in a database, the objects comprising a complex object including a reference to a version number of a non-reusable object, the non-reusable object being used by only the complex object, the method comprising:
- checking out the complex object, without automatically checking out the non-reusable object;
receiving a modification to the complex object, where the non-reusable object is not modified;
checking in the complex object;
incrementing a version number of the complex object, while maintaining a reference to the version of the non-reusable object;
receiving a query;
responsive to the query not including an object state criterion, returning only current versions of all objects satisfying the query; and
responsive to the query including an object state criterion, returning all versions of all objects satisfying the query.
7 Assignments
0 Petitions
Accused Products
Abstract
In various embodiments, the present invention provides methods and systems for creating version-stamps of database objects and for tracking, querying, retrieving, and deploying such versioned database objects in enterprise databases, data marts, or data warehouses. The database objects may be interrelated and may reference one another according to their accurate versions.
249 Citations
5 Claims
-
1. A method of versioning objects in a database, the objects comprising a complex object including a reference to a version number of a non-reusable object, the non-reusable object being used by only the complex object, the method comprising:
-
checking out the complex object, without automatically checking out the non-reusable object; receiving a modification to the complex object, where the non-reusable object is not modified; checking in the complex object; incrementing a version number of the complex object, while maintaining a reference to the version of the non-reusable object; receiving a query; responsive to the query not including an object state criterion, returning only current versions of all objects satisfying the query; and responsive to the query including an object state criterion, returning all versions of all objects satisfying the query. - View Dependent Claims (2)
-
-
3. A method of versioning objects in a database, the objects comprising a complex object including a reference to a version number of a non-reusable object, the non-reusable object being used by only the complex object, the method comprising:
-
checking out the complex object, without automatically checking out the non-reusable object; receiving a modification to the complex object; responsive to an attempted modification of the non-reusable object, checking out the non-reusable object; checking in the complex object; checking in the non-reusable object; incrementing a version number of the complex object; incrementing the version number of the non-reusable object; updating the reference of the complex object to the incremented version number of the non-reusable object; receiving a query; responsive to the query not including an object state criterion returning only current versions of all objects satisfying the query; and responsive to the query including an object state criterion returning all versions of all objects satisfying the query. - View Dependent Claims (4)
-
-
5. A method of fetching a version of a second object, wherein a second object is referred to by a version of a first object and it is either reusable or non-reusable, each version of the second object includes a check in time and the version of the first object including a check out time and a version number of a version of the second object, the method comprising:
-
responsive to the second object being non-reusable, fetching the version of the second object corresponding to the version number included in the first object, wherein the non-reusable second object is used by only the first object; and responsive to the second object being reusable; responsive to the version of the first object being the latest version of the first object, fetching a latest version of the second object; responsive to the version of the first object not being the latest version of the first object, fetching the version of the second object with the most recent check in time that is prior to the first object'"'"'s check out time.
-
Specification