Method and apparatus for integrating data from external sources into a database system
Techniques used in a relational database system for defining subclasses of built-in classes and thereby achieving columns in database tables which contain polymorphic objects of the built-in classes. The methods for the subclasses are contained in named packages. A table in the database system's schema relates the package name to a storage location managed by the relational database system that contains the compiled code for the package. When a method from the package is invoked, a dynamic linker uses the name and the table to locate the compiled code and then executes the compiled code. Users may define their own subclasses by writing a package and then compiling the package using a compiler belonging to the database system. The compiler puts the compiled code in one of the storage locations and modifies the table so that the package name is related to the storage location. The compilation and binding techniques may be used generally to implement plugins in the database system. One use of subclasses is to make objects that are capable of handling data from different kinds of data sources that are external to the database system, including data from files on the system upon which the database system is running and data from HTTP servers. In a preferred embodiment, these objects can also handle data stored locally within the database system and can transfer data between the external source and the local storage. Another use of subclasses is to make it possible for objects that handle data that represents the same kind of entities, but use different formats to read the format information from the data itself.
Oracle International Corporation
G Y G Y Y
G06F Y10S G06F Y10S Y10S
inventional additional inventional additional additional
Alok
Srivastava