Patent ID: 7225201

Claim:
A computer-implemented method for providing an extensible data type in a database system, comprising: creating a type registry, where the type registry includes an entry for each of one or more data types each having a unique type identifier, and each entry indicates a registry object of the corresponding data type; defining an extensible data type by: defining one or more data members for the extensible data type, where a data member is of a data type; defining a type count indicating how many data members are associated with the extensible data type; defining a type context for each data member, where a type context includes a type identifier indicating an entry in the type registry corresponding to the type context's corresponding data member; where the extensible data type is implemented as an object-based data type; and creating an instance of an extensible data type by: receiving a call to a constructor function for the extensible data type, where the constructor function call includes a constructor string; creating an extensible data type object; parsing the constructor string to determine one or more data members for the extensible data type object; retrieving a type identifier from the type registry for each data member; creating a data member object for each data member; initializing each data member object; and initializing the extensible data type object, including storing a pointer to each created data member object in the extensible data type object.