On demand data conversion
First Claim
1. A method of updating a database, the method comprising:
- determining that an application has been updated to operate in a first version and a second version, wherein the first version of the application requires data to be stored in a database in a first format, and wherein the second version of the application requires data to be stored in the database in a second format;
providing a first data interface and a second data interface between the database and the application, wherein each interface provides for read and write access to the database;
providing a system constant that indicates whether the application should operate in the first version or in the second version;
providing for the system constant to be assigned a value indicating that the application should operate in the second version;
operating the application in the second version based on the value of the system constant;
selecting the second data interface based on a value of the system constant;
receiving a request from the application, operating in the second version, through the second data interface, to access a first data set in a first table of the database, the first data set being stored in the first format and comprising a first set of data elements; and
in response to receiving the request from the application through the second data interface;
creating a second table in the database;
storing, using at least one processor operatively coupled with a memory, a second set of data elements in the second table in the database based on the received request, the first and second sets of data elements being necessary for the operating the application in the second version;
creating a header table in the database, the header table comprising a third data set;
storing a first reference in the third data set to the first set of data elements;
storing a second reference in the third data set to the second set of data elements; and
providing, through the second data interface, the application with data in the second format by;
(i) dereferencing the first reference in the third data set of the header table to retrieve the first set of data elements from the first table;
(ii) dereferencing the second reference in the third data set of the header table to retrieve the second set of data elements in the second table; and
(iii) providing the application with both the first set of data elements in the first table and the second set of data elements in the second table.
1 Assignment
0 Petitions
Accused Products
Abstract
Novel tools for updating data structures in a database are presented. In an aspect, the tools are used to update a database'"'"'s structures in response to the update of an application (such as an enterprise application) that uses the database. In another aspect, the tools may convert a data set to a new format when the updated application attempts to access the data set; in some cases, other data sets within the database might remain unconverted until their use. Advantageously, this allows for a database (and/or a table within a database) to be updated incrementally and/or on demand. This feature can mitigate the impact of the update on users, for example, by avoiding the need to take the database (and/or application) offline to perform a batch process to update the database.
17 Citations
15 Claims
-
1. A method of updating a database, the method comprising:
-
determining that an application has been updated to operate in a first version and a second version, wherein the first version of the application requires data to be stored in a database in a first format, and wherein the second version of the application requires data to be stored in the database in a second format; providing a first data interface and a second data interface between the database and the application, wherein each interface provides for read and write access to the database; providing a system constant that indicates whether the application should operate in the first version or in the second version; providing for the system constant to be assigned a value indicating that the application should operate in the second version; operating the application in the second version based on the value of the system constant; selecting the second data interface based on a value of the system constant; receiving a request from the application, operating in the second version, through the second data interface, to access a first data set in a first table of the database, the first data set being stored in the first format and comprising a first set of data elements; and in response to receiving the request from the application through the second data interface; creating a second table in the database; storing, using at least one processor operatively coupled with a memory, a second set of data elements in the second table in the database based on the received request, the first and second sets of data elements being necessary for the operating the application in the second version; creating a header table in the database, the header table comprising a third data set; storing a first reference in the third data set to the first set of data elements; storing a second reference in the third data set to the second set of data elements; and providing, through the second data interface, the application with data in the second format by; (i) dereferencing the first reference in the third data set of the header table to retrieve the first set of data elements from the first table; (ii) dereferencing the second reference in the third data set of the header table to retrieve the second set of data elements in the second table; and (iii) providing the application with both the first set of data elements in the first table and the second set of data elements in the second table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium having encoded thereon a computer program comprising a set of instructions for programming a computer system to perform a set of operations, the computer program comprising:
-
instructions to determine that an application has been updated to operate in a first version and a second version, wherein the first version of the application requires data to be stored in a database in a first format, and wherein the second version of the application requires data to be stored in the database in a second format; instructions to provide a first data interface and a second data interface between the database and the application, wherein each interface provides for read and write access to the database; instructions to provide a system constant that indicates whether the application should operate in the first version or in the second version; instructions to provide for the system constant to be assigned a value indicating that the application should operate in the second version; instructions to operate the application in the second version based on the value of the system constant; instructions to select the second data interface based on a value of the system constant; instructions to receive a request from the application, operating in the second version, through the second data interface, to access a first data set in a first table of the database, the first data set being stored in the first format and comprising a first set of data elements; and in response to receiving the request from the application through the second data interface; instructions to create a second table in the database; instructions to store a second set of data elements in a second table in the database based on the received request, the first and second sets of data elements being necessary for operating the application in the second version; instructions to create a header table in the database, the header table comprising a third data set; instructions to store a first reference in the third data set to the first set of data elements; instructions to store a second reference in the third data set to the second set of data elements; and instructions to provide, through the second data interface, the application with data in the second format by; (i) dereferencing the first reference in the third data set of the header table to retrieve the first set of data elements from the first table; (ii) dereferencing the second reference in the third data set of the header table to retrieve the second set of data elements in the second table; and (iii) providing the application with both the first set of data elements in the first table and the second set of data elements in the second table.
-
-
15. A computer system, comprising:
-
a database for storing data for an application, the database comprising a first table, the first table being configured to store a plurality of data sets; one or more processors in communication with the database; a non-transitory computer readable storage medium having encoded thereon a computer program comprising a set of instructions for programming the one or more processors to perform a set of operations, the computer program comprising; instructions to determine that an application has been updated to operate in a first version and a second version, wherein the first version of the application requires data to be stored in a database in a first format, and wherein the second version of the application requires data to be stored in the database in a second format; instructions to provide a first data interface and a second data interface between the database and the application, wherein each interface provides for read and write access to the database; instructions to provide a system constant that indicates whether the application should operate in the first version or in the second version; instructions to provide for the system constant to be assigned a value indicating that the application should operate in the second version; instructions to operate the application in the second version based on the value of the system constant; instructions to select the second data interface based on a value of the system constant; instructions to receive a request from the application, operating in the second version, through the second data interface, to access a first data set in a first table of the database, the first data set being stored in the first format and comprising a first set of data elements; and in response to receiving the request from the application through the second data interface; instructions to create a second table in the database; instructions to store a second set of data elements in a second table in the database based on the received request, the first and second sets of data elements being necessary for operating the application in the second version; instructions to create a header table in the database, the header table comprising a third data set; instructions to store a first reference in the third data set to the first set of data elements; instructions to store a second reference in the third data set to the second set of data elements; and instructions to provide, through the second data interface, the application with data in the second format by; (i) dereferencing the first reference in the third data set of the header table to retrieve the first set of data elements from the first table; (ii) dereferencing the second reference in the third data set of the header table to retrieve the second set of data elements in the second table; and (iii) providing the application with both the first set of data elements in the first table and the second set of data elements in the second table.
-
Specification