Method and apparatus for providing schema evolution without recompilation
First Claim
1. A method for supplying data to an application, the method comprising the computer-implemented steps of:
- receiving a request initiated by the application for stored data to be supplied to the application;
in response to the request to supply the stored data to the application, performing the steps ofdetermining a first format, said first format being the format in which said stored data is stored, anddetermining a second format, said second format being the format in which said application expects to receive said stored data;
creating a target instance of said stored data by converting said stored data from said first format to said second format without said application that requested the stored data or users of the application that requested the stored data knowing the format in which the stored data is stored; and
supplying said target instance to the application that requested the stored data.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus that allow schema version evolution to occur without requiring applications that expect older schema versions to be recompiled is provided. According to one aspect of the invention, each application that requests data is supplied the data in the format that the application expects. To supply the data in the expected format, a mechanism is provided for tracking the evolution of data types without losing information. In addition, mechanisms are provided for determining the format expected by the application and the format in which the data is currently stored. A mechanism is also provided for converting the data from the stored format to the expected format when the two formats do not match. A data migration strategy is described in which data is gradually migrated to newer formats when the data is updated by applications that expect a more recent format than the format in which the data is currently stored.
105 Citations
48 Claims
-
1. A method for supplying data to an application, the method comprising the computer-implemented steps of:
-
receiving a request initiated by the application for stored data to be supplied to the application; in response to the request to supply the stored data to the application, performing the steps of determining a first format, said first format being the format in which said stored data is stored, and determining a second format, said second format being the format in which said application expects to receive said stored data; creating a target instance of said stored data by converting said stored data from said first format to said second format without said application that requested the stored data or users of the application that requested the stored data knowing the format in which the stored data is stored; and supplying said target instance to the application that requested the stored data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-readable medium carrying one or more sequences of one or more instructions for supplying data to an application, 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:
receiving a request initiated by the application for stored data to be supplied to the application; determining a first format, said first format being the format in which said stored data is stored, and determining a second format, said second format being the format in which said application expects to receive said stored data; creating a target instance of said stored data by converting said stored data from said first format to said second format without said application that requested the stored data or users of the application that requested the stored data knowing the format in which the stored data is stored; and supplying said target instance to the application that requested the stored data. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
25. A computer system for supplying data to an application, computer system comprising:
-
one or more processors; a memory coupled to the one or more processors and containing one or more sequences of one or more instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of; receiving a request initiated by the application for stored data to be supplied to the application; in response to the request to supply the stored data to the application, performing the steps of determining a first format, said first format being the format in which said stored data is stored, and determining a second format, said second format being the format in which said application expects to receive said data; creating a target instance of said stored data by converting said stored data from said first format to said second format without said application that requested the stored data or users of the application that requested the stored data knowing the format in which the stored data is stored; and supplying said target instance to the application that requested the stored data. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for supplying data to a client application in a database system, the method comprising the computer-implemented steps of:
-
a database server receiving a request initiated by a client application for stored data to be supplied to the client application; and in response to the request to supply stored data to the client application, performing the steps of determining a first format in which the stored data is stored in the database system; determining a second format in which the client application expects to receive the stored data; the database server causing a target instance of the stored data to be created by converting the stored data from the first format to the second format without the client application that requested the stored data or users of the client application that requested the stored data knowing the format in which the stored data is stored; and the database server causing the target instance to be supplied to the client application that requested the stored data. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification