Method and system for performing fine grain versioning
First Claim
1. A method for converting a non-versioned schema to a version-enabled schema, the method comprising the steps of:
- reading a first set of table definitions that belong to the non-versioned schema;
generating a second set of table definitions for the version-enabled schema, wherein each table definition in said second set of table definitions corresponds to a table definition in said first set of table definitions; and
wherein each table definition in the second set of table definitions includes (a) columns that correspond to the columns of the corresponding table definition in the first set of table definitions; and
(b) one or more additional columns for storing version information.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for converting a non-versioned schema to a version-enabled schema. The method includes reading a first set of table definitions that belong to the non-versioned schema. A second set of table definitions is generated for the version-enabled schema such that each table definition in the second set of table definitions corresponds to a table definition in the first set of table. Each table definition in the second set of table definitions includes columns that correspond to the columns of the corresponding table definition in the first set of table definitions and one or more additional columns for storing version information. Multiple versions of a particular object are stored within the table. In response to a request from a user to retrieve the particular object, a version of the particular object to present to the user is determined based on a workspace associated with the user. The version of the particular object is presented to the user without exposing values from the second set of one or more columns to the user.
250 Citations
34 Claims
-
1. A method for converting a non-versioned schema to a version-enabled schema, the method comprising the steps of:
-
reading a first set of table definitions that belong to the non-versioned schema;
generating a second set of table definitions for the version-enabled schema, wherein each table definition in said second set of table definitions corresponds to a table definition in said first set of table definitions; and
wherein each table definition in the second set of table definitions includes (a) columns that correspond to the columns of the corresponding table definition in the first set of table definitions; and
(b) one or more additional columns for storing version information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
importing objects stored in the non-versioned schema into the version-enabled schema; and
assigning a version ID to each of the objects.
-
-
3. The method of claim 1, further comprising the step of maintaining the second set of table definitions in one or more data repositories, wherein the one or more data repositories are based on a relational database.
-
4. The method of claim 3, further including the step of generating one or more views that insolate existing tools from the additional version information, wherein the one or more views project data to the existing tools exactly as the non-versioned schema.
-
5. The method of claim 1, wherein the step of generating a second set of table definitions further includes the steps of:
-
populating a table of objects with data maintained in the non-version schema, wherein the table of objects includes one or more object entries; and
assigning to each of the one or more object entries a genealogy ID and a unique version ID.
-
-
6. The method of claim 5, further comprising the steps of:
-
establishing one or more configurations, wherein each configuration includes one or more objects; and
wherein for each configuration, no two objects include both the same genealogy ID and same unique version ID.
-
-
7. The method of claim 6, further comprising the steps of:
-
establishing one or more workspace areas, wherein each workspace area includes one or more configurations; and
wherein for each workspace area, no two configurations contain objects that include both the same genealogy ID and same unique version ID.
-
-
8. The method of claim 2, further comprising the steps of assigning a genealogy ID to each of the objects, wherein the genealogy ID indicates a family history for each object.
-
9. The method of claim 8, further comprising the step of:
providing a checkout mechanism for checking-out objects from the second set of tables, wherein the checkout mechanism causes a new object version to be generated for each object that is checked-out.
-
10. The method of claim 8, further comprising the step of:
-
receiving requests from multiple users to checkout a particular object from the second set of tables; and
in response to receiving the requests, causing a new version of the particular object to be generated for each request, wherein each new version of the particular object is associated with a different version ID.
-
-
11. A method for providing version support for objects stored in a relational database system,
the method comprising the steps of: -
creating a table that includes a first set of one or more columns for storing values that correspond to attributes of objects, and a second set of one or more columns for storing object version information;
storing within said table multiple versions of a particular object;
in response to a request from a user to retrieve said particular object, performing the steps ofdetermining a version of said particular object to present to said user based on a workspace associated with the user; and
presenting said version of said particular object to said user without exposing values from said second set of one or more columns to said user. - View Dependent Claims (12, 13, 14, 15, 16)
the second set of one or more columns includes columns for storing a genealogy ID and a unique version ID for each object entry; and
further comprising the steps of establishing one or more configurations, wherein each configuration includes one or more objects; and
wherein for each configuration, no two objects include both the same genealogy ID and same unique version ID.
-
-
13. The method of claim 12, further comprising the steps of:
-
establishing one or more workspace areas, wherein each workspace area includes one or more configurations; and
wherein for each workspace area, no two configurations contain objects that include both the same genealogy ID and same unique version ID.
-
-
14. The method of claim 11, further comprising the steps of assigning a genealogy ID and a version ID to each of the objects, wherein the genealogy ID indicates a particular object family for which the particular object belongs and the version ID identifies a particular version of the object within the particular object family.
-
15. The method of claim 14, further comprising the step of:
providing a checkout mechanism for checking-out objects from the table, wherein the checkout mechanism causes a new object version to be generated for each object that is checked-out.
-
16. The method of claim 14, further comprising the step of:
-
receiving requests from multiple users to checkout a particular object from the table; and
in response to receiving the requests, causing a new version of the particular object to be generated for each request, wherein each new version of the particular object is associated with a different version ID.
-
-
17. A computer-readable medium carrying one or more sequences of one or more instructions for converting a non-versioned schema to a version-enabled schema, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
reading a first set of table definitions that belong to the non-versioned schema;
generating a second set of table definitions for the version-enabled schema, wherein each table definition in said second set of table definitions corresponds to a table definition in said first set of table definitions; and
wherein each table definition in the second set of table definitions includes (a) columns that correspond to the columns of the corresponding table definition in the first set of table definitions; and
(b) one or more additional columns for storing version information. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
importing objects stored in the non-versioned schema into the version-enabled schema; and
assigning a version ID to each of the objects.
-
-
19. The computer-readable medium of claim 17, further comprising the step of maintaining the second set of table definitions in one or more data repositories, wherein the one or more data repositories are based on a relational database.
-
20. The computer-readable medium of claim 19, further including the step of generating one or more views that insolate existing tools from the additional version information, wherein the one or more views project data to the existing tools exactly as the non-versioned schema.
-
21. The computer-readable medium of claim 17, wherein the step of generating a second set of table definitions further includes the steps of:
-
populating a table of objects with data maintained in the non-version schema, wherein the table of objects includes one or more object entries; and
assigning to each of the one or more object entries a genealogy ID and a unique version ID.
-
-
22. The computer-readable medium of claim 21, further comprising the steps of:
-
establishing one or more configurations, wherein each configuration includes one or more objects; and
wherein for each configuration, no two objects include both the same genealogy ID and same unique version ID.
-
-
23. The computer-readable medium of claim 22, further comprising the steps of:
-
establishing one or more workspace areas, wherein each workspace area includes one or more configurations; and
wherein for each workspace area, no two configurations contain objects that include both the same genealogy ID and same unique version ID.
-
-
24. The computer-readable medium of claim 18, further comprising the steps of assigning a genealogy ID to each of the objects, wherein the genealogy ID indicates a family history for each object.
-
25. The computer-readable medium of claim 24, further comprising the step of:
providing a checkout mechanism for checking-out objects from the second set of tables, wherein the checkout mechanism causes a new object version to be generated for each object that is checked-out.
-
26. The computer-readable medium of claim 24, further comprising the step of:
-
receiving requests from multiple users to checkout a particular object from the second set of tables; and
in response to receiving the requests, causing a new version of the particular object to be generated for each request, wherein each new version of the particular object is associated with a different version ID.
-
-
27. A computer-readable medium carrying one or more sequences of one or more instructions for providing version support for objects stored in a relational database system, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
creating a table that includes a first set of one or more columns for storing values that correspond to attributes of objects, and a second set of one or more columns for storing object version information;
storing within said table multiple versions of a particular object;
in response to a request from a user to retrieve said particular object, performing the steps of determining a version of said particular object to present to said user based on a workspace associated with the user; and
presenting said version of said particular object to said user without exposing values from said second set of one or more columns to said user. - View Dependent Claims (28, 29, 30, 31, 32)
the second set of one or more columns includes columns for storing a genealogy ID and a unique version ID for each object entry; and
further comprising the steps of establishing one or more configurations, wherein each configuration includes one or more objects; and
wherein for each configuration, no two objects include both the same genealogy ID and same unique version ID.
-
-
29. The computer-readable medium of claim 28, further comprising the steps of:
-
establishing one or more workspace areas, wherein each workspace area includes one or more configurations; and
wherein for each workspace area, no two configurations contain objects that include both the same genealogy ID and same unique version ID.
-
-
30. The computer-readable medium of claim 27, further comprising the steps of assigning a genealogy ID and a version ID to each of the objects, wherein the genealogy ID indicates a particular object family for which the particular object belongs and the version ID identifies a particular version of the object within the particular object family.
-
31. The computer-readable medium of claim 30, further comprising the step of:
providing a checkout mechanism for checking-out objects from the table, wherein the checkout mechanism causes a new object version to be generated for each object that is checked-out.
-
32. The computer-readable medium of claim 30, further comprising the step of:
-
receiving requests from multiple users to checkout a particular object from the table; and
in response to receiving the requests, causing a new version of the particular object to be generated for each request, wherein each new version of the particular object is associated with a different version ID.
-
-
33. A computer system for converting a non-versioned schema to a version-enabled schema, the computer system comprising:
-
a memory;
one or more processors coupled to the memory; and
a set of computer instructions contained in the memory, the set of computer instructions including computer instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of;
reading a first set of table definitions that belong to the non-versioned schema;
generating a second set of table definitions for the version-enabled schema, wherein each table definition in said second set of table definitions corresponds to a table definition in said first set of table definitions; and
wherein each table definition in the second set of table definitions includes (a) columns that correspond to the columns of the corresponding table definition in the first set of table definitions; and
(b) one or more additional columns for storing version information.
-
-
34. A computer system for providing version support for objects stored in a relational database system, the computer system comprising:
-
a memory;
one or more processors coupled to the memory; and
a set of computer instructions contained in the memory, the set of computer instructions including computer instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of;
creating a table that includes a first set of one or more columns for storing values that correspond to attributes of objects, and a second set of one or more columns for storing object version information;
storing within said table multiple versions of a particular object;
in response to a request from a user to retrieve said particular object, performing the steps of determining a version of said particular object to present to said user based on a workspace associated with the user; and
presenting said version of said particular object to said user without exposing values from said second set of one or more columns to said user.
-
Specification