Using a data dictionary to determine an upgrade edition of a relational database table
First Claim
1. A computer implemented method for using a data dictionary to automatically determine an upgrade edition of relational database table, the method comprising:
- identifying a set of applications to be upgraded, wherein the set of applications respectively access a plurality of relational database table views of a physical relational database table;
receiving a data dictionary associated with the set of applications, wherein the data dictionary comprises at least entries pertaining to the physical relational database table, wherein the physical relational database comprises same underlying data in a plurality of columns, and wherein the data dictionary comprises entries that codify data representation of the physical relational database table having the same underlying data in the plurality of columns;
for a respective application of the set of applications, performing a set of acts that comprises;
acquiring, from the data dictionary, respective entries of the physical relational database table corresponding to a respective relational database table view for the respective application; and
based at least in part on the respective entries received from the data dictionary, identifying one or more columns having a corresponding revision identifier, whereinthe one or more columns are associated with the respective application and are accessible by a first synonym that provides an access point to at least one of the physical relational database table, one or more respective application editions, or one or more relational database table views, andthe revision identifier pertains to the one or more changes to be applied to the respective relational database table view associated with a respective application run edition of the respective application;
creating a first relational database table view for a first application edition of the respective application at least by;
populating the first relational database table view with first data from a first subset of columns of the plurality of columns based at least in part upon at least a first edition identifier associated with at least one column of the first subset of columns of the physical relational database table, anddefining the first synonym that points to the first relational database table view of the physical relational database table, wherein the first application edition uses the first synonym to access or manage the first relational database table view of the physical relational database table;
creating a second relational database table view for a second application edition of the respective application at least by;
populating the second relational database table view with first modified data from a second subset of columns of the plurality of columns based at least in part upon a second revision identifier associated with the physical relational database table, wherein the second application manages or accesses the second relational database table view, anddefining a second synonym that points to the second relational database table view of the physical relational database table, wherein the second application edition uses the second synonym to access or manage the second relational database table view of the physical relational database table, and both the first synonym and the second synonym point to a same physical relational database table;
identifying an application definition with an application version identifier that comprises multiple versions of constituent parts of the application definition, the application definition comprising a collection of schema, code, and metadata definitions;
determining a collection of first versioned part definitions for the first application edition of the respective application;
determining a collection of second versioned part definitions for the second application edition of the respective application;
initiating a cutover at least by upgrading or patching the respective application from the first application edition operating upon the first relational database table view to the second application edition operating upon the second relational database table view;
performing an online patch that includes the cutover for the respective application from the respective application run edition to a respective application patch edition of the one or more application editions, wherein performing the online patch comprises;
executing an online patching or upgrading cycle for the respective application at least by identifying a patch or upgrade, and applying the patch or upgrade to the second application edition of the respective application;
identifying continuously changing runtime data for the respective application;
generating one or more additional editions at least by creating a plurality of application code modules and data for repeated applications of transformations to at least a part of the data; and
continuing execution of the online patching or upgrading cycle for the respective application at least by continuously applying transformations to the continuously changing runtime data that changes while the online patching or upgrading cycle is executing;
finalizing the online patch of the respective application to the respective application patch edition;
repointing at least one synonym of the physical relational database table to the second synonym associated with the second relational database table view;
setting the second application edition as a new run edition of the respective application;
shutting down the first application edition of the application after the second application edition is finalized for the cutover;
subsequently starting up the new run edition that was set from the second application edition of the respective application, after the first application edition is shut down, such that one or more users accessing the first application edition are offline until the second application edition of the application is started, wherein the first relational database table view and the second relational database table view are generated based on the same underlying data in the physical relational database table;
syncing the first subset of columns in the first relational database table view with the second subset of columns in the second relational database table view at least by executing a plurality of triggers, wherein during execution of the plurality of triggers, each trigger of the plurality of triggers populates changes from one subset of the first and second subsets of columns to another subset of the first and second subsets of columns; and
cleaning up the first application edition of the respective application.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer program product using a data dictionary to automatically determine an upgrade edition of relational database table in a database installation. The editioning method commences upon receiving a data dictionary of the database comprising at least entries corresponding to a first edition of the relational database table, then reading entries of the data dictionary to identify at least one relational database table column of the relational database table that has a revision identifier. The revision identifiers are used to determine a first edition (e.g., a run edition) and a second edition (e.g., an upgrade edition). Then, the method proceeds by creating at least a first relational database table view corresponding to the first edition of the relational database table; and creating at least a second relational database table view corresponding to the upgrade edition of the relational database table using the identified relational database table column.
108 Citations
23 Claims
-
1. A computer implemented method for using a data dictionary to automatically determine an upgrade edition of relational database table, the method comprising:
-
identifying a set of applications to be upgraded, wherein the set of applications respectively access a plurality of relational database table views of a physical relational database table; receiving a data dictionary associated with the set of applications, wherein the data dictionary comprises at least entries pertaining to the physical relational database table, wherein the physical relational database comprises same underlying data in a plurality of columns, and wherein the data dictionary comprises entries that codify data representation of the physical relational database table having the same underlying data in the plurality of columns; for a respective application of the set of applications, performing a set of acts that comprises; acquiring, from the data dictionary, respective entries of the physical relational database table corresponding to a respective relational database table view for the respective application; and based at least in part on the respective entries received from the data dictionary, identifying one or more columns having a corresponding revision identifier, wherein the one or more columns are associated with the respective application and are accessible by a first synonym that provides an access point to at least one of the physical relational database table, one or more respective application editions, or one or more relational database table views, and the revision identifier pertains to the one or more changes to be applied to the respective relational database table view associated with a respective application run edition of the respective application; creating a first relational database table view for a first application edition of the respective application at least by; populating the first relational database table view with first data from a first subset of columns of the plurality of columns based at least in part upon at least a first edition identifier associated with at least one column of the first subset of columns of the physical relational database table, and defining the first synonym that points to the first relational database table view of the physical relational database table, wherein the first application edition uses the first synonym to access or manage the first relational database table view of the physical relational database table; creating a second relational database table view for a second application edition of the respective application at least by; populating the second relational database table view with first modified data from a second subset of columns of the plurality of columns based at least in part upon a second revision identifier associated with the physical relational database table, wherein the second application manages or accesses the second relational database table view, and defining a second synonym that points to the second relational database table view of the physical relational database table, wherein the second application edition uses the second synonym to access or manage the second relational database table view of the physical relational database table, and both the first synonym and the second synonym point to a same physical relational database table; identifying an application definition with an application version identifier that comprises multiple versions of constituent parts of the application definition, the application definition comprising a collection of schema, code, and metadata definitions; determining a collection of first versioned part definitions for the first application edition of the respective application; determining a collection of second versioned part definitions for the second application edition of the respective application; initiating a cutover at least by upgrading or patching the respective application from the first application edition operating upon the first relational database table view to the second application edition operating upon the second relational database table view; performing an online patch that includes the cutover for the respective application from the respective application run edition to a respective application patch edition of the one or more application editions, wherein performing the online patch comprises; executing an online patching or upgrading cycle for the respective application at least by identifying a patch or upgrade, and applying the patch or upgrade to the second application edition of the respective application; identifying continuously changing runtime data for the respective application; generating one or more additional editions at least by creating a plurality of application code modules and data for repeated applications of transformations to at least a part of the data; and continuing execution of the online patching or upgrading cycle for the respective application at least by continuously applying transformations to the continuously changing runtime data that changes while the online patching or upgrading cycle is executing; finalizing the online patch of the respective application to the respective application patch edition; repointing at least one synonym of the physical relational database table to the second synonym associated with the second relational database table view; setting the second application edition as a new run edition of the respective application; shutting down the first application edition of the application after the second application edition is finalized for the cutover; subsequently starting up the new run edition that was set from the second application edition of the respective application, after the first application edition is shut down, such that one or more users accessing the first application edition are offline until the second application edition of the application is started, wherein the first relational database table view and the second relational database table view are generated based on the same underlying data in the physical relational database table; syncing the first subset of columns in the first relational database table view with the second subset of columns in the second relational database table view at least by executing a plurality of triggers, wherein during execution of the plurality of triggers, each trigger of the plurality of triggers populates changes from one subset of the first and second subsets of columns to another subset of the first and second subsets of columns; and cleaning up the first application edition of the respective application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system for using a data dictionary to automatically determine an upgrade edition of a physical relational database table, comprising:
-
a computer processor to execute a set of program code instructions; and a memory to hold the program code instructions which, when executed by the computer processor, cause the computer processor at least to; identify a set of applications to be upgraded, wherein the set of applications respectively access a plurality of relational database table views of a physical relational database table; receive a data dictionary associated with the set of applications, wherein the data dictionary comprises at least entries pertaining to the physical relational database table, wherein the physical relational database comprises same underlying data in a plurality of columns, and wherein the data dictionary comprises entries that codify data representation of the physical relational database table having the same underlying data in the plurality of columns; for a respective application of the set of applications, execute the program code instructions, execution of the program code instructions by the computer processor further causing the computer processor to; acquire, from the data dictionary, respective entries of the physical relational database table corresponding to a respective relational database table view for the respective application; and based at least in part on the respective entries received from the data dictionary, identify one or more columns having a corresponding revision identifier, wherein the one or more columns are associated with the respective application and are accessible by a first synonym that provides an access point to at least one of the physical relational database table, one or more respective application editions, or one or more relational database table views, and the revision identifier pertains to the one or more changes to be applied to the respective relational database table view associated with a respective application nm edition of the respective application; create a first relational database table view for a first application edition of the respective application at least by; populating the first relational database table view with first data from a first subset of columns of the plurality of columns based at least in part upon at least a first edition identifier associated with at least one column of the first subset of columns of the physical relational database table, and defining the first synonym that points to the first relational database table view of the physical relational database table, wherein the first application edition uses the first synonym to access or manage the first relational database table view of the physical relational database table; create a second relational database table view for a second application edition of the respective application at least by; populating the second relational database table view with first modified data from a second subset of columns of the plurality of columns based at least in part upon a second revision identifier associated with the physical relational database table, wherein the second application manages or accesses the second relational database table view, and defining a second synonym that points to the second relational database table view of the physical relational database table, wherein the second application edition uses the second synonym to access or manage the second relational database table view of the physical relational database table, and both the first synonym and the second synonym point to a same physical relational database table; identify an application definition with an application version identifier that comprises multiple versions of constituent parts of the application definition, the application definition comprising a collection of schema, code, and metadata definitions; determine a collection of first versioned part definitions for the first application edition of the respective application; determine a collection of second versioned part definitions for the second application edition of the respective application; initiate a cutover at least by upgrading or patching the respective application from the first application edition operating upon the first relational database table view to the second application edition operating upon the second relational database table view; performing an online patch that includes the cutover for the respective application from the respective application run edition to a respective application patch edition of the one or more application editions, wherein performing the online patch comprises; executing an online patching or upgrading cycle for the respective application at least by identifying a patch or upgrade, and applying the patch or upgrade to the second application edition of the respective application; identifying continuously changing runtime data for the respective application; generating one or more additional editions at least by creating a plurality of application code modules and data for repeated applications of transformations to at least a part of the data; and continuing execution of the online patching or upgrading cycle for the respective application at least by continuously applying transformations to the continuously changing runtime data that changes while the online patching or upgrading cycle is executing; finalizing the online patch of the respective application to the respective application patch edition; repointing at least one synonym of the physical relational database table to the second synonym associated with the second relational database table view; setting the second application edition as a new run edition of the respective application; shutting down the first application edition of the application after the second application edition is finalized for the cutover; subsequently starting up the new run edition that was set from the second application edition of the respective application, after the first application edition is shut down, such that one or more users accessing the first application edition are offline until the second application edition of the application is started, wherein the first relational database table view and the second relational database table view are generated based on the same underlying data in the physical relational database table; sync the first subset of columns in the first relational database table view with the second subset of columns in the second relational database table view at least by executing a plurality of triggers, wherein during execution of the plurality of triggers, each trigger of the plurality of triggers populates changes from one subset of the first and second subsets of columns to another subset of the first and second subsets of columns; and cleaning up the first application edition of the respective application. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer program product embodied in a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a process to implement using a data dictionary to automatically determine an upgrade edition of a physical relational database table, the process comprising:
-
identifying a set of applications to be upgraded, wherein the set of applications respectively access a plurality of relational database table views of the physical relational database table; receiving a data dictionary associated with the set of applications, wherein the data dictionary comprises at least entries pertaining to the physical relational database table, wherein the physical relational database comprises same underlying data in a plurality of columns, and wherein the data dictionary comprises entries that codify data representation of the physical relational database table having the same underlying data in the plurality of columns; for a respective application of the set of applications, performing a set of acts that comprises; acquiring, from the data dictionary, respective entries of the physical relational database table corresponding to a respective relational database table view for the respective application; and based at least in part on the respective entries received from the data dictionary, identifying one or more columns having a corresponding revision identifier, wherein the one or more columns are associated with the respective application and are accessible by a first synonym that provides an access point to at least one of the physical relational database table, one or more respective application editions, or one or more relational database table views, and the revision identifier pertains to the one or more changes to be applied to the respective relational database table view associated with a respective application run edition of the respective application; creating a first relational database table view for a first application edition of the respective application at least by; populating the first relational database table view with first data from a first subset of columns of the plurality of columns based at least in part upon at least a first edition identifier associated with at least one column of the first subset of columns of the physical relational database table, and defining the first synonym that points to the first relational database table view of the physical relational database table, wherein the first application edition uses the first synonym to access or manage the first relational database table view of the physical relational database table; creating a second relational database table view for a second application edition of the respective application at least by; populating the second relational database table view with first modified data from a second subset of columns of the plurality of columns based at least in part upon a second revision identifier associated with the physical relational database table, wherein the second application manages or accesses the second relational database table view, and defining a second synonym that points to the second relational database table view of the physical relational database table, wherein the second application edition uses the second synonym to access or manage the second relational database table view of the physical relational database table, and both the first synonym and the second synonym point to a same physical relational database table; identifying an application definition with an application version identifier that comprises multiple versions of constituent parts of the application definition, the application definition comprising a collection of schema, code, and metadata definitions; determining a collection of first versioned part definitions for the first application edition of the respective application; determining a collection of second versioned part definitions for the second application edition of the respective application; initiating a cutover at least by upgrading or patching the respective application from the first application edition operating upon the first relational database table view to the second application edition operating upon the second relational database table view; performing an online patch that includes the cutover for the respective application from the respective application run edition to a respective application patch edition of the one or more application editions, wherein performing the online patch comprises; executing an online patching or upgrading cycle for the respective application at least by identifying a patch or upgrade, and applying the patch or upgrade to the second application edition of the respective application; identifying continuously changing runtime data for the respective application; generating one or more additional editions at least by creating a plurality of application code modules and data for repeated applications of transformations to at least a part of the data; and continuing execution of the online patching or upgrading cycle for the respective application at least by continuously applying transformations to the continuously changing runtime data that changes while the online patching or upgrading cycle is executing; finalizing the online patch of the respective application to the respective application patch edition; repointing at least one synonym of the physical relational database table to the second synonym associated with the second relational database table view; setting the second application edition as a new run edition of the respective application; shutting down the first application edition of the application after the second application edition is finalized for the cutover; subsequently starting up the new run edition that was set from the second application edition of the respective application, after the first application edition is shut down, such that one or more users accessing the first application edition are offline until the second application edition of the application is started, wherein the first relational database table view and the second relational database table view are generated based on the same underlying data in the physical relational database table; syncing the first subset of columns in the first relational database table view with the second subset of columns in the second relational database table view at least by executing a plurality of triggers, wherein during execution of the plurality of triggers, each trigger of the plurality of triggers populates changes from one subset of the first and second subsets of columns to another subset of the first and second subsets of columns; and cleaning up the first application edition of the respective application. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification