Patent ID: 7272600
Filing Date: 2007-09-18
Classification: G06F,Y10S

Abstract:
1. A computer system comprising: a processor; a base program; a database server that is embedded within said base program; a database; and a plurality of add-on programs; wherein said database server causes data to be stored, retrieved, and modified in said database; wherein each add-on program of said plurality of add-on programs causes data to be stored, retrieved, and modified in said database; wherein said database comprises (a) a base program section and (b) a plurality of add-on program sections; wherein said base program section stores database objects that are owned by said base program; wherein each add-on program section of said plurality of add-on program sections stores database objects that are owned by a separate add-on program of said plurality of add-on programs; wherein, for each particular section of said base program section and said plurality of add-on program sections, (a) said particular section is associated a database username that is different from any database username that is associated with any other section, (b) database objects in said particular section are associated with a database username that is associated with said particular section, and (c) said particular section is associated with a password that is separate from any password that is associated with any other section; wherein each particular add-on program of said plurality of add-on programs is prevented from accessing database objects within any section of said base program section and said plurality of add-on program sections unless said particular program supplies a password that is associated with a section, of said base program section and said plurality of add-on program sections, that contains database objects that said particular program is attempting to access; wherein said base program implements an application programming interface (API); wherein said API implements methods that are invocable by each add-on program of said plurality of add-on programs; wherein said API provides, to each add-on program of said plurality of add-on programs, a uniform set of functions that are accessible through a uniform interface; wherein an uninstallation of said database server requires migration of database objects that are stored in said database; wherein, by invoking methods of said API, each separate add-on program of said plurality of add-on programs migrates database objects that said separate add-on program owns; wherein, as part of an uninstall mechanism that uninstalls an old version of a first add-on program of said add-on programs, said first add-on program invokes a first method of said API; wherein, in invoking said first method of said API, said first add-on program specifies, as a parameter of said first method, a first database username that is associated with a first add-on program section of said plurality of add-on program sections; wherein, in response to being invoked with said first database username as a parameter, said first method exports, from said database, as transportable tablespaces, database objects that are contained in said first add-on program section; wherein, as part of an install mechanism that installs a new version of said first add-on program, said first add-on program invokes a second method of said API; wherein said second method differs from said first method; wherein, in invoking said second method of said API, said first add-on program specifies, as a parameter of said second method, said first database username that is associated with said first add-on program section of said plurality of add-on program sections; wherein, in response to being invoked with said first database username as a parameter, said second method imports, into said first add-on program section of said database, particular database objects that are contained in said transportable tablespaces; wherein, as a part of said install mechanism, after said particular database objects have been imported into said database from said transportable tablespaces, said first add-on program modifies said particular database objects; wherein, before said first add-on program modifies said particular database objects, said particular database objects conform to a first schema; wherein, after said first add-on program modifies said particular database objects, said particular database objects conform to a second schema that differs from said first schema.