IP Library Granted Patent US 8,918,429
Granted Patent B2
US 8,918,429 · App. 13/354,885 · Granted Dec 23, 2014

Database versioning system

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 8,918,429
App. No.
13/354,885
Granted
Dec 23, 2014
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for identifying one or more rows in a relational database that have each been modified since a first point in time, wherein each of the rows is associated with a respective table in the relational database; for each of the identified rows, updating a respective file in an external representation of the table associated with the row to reflect the modification to the row wherein the respective file is not stored in the database; and creating a first version of the relational database in a version control system using the external representation including one or more of the updated files, wherein the first version of the database comprises one or more files in the version control system.

Claims (46)

1. A method implemented by data processing apparatus, the method comprising:

identifying one or more rows in a relational database that have each been modified since a first point in time, wherein each of the rows is associated with a respective table in the relational database;

serializing each of the identified rows into a respective serialized format wherein the serialized format does not include structured query language;

for each of the identified rows, updating a respective file in an external representation of the table associated with the row with the respective serialized format of the row wherein the respective file is not stored in the database;

creating a first version of the relational database in a version control system using the external representation including one or more of the updated files, wherein the first version of the database comprises one or more files in the version control system;

determining one or more differences between one or more files of the first version of the relational database in the version control system and one or more files of a different version of the relational database in the version control system, and executing one or more database commands based on the determined differences so that contents of the relational database are the same as the different version; and

detecting a change to the relational database, and creating a second version of the database in the version control system based on the detected change.

2. The method of claim 1 , wherein a particular row of the identified rows is modified if the particular row has been created, deleted, or changed in the database since the first point in time.

3. The method of claim 1 , wherein each respective file stores a plurality of rows of a table in the database.

4. The method of claim 1 , wherein identifying the one or more rows is performed by a database management system.

5. The method of claim 1 , wherein creating the first version and creating the second version is performed by a version control system.

6. The method of claim 1 , further comprising:

executing one or more database commands based on one or more determined differences between the first version of the relational database and the second version of the relational database to restore the relational database to the first version of the database.

7. The method of claim 1 , further comprising:

executing one or more database commands based on one or more determined differences between the first version of the relational database and the second version of the relational database to restore the relational database to the second version of the database.

8. A program product stored on a non-transitory computer readable medium including instructions that are operable, when executed by a data processing apparatus, to cause the data processing apparatus to perform operations comprising:

identifying one or more rows in a relational database that have each been modified since a first point in time, wherein each of the rows is associated with a respective table in the relational database;

serializing each of the identified rows into a respective serialized format wherein the serialized format does not include structured query language;

for each of the identified rows, updating a respective file in an external representation of the table associated with the row with the respective serialized format of the row wherein the respective file is not stored in the database;

creating a first version of the relational database in a version control system using the external representation including one or more of the updated files, wherein the first version of the database comprises one or more files in the version control system;

determining one or more differences between one or more files of the first version of the relational database in the version control system and one or more files of a different version of the relational database in the version control system, and executing one or more database commands based on the determined differences so that contents of the relational database are the same as the different version; and

detecting a change to the relational database, and creating a second version of the database in the version control system based on the detected change.

9. The program product of claim 8 , wherein a particular row of the identified rows is modified if the particular row has been created, deleted, or changed in the database since the first point in time.

10. The program product of claim 8 , wherein each respective file stores a plurality of rows of a table in the database.

11. The program product of claim 8 , wherein identifying the one or more rows is performed by a database management system.

12. The program product of claim 8 , wherein creating the first version and creating the second version is performed by a version control system.

13. The program product of claim 8 , wherein the operations further comprise:

executing one or more database commands based on one or more determined differences between the first version of the relational database and the second version of the relational database to restore the relational database to the first version of the database.

14. The program product of claim 8 , wherein the operations further comprise:

executing one or more database commands based on one or more determined differences between the first version of the relational database and the second version of the relational database to restore the relational database to the second version of the database.

15. A system comprising:

data processing apparatus comprising at least one processor and one or more memory devices for storing instructions to cause the at least one processor to perform operations comprising:

identifying one or more rows in a relational database that have each been modified since a first point in time, wherein each of the rows is associated with a respective table in the relational database;

serializing each of the identified rows into a respective serialized format wherein the serialized format does not include structured query language;

for each of the identified rows, updating a respective file in an external representation of the table associated with the row with the respective serialized format of the row wherein the respective file is not stored in the database;

creating a first version of the relational database in a version control system using the external representation including one or more of the updated files, wherein the first version of the database comprises one or more files in the version control system;

determining one or more differences between one or more files of the first version of the relational database in the version control system and one or more files of a different version of the relational database in the version control system, and executing one or more database commands based on the determined differences so that contents of the relational database are the same as the different version; and

detecting a change to the relational database, and creating a second version of the database in the version control system based on the detected change.

16. The system of claim 15 , wherein a particular row of the identified rows is modified if the particular row has been created, deleted, or changed in the database since the first point in time.

17. The system of claim 15 , wherein each respective file stores a plurality of rows of a table in the database.

18. The system of claim 15 , wherein identifying the one or more rows is performed by a database management system.

19. The system of claim 15 , wherein creating the first version and creating the second version is performed by a version control system.

20. The system of claim 15 , wherein the operations further comprise:

executing one or more database commands based on one or more determined differences between the first version of the relational database and the second version of the relational database to restore the relational database to the first version of the database.

21. The system of claim 15 , wherein the operations further comprise:

executing one or more database commands based on one or more determined differences between the first version of the relational database and the second version of the relational database to restore the relational database to the second version of the database.

Assignments (2)
CHANGE OF ADDRESS FOR ASSIGNEE Recorded Aug 19, 2022
From: AUTODESK, INC.
To: AUTODESK, INC.
Reel/Frame 061572/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2012
From: STANEV, TRAIAN IAVOROV
To: AUTODESK, INC.
Reel/Frame 028420/0534 →