Aggregating and manipulating dictionary metadata in a database system
First Claim
1. Apparatus for retrieving metadata for an object in a database system that has a data dictionary, the metadata for the object being stored in a plurality of objects belonging to the data dictionary andthe apparatus comprising:
- a definition in the data dictionary for an aggregation object that aggregates the metadata for the object from the plurality of objects belonging to the data dictionary; and
an application program interface that includes a fetch interface that causes execution of a query which returns the metadata for the object in an aggregation object made according to the definition.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques for simplifying the aggregation of data stored in a number of objects in a database system. A user-defined type and an object view are associated with a kind of data to be aggregated. The object view specifies the locations of the data in the objects and maps the data to be aggregated into the user-defined type. An application program interface includes a fetch interface that causes the database system to make a query over the object view associated with the kind of data and return the aggregated data in a set of objects of the user-defined type. The returned data is converted to XML and may be further transformed using XSL stylesheets. The application program interface further includes a filter interface that specifies a restriction for the query, a count interface that specifies the number of objects to be returned at once by the application program interface, a transform interface that specifies an XSL style sheet, and a transform parameter interface for providing parameters to the XSL style sheet. The techniques may be used to aggregate metadata for various classes of objects from a data dictionary in a database system. In this application, each class of object has a name and a user-defined type and object view are associated with the class name. The fetch interface specifies a class name and the user-defined type and object view associated with the name are used to aggregate the metadata. One of the transforms performed in this application is the transformation of the metadata for an object into creation DDL for the object.
-
Citations
46 Claims
-
1. Apparatus for retrieving metadata for an object in a database system that has a data dictionary, the metadata for the object being stored in a plurality of objects belonging to the data dictionary and
the apparatus comprising: -
a definition in the data dictionary for an aggregation object that aggregates the metadata for the object from the plurality of objects belonging to the data dictionary; and
an application program interface that includes a fetch interface that causes execution of a query which returns the metadata for the object in an aggregation object made according to the definition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
each object in the database system has a class; and
the definition for the aggregation object is associated with a given one of the classes and aggregates the metadata for any object belonging to the class.
-
-
3. The apparatus set forth in claim 2 wherein:
the application program interface further includes an open interface which specifies the given class and causes the fetch interface to execute a query which fetches the metadata for an object of the specified class.
-
4. The apparatus set forth in claim 3 wherein:
the application program interface further includes a filter interface that specifies a set of objects of the given class and causes the fetch interface to execute a query that fetches metadata for the specified set of objects.
-
5. The apparatus set forth in claim 4 wherein:
the application program interface further includes a count interface that causes the fetch interface to returns metadata for a number of objects in the set as specified by the count interface.
-
6. The apparatus set forth in claim 4 wherein:
-
the data dictionary includes a filter specifier object;
the filter interface specifies a filter from the filter specifier object; and
the fetch interface employs the specified filter in fetching the set of objects.
-
-
7. The apparatus set forth in claim 1 wherein:
the fetch interface causes an intermediate form to be generated from the returned metadata.
-
8. The apparatus set forth in claim 7 wherein:
the application program interface further includes a transform interface which specifies a transform of the intermediate form and causes the fetch interface to transform the intermediate form as specified by the transform interface.
-
9. The apparatus set forth in claim 8 wherein:
-
the data dictionary further includes a transform object that specifies the transform;
the transform interface specifies a transform from the transform object; and
the fetch interface employs the specified transform in fetching the set of objects.
-
-
10. The apparatus set forth in claim 9 wherein:
the application program interface further includes a transform parameter interface which specifies a parameter for a specified transform and causes the fetch interface to transform the intermediate form as specified by the parameter for the specified transform.
-
11. The apparatus set forth in claim 10 wherein:
-
the data dictionary includes a transform parameter object;
the filter interface specifies a transform parameter from the transform parameter object; and
the fetch interface employs the specified transform parameter in transforming the intermediate form.
-
-
12. The apparatus set forth in claim 8 wherein:
-
the intermediate form is an XML document; and
the transform is an XSL-T stylesheet for the XML document.
-
-
13. The apparatus set forth in claim 1 wherein:
the fetch interface causes a definition for the object that permits creation thereof by a particular database system to be generated from the returned metadata.
-
14. The apparatus set forth in claim 13 wherein:
the generated definition is creation DDL for the object.
-
15. The apparatus set forth in claim 1 wherein the apparatus further comprises:
-
an object view associated with the aggregation object definition; and
the query is a query over the object view.
-
-
16. Data storage apparatus, the data storage apparatus being characterized in that:
the data storage apparatus contains code which, when executed by a processor, implements the apparatus set forth in claim 1.
-
17. Apparatus for retrieving metadata for a set of objects in a database system, each object in the database system belonging to a class of a plurality thereof including an object view class and a user-defined type class, the database system having a data dictionary wherein the metadata for objects of a given class is stored in a plurality of objects, and the objects in the set of objects all having the same class,
the apparatus comprising: -
a plurality of aggregation user-defined types, each aggregation user-defined type of the plurality being associated with a given class and defining an aggregation object into which is aggregated metadata for an object having the given class from the plurality of objects wherein the metadata is stored;
a plurality of aggregation object views, each aggregation object view of the plurality being associated with a given class; and
an application program interface that includes a fetch interface that causes execution of a query over an aggregation object view associated with a particular class, the query returning a set of aggregation objects of the aggregation user-defined type associated with the particular class and each aggregation object containing metadata for an object in a set of objects belonging to the particular class. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
the application program interface further includes an open interface which specifies the particular class.
-
-
19. The apparatus set forth in claim 17 wherein:
the application program interface further includes a filter interface that specifies the set of objects of the particular class.
-
20. The apparatus set forth in claim 17 wherein:
the application program interface further includes a count interface that specifies a number of objects in the set for which the metadata is to be returned per call to the fetch interface.
-
21. The apparatus set forth in claim 17 wherein:
the application program interface generates an XML document from the metadata in the set of aggregation objects.
-
22. The apparatus set forth in claim 21 wherein:
the application program interface further includes a transform interface which specifies an XSL-T stylesheet that transforms the XML document and the application program interface transforms the XML document as specified by the XSL-T stylesheet.
-
23. The apparatus set forth in claim 22 wherein:
the application program interface further includes a transform parameter interface which specifies a parameter for the specified XSL-T stylesheet.
-
24. The apparatus set forth in claim 17 wherein:
the application program interface further produces creation DDL for an object in the set of objects from the metadata for that object.
-
25. Data storage apparatus, the data storage apparatus being characterized in that the data storage apparatus contains code which, when executed by a processor, implements the apparatus set forth in claim 17.
-
26. Apparatus for aggregating data stored in a plurality of objects in a database system, the database system being of a type that permits definition of user-defined types, of objects in the database having the user-defined types, and of object views associated with the user-defined types, an object view mapping data stored in the database into an object of the associated user-defined type, and
the apparatus comprising: -
a user-defined type associated with a kind of data to be aggregated that defines an object for containing aggregated data of the kind;
an object view associated with the kind of data to be aggregated that specifies the locations of the data to be aggregated in the plurality of objects; and
an application program interface that includes a fetch interface that causes the database system to make a query over the object view associated with the kind that obtains the data to be aggregated from the plurality of objects and returns an object of the user-defined type associated with the kind that contains the aggregated data. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
there is a plurality of instances of the aggregated data to be aggregated in the plurality of objects; and
the application program interface further includes a filter interface associated with the kind of aggregated data that specifies a set of the instances of the data to be aggregated and that causes the fetch interface to fetch the instances belonging to the set.
-
-
28. The apparatus set forth in claim 27 wherein:
the application program interface further includes a count interface that causes the fetch interface to return per call to the fetch interface a number of instances of the objects of the user-defined type associated with the kind as specified by the count interface.
-
29. The apparatus set forth in claim 26 wherein:
the fetch interface causes an intermediate form to be generated from the returned aggregated data.
-
30. The apparatus set forth in claim 29 wherein:
the application program interface further includes a transform interface which specifies a transform of the intermediate form and causes the fetch interface to transform the intermediate form as specified by the transform interface.
-
31. The apparatus set forth in claim 30 wherein:
-
the intermediate form is an XML document; and
the transform is an XSL-T stylesheet for the XML document.
-
-
32. The apparatus set forth in claim 26 wherein:
-
there are a plurality of kinds of aggregated data;
a given kind of aggregated data is associated with a name;
the user-defined type and the object view for the given kind are associated with the name therefor; and
the fetch interface responds to the name by causing the data base system to make the query over the object view associated with the name and return an object of the user-defined type associated with the name.
-
-
33. Data storage apparatus, the data storage apparatus being characterized in that:
- the data storage apparatus contains code which when executed be a processor, implements the apparatus set forth in claim 26.
-
34. A method of retrieving metadata for a target object in a database system that has a data dictionary, the metadata for the target object being stored in a plurality of objects belonging to the data dictionary, the data dictionary including a definition for an aggregation object that aggregates the metadata for the target object from the plurality of objects belonging to the data dictionary, and
the method comprising the steps of: -
invoking a fetch operation via an application program interface wherein the invocation is associated with the target object; and
during the fetch operation, executing a query which returns the metadata for the target object in an aggregation object made according to the definition. - View Dependent Claims (35, 36, 37, 38, 39)
each object in the database system has a class;
the definition for the aggregation object is associated with a given one of the classes and aggregates the metadata for any object belonging to the class;
in the step of invoking the fetch operation, the invocation is associated with the target object via the target object'"'"'s class; and
in the step of executing the query, the query returns the metadata in an aggregation object associated with the target object'"'"'s class.
-
-
36. The method set forth in claim 35 further comprising the step of:
prior to the step of invoking the fetch operation, invoking an open operation via the application program interface, the open operation specifying the target object'"'"'s class.
-
37. The method set forth in claim 34 further comprising the step of:
prior to the step of invoking the fetch operation, invoking a filter operation via the application program interface, the filter operation specifying a filter for the query that returns the metadata.
-
38. The method set forth in claim 34 further comprising the steps of:
-
prior to the step of invoking the fetch operation, invoking a transform operation via the application program interface, the transform operation specifying a transform for the metadata in the aggregation object and following the step of executing the query, using the specified transform to transform the metadata in the aggregation object.
-
-
39. The method set forth in claim 38 wherein:
the specified transform transforms the metadata into creation DDL.
-
40. Data storage apparatus, the data storage apparatus being characterized in that the data storage apparatus contains code which, when executed by a processor, causes the processor to perform a method of retrieving metadata for a target object in a database system that has a data dictionary, the metadata for the target object being stored in a plurality of objects belonging to the data dictionary, the data dictionary including a definition for an aggregation object that aggregates the metadata for the target object from the plurality of objects belonging to the data dictionary, and
the method comprising the steps of: -
invoking a fetch operation via an application program interface wherein the invocation is associated with the target object; and
during the fetch operation, executing a query which returns the metadata for the target object in an aggregation object made according to the definition.
-
-
41. A method of aggregating data stored in a plurality of objects in a database system, the database system being of a type that permits definition of user-defined types, of objects in the database having the user-defined types, and of object views associated with the user-defined types, an object view mapping data stored in the database into an object of the associated user-defined type, and the user-defined types including a user-defined type associated with a kind of data to be aggregated that defines an object for containing aggregated data of the kind and the object views including an object view associated with the kind of data to be aggregated that specifies the locations of the data to be aggregated in the plurality of objects,
the method comprising the steps of: -
invoking a fetch operation via an application program interface wherein the invocation is associated with the user-defined type; and
during the fetch operation, executing a query over the object view associated with the user-defined type that obtains data to be aggregated from the plurality of objects and returns an object of the user-defined type that contains the aggregated data. - View Dependent Claims (42, 43, 44, 45)
prior to the step of invoking the fetch operation, invoking a filter operation of the application program interface, the filter operation specifying a filter for the query.
-
-
43. The method set forth in claim 42 further comprising the step of:
prior to the step of invoking the fetch operation, invoking a count operation of the application program interface, the count operation specifying how many instances of the object of the user-defined type that contains the aggregated data are to be returned per invocation of the fetch operation.
-
44. The method set forth in claim 41 further comprising the step of:
-
prior to the step of invoking the fetch operation, invoking a transform operation of the application program interface, the transform operation specifying a transform of the intermediate form; and
following the step of executing the query, using the specified to transform to transform the aggregated data.
-
-
45. The method set forth in claim 44 wherein:
the specified transform transforms the aggregated data into an XML document.
-
46. Data storage apparatus, the data storage apparatus being characterized in that the data storage apparatus contains code which, when executed by a processor, causes the processor to perform a method of aggregating data stored in a plurality of objects in a database system, the database system being of a type that permits definition of user-defined types, of objects in the database having the user-defined types, and of object views associated with the user-defined types, an object view mapping data stored in the database into an object of the associated user-defined type, and the user-defined types including a user-defined type associated with a kind of data to be aggregated that defines an object for containing aggregated data of the kind and the object views including an object view associated with the kind of data to be aggregated that specifies the locations of the data to be aggregated in the plurality of objects,
the method comprising the steps of: -
invoking a fetch operation via an application program interface wherein the invocation is associated with the user-defined type; and
during the fetch operation, executing a query over the object view associated with the user-defined type that obtains data to be aggregated from the plurality of objects and returns an object of the user-defined type that contains the aggregated data.
-
Specification