SYSTEM AND METHOD FOR PROVIDING USER DEFINED TYPES IN A DATABASE SYSTEM
First Claim
1. A method for creating a user-defined type in a database system, comprising:
- 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.
2 Assignments
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.
-
Citations
16 Claims
-
1. A method for creating a user-defined type in a database system, comprising:
-
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 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16-32. -32. (canceled)
Specification