System For Automatic Recognition And Usage Of Database Objects (Data Type, Table, Index Access Method, User Defined Routines) In RDBMS.
Publication Date: 2010-May-29
The IP.com Prior Art Database
Object relational database systems (RDBMs) enable creation of new types, functions, procedures, aggregates, and table/index access methods to extend RDBMs. A set of new objects is developed for a purpose (e.g., spatial and text search) and packaged as datablades with database products such as IBM Informix datablades, extenders in DB2, and cartridges in Oracle products. In addition, customers may develop their own datablades (i.e., sets of types and functions). The application developers generally focus on the capabilities of a database server and do not want to be concerned with the underlying infrastructure. For example, field data shows that customers generally prefer not having to learn and use a new infrastructure in new products. To improve the usability of an extensible infrastructure, this invention enables the use of new features (e.g., types, access methods, etc.) to be transparent to application developers, database packagers, and database administrators. When a developer uses a feature provided by a datablade, for example, to create a table with a new type, the feature would be available without additional help from database administrators or changes to system configurations. The invention achieves such transparency for the users by creating well known objects, dependency list, asynchronous object registration and retry logic within object finding algorithm.
System For Automatic Recognition And Usage Of Database Objects (Data Type,
Table, Index Access Method, User Defined Routines) In RDBMS.
Datablades, extenders and data cartridges are packages of types, functions, procedures and access methods. For example, IBM Informix Basic text Search (BTS) datablade has an index access method along with related utility functions. A first step for using Basic Text Search (BTS) datablade is to create a text search index. For hierarchical types (e.g., IBM Node products) or binary datablades (e.g., IBM Binary products), a table is first created using the datatypes provided by the products.
One aspect of the invention is to create a list of well known types, access methods, and functions. For each data object, the invention generates dependency lists and prerequisites. The example below provides a use scenario for a Node datablade.
A Node datablade includes Node data type and a number of functions operating on the Node type. The first operation by an application or a user when using the datablade is to create a table with a column of NODE datatype. With the current infrastructure, when the application tries to use one of these objects, the application receives an error from the system. In order to handle this error, the error handling code in the datablade product checks whether the error is due to an access to one of the known objects. If this is true, the system will identify the dependent datablade or extender package based on the dependency list. It will then make an asynchronous request for the required datablade/extender to be registered and load the required libraries. The requesting session will wait for the registration to complete and then will retry the operation. The application requesting the table creation is not aware of this process, except for the extra time taken to register the session.
Creating a table without the invention: > Create database mydb with log;
>CREATE TABLE t(a NODE); 9628: Type (node) not fou...