System and method for providing user defined types in a database system
1 Assignment
0 Petitions
Accused Products
Abstract
A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.
31 Citations
47 Claims
-
1-32. -32. (canceled)
-
33. A computer-readable medium having stored thereon computer-executable instructions that, when executed on a computer system, enable the computer system to perform the steps of:
-
receiving code that implements a class defining the structure of a user-defined type and methods that can be invoked on instances of the user-defined type;
enforcing a contract against the class, the contract comprising;
a first requirement that the class specify one of a plurality of different formats for persisting instances of the user-defined type in a database store;
a second requirement that the class be capable of returning a null value for the user-defined type; and
a third requirement that the class provide a method for converting the user-defined type to another type;
enabling instances of the user-defined type to be created only when the class meets the requirements of the contract;
performing said receiving, enforcing, and enabling steps to create a user-defined type in the context of a first database;
performing said receiving, enforcing, and enabling steps to create a user-defined type in the context of a second database; and
determining whether the user-defined type created in the context of the first database is equivalent to the user-defined type created in the context of the second database. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification