Database version control subsystem and method for use with database management system
First Claim
1. A method for providing version control of a database, the method comprising:
- receiving a query specifying a modification to be performed on one of a plurality of records of the database;
generating, based on the received query, an augmented query specifying a version of the one record and the manipulation to be performed on the version of the one record; and
causing the augmented query to be processed thereby performing the manipulation on the version of the one record.
2 Assignments
0 Petitions
Accused Products
Abstract
A version control system is described for use in connection with a database management system to facilitate versioning of a database table, the system including a database table and a version control module. The database table comprises a plurality of records, each record including at least one data field for storing user data and at least some of the records including a version control field including version control information. The version control module is configured to, in response to a user query related to the database table and related to a version, generate an augmented query for processing by the data base management system, the augmented query relating to the user query and the version control information. The version control module facilitates association of versions of the database with respective ones of a hierarchy of states and allows conflicts therebetween to be resolved, data to be posted from child states to respective parent states in the hierarchy, and referential constraints between tables to be preserved.
130 Citations
23 Claims
-
1. A method for providing version control of a database, the method comprising:
-
receiving a query specifying a modification to be performed on one of a plurality of records of the database;
generating, based on the received query, an augmented query specifying a version of the one record and the manipulation to be performed on the version of the one record; and
causing the augmented query to be processed thereby performing the manipulation on the version of the one record. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
a version identifier field for storing the version of the respective record; and
a next version identifier field for storing at least one of another version of the respective record and a default value.
-
-
4. A method according to claim 3, wherein the version identifier fields and the next version identifier fields effect a tree structure of nodes representing corresponding versions of the records.
-
5. A method according to claim 3, further comprising:
-
determining whether the version of the one record exists; and
instructing establishment of a new record based upon the determining step, the new record including a field for specifying a corresponding version identifier.
-
-
6. A method according to claim 1, wherein each of the records includes a flag field for designating deletion, the method further comprising:
-
determining whether the version of the one record exists; and
if the query specifies a deletion, instructing setting of the flag field of the one record.
-
-
7. A method according to claim 1, further comprising:
storing identification information associated with the version of the one record to define a state among a plurality of states of the database.
-
8. A method according to claim 7, wherein the states are in a hierarchical relationship.
-
9. A method according to claim 1, wherein the one record has multiple versions, the method further comprising:
providing access to a pre-designated version of the versions in response to the query.
-
10. A method according to claim 1, wherein the one record has multiple versions, the method further comprising:
identifying the version among a plurality of versions of the one record to satisfy the query.
-
11. A method according to claim 1, wherein the database includes a plurality of tables containing the records, the further comprising:
specifying on a table-by-table basis whether more than one version of the records can exist.
-
12. A computer-readable medium bearing instructions for providing version control of a database, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 1.
-
13. A system for providing version control of a database, the system comprising:
-
means for receiving a query specifying a modification to be performed on one of a plurality of records of the database;
means for generating, based on the received query, an augmented query specifying a version of the one record and the manipulation to be performed on the version of the one record; and
means for causing the augmented query to be processed thereby performing the manipulation on the version of the one record. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
a version identifier field for storing the version of the respective record; and
a next version identifier field for storing at least one of another version of the respective record and a default value.
-
-
16. A system according to claim 15, wherein the version identifier fields and the next version identifier fields effect a tree structure of nodes representing corresponding versions of the records.
-
17. A system according to claim 15, further comprising:
-
means for determining whether the version of the one record exists; and
means for instructing establishment of a new record based upon the determining step, the new record including a field for specifying a corresponding version identifier.
-
-
18. A system according to claim 13, wherein each of the records includes a flag field for designating deletion, the system further comprising:
means for determining whether the version of the one record exists; and
means for instructing setting of the flag field of the one record upon the query specifying a deletion.
-
19. A system according to claim 13, further comprising:
means for storing identification information associated with the version of the one record to define a state among a plurality of states of the database.
-
20. A system according to claim 19, wherein the states are in a hierarchical relationship.
-
21. A system according to claim 13, wherein the one record has multiple versions, the system further comprising:
means for providing access to a pre-designated version of the versions in response to the query.
-
22. A system according to claim 13, wherein the one record has multiple versions, the system further comprising:
means for identifying the version among a plurality of versions of the one record to satisfy the query.
-
23. A system according to claim 13, wherein the database includes a plurality of tables containing the records, the further comprising:
means for specifying on a table-by-table basis whether more than one version of the records can exist.
Specification