System, method, and program for object building in queries over object views
First Claim
1. A software system, including a tool comprising:
- means for receiving information for defining an object-oriented class definition and a corresponding view definition used for mapping data into instances of the object-oriented class definitions;
means for generating an object-oriented class definition and a view definition from the information received, and means for generating a handle to an object of the object-oriented class definition, wherein the handle to each object is used by an application to manipulate the object.
0 Assignments
0 Petitions
Accused Products
Abstract
The system, method, and program of this invention enables an object language application to issue a query over a view and to receive back, as query results, handles to application type objects which can be further manipulated by the application. A view is defined herein as a collection of a view type, and a view type is defined as a class or type. Object language class definitions are created based upon the view type of the view referenced by the query. Upon receipt of the query referencing a view type, a query engine generates a query plan that builds mock application type objects in memory based upon the view types and having a form consistent with the class definition for a type of object returned as a result.
112 Citations
57 Claims
-
1. A software system, including a tool comprising:
-
means for receiving information for defining an object-oriented class definition and a corresponding view definition used for mapping data into instances of the object-oriented class definitions;
means for generating an object-oriented class definition and a view definition from the information received, and means for generating a handle to an object of the object-oriented class definition, wherein the handle to each object is used by an application to manipulate the object. - View Dependent Claims (2, 4)
-
-
3. A method implemented in a query processing system, comprising the steps of:
-
receiving information for defining object-oriented class definitions and view definitions;
generating object-oriented class definitions and view definitions from the information received; and
generating a handle to an object of an object-oriented class definition, wherein the handle to each object is used by an application to manipulate the object.
-
-
5. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving information for defining object-oriented class definitions and view definitions;
generating object-oriented class definitions and view definitions from the information received, and generating a handle to an object of an object-oriented class definition, wherein the handle to each object is used by an application to manipulate the object. - View Dependent Claims (6)
-
-
7. A software tool comprising:
-
means for receiving information for defining object-oriented class definitions and view definitions;
means for generating view definitions and object language class definitions from the received information, wherein the view definitions are used to create application objects and wherein the object-oriented class definitions enable an application to utilize the application objects.
-
-
8. A method implemented in a query processing system, comprising the steps of:
-
receiving information for defining object-oriented class definitions and view definitions;
generating view definitions and object language class definitions from the received information, wherein the view definitions are used to create application objects and wherein the object-oriented class definitions enable an application to utilize the application objects.
-
-
9. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving information for defining object-oriented class definitions and view definitions;
generating view definitions and object language class definitions from the received information, wherein the view definitions are used to create application objects and wherein the object-oriented class definitions enable an application to utilize the application objects.
-
-
10. A software tool comprising:
-
means for receiving specified graphical metaphors of views of data; and
means for generating view type definitions and object language class definitions from the specified graphical metaphors, wherein the view type definitions are used to create application objects and wherein the object-oriented class definitions are used by an application to utilize the application objects.
-
-
11. A method implemented in a query processing system, comprising the steps of:
-
receiving specified graphical metaphors of views of data; and
generating view type definitions and object language class definitions from the specified graphical metaphors, wherein the view type definitions are used to create application objects and wherein the object-oriented class definitions enable an application to utilize the application objects.
-
-
12. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving specified graphical metaphors of views of data; and
generating view type definitions and object language class definitions from the specified graphical metaphors, wherein the view type definitions are used to create application objects and wherein the object-oriented class definitions enable an application to utilize the application objects.
-
-
13. A software system comprising:
-
means for receiving from an application having an object-oriented language, a query referencing a view having a view type;
means for generating application objects in memory, at run-time, from the view type; and
means for returning handles on the application objects to the application to enable the application to manipulate the application objects. - View Dependent Claims (14, 15, 16)
-
-
17. A method implemented in a query processing system, the method comprising:
-
receiving from an application having an object-oriented language, a query referencing a view having a view type;
generating application objects in memory, at run-time, from the view type; and
returning handles on the application objects to the application to enable the application to manipulate the application objects. - View Dependent Claims (18, 19, 20)
-
-
21. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving from an application having an object-oriented language, a query referencing a view having a view type;
generating application objects in memory, at run-time, from the view type; and
returning handles on the application objects to the application to enable the application to manipulate the application objects. - View Dependent Claims (22, 23, 24)
-
-
25. A software system comprising:
-
means for receiving a query from an application, the query referencing a view having a view definition;
means for generating a query plan having a call to build, in memory, at least one application type object based upon the view definition; and
means for returning, as a query result, a handle to the application type object to enable the application to manipulate the application type object.
-
-
26. A method implemented in a query processing system, comprising the steps of:
-
receiving a query from an application, the query referencing a view having a view definition;
generating a query plan having a call to build, in memory, at least one application type object based upon the view definition; and
returning, as a query result, a handle to the application type object to enable the application to manipulate the application type object.
-
-
27. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving a query from an application, the query referencing a view having a view definition;
generating a query plan having a call to build, in memory, at least one application type object based upon the view definition; and
returning, as a query result, a handle to the application type object to enable the application to manipulate the application type object.
-
-
28. A software system, comprising:
-
means for receiving, from an application, a query referencing a second view type derived from a first view type;
means for building in memory a first object type, based upon a first view type definition of the first view type, and a second object type, based upon a second view type definition of the second view type, wherein the first object type has a pointer to the second object type;
means for using the first and second object types in memory to resolve the query; and
means for providing handles to the first and second object types to enable the application to manipulate the first and second object types.
-
-
29. A method implemented in a query processing system, comprising the steps of:
-
receiving, from an application, a query referencing a second view type derived from a first view type;
building in memory a first object type, based upon a first view type definition of the first view type, and a second object type, based upon a second view type definition of the second view type, wherein the first object type has a pointer to the second object type;
using the first and second object types in memory to resolve the query; and
providing handles to the first and second object types to enable the application to manipulate the first and second object types.
-
-
30. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving, from an application, a query referencing a second view type derived from a first view type;
building in memory a first object type, based upon a first view type definition of the first view type, and a second object type, based upon a second view type definition of the second view type, wherein the first object type has a pointer to the second object type;
using the first and second object types in memory to resolve the query; and
providing handles to the first and second object types to enable the application to manipulate the first and second object types.
-
-
31. A software system comprising:
-
means for receiving from an application written in a specific object language, a query referencing a view;
means for determining that the view is based upon a view type;
means for building without knowledge of the specific object language, application type objects in memory based upon the view type, wherein the view type has a form consistent with class definitions of the specific object language to enable the application to utilize the application type objects;
means for returning, as a result of the query, to the application, handles on the view type objects; and
means for building, in memory, a collection of view objects corresponding to the view type objects. - View Dependent Claims (32)
-
-
33. A method implemented in a query processing system, the method comprising:
-
receiving, by a query engine, from an application written in a specific object language, a query referencing a view;
determining, by the query engine, that the view is based upon a view type;
building, by the query engine without knowledge of the specific object language, application type objects in memory based upon the view type, wherein the view type has a form consistent with class definitions of the specific object language to enable the application to utilize the application type objects;
returning, as a result of the query, to the application, handles on the view type objects; and
building, in memory, a collection of view objects corresponding to the view type objects. - View Dependent Claims (34)
-
-
35. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving, by a query engine, from an application written in a specific object language, a query referencing a view;
determining, by the query engine, that the view is based upon a view type;
building, by the query engine without knowledge of the specific object language, application type objects in memory based upon the view type, wherein the view type has a form consistent with class definitions of the specific object language to enable the application to utilize the application type objects;
returning, as a result of the query, to the application, handles on the view type objects; and
building, in memory, a collection of view objects corresponding to the view type objects. - View Dependent Claims (36)
-
-
37. A system comprising:
-
a query engine having a capability to render application objects from views and view types; and
means for returning handles on the application objects to the application to enable the application to manipulate objects retrieved from the views, wherein one or more views can be used to retrieve the handles to the objects.
-
-
38. A method implemented in a query processing system, comprising the steps of:
-
rendering application objects from views and view types; and
returning handles on the application objects to the application to enable the application to manipulate objects retrieved from the views, wherein one or more views can be used to retrieve the handles to the objects.
-
-
39. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
rendering application objects from views and view types; and
returning handles on the application objects to the application to enable the application to manipulate objects retrieved from the views, wherein one or more views can be used to retrieve the handles to the objects.
-
-
40. A query system comprising:
-
means for receiving a query;
means for building objects and handles to the objects, in response to receipt of the query, based upon a view definition of a view referenced by the query to enable an application to manipulate objects retrieved from views and to run methods on those retrieved objects that may return data other than the data directly referenced by the view.
-
-
41. A method implemented in a query processing system, comprising the steps of:
-
receiving a query;
building objects and handles to the objects, in response to receipt of the query, based upon a view definition of a view referenced by the query to enable an application to manipulate objects retrieved from views and to run methods on those retrieved objects that may return data other than the data directly referenced by the view.
-
-
42. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving a query;
building objects and handles to the objects, in response to receipt of the query, based upon a view definition of a view referenced by the query to enable an application to manipulate objects retrieved from views and to run methods on those retrieved objects that may return data other than the data directly referenced by the view.
-
-
43. A query system comprising:
-
means for receiving, from an application, a query referencing a view; and
means for returning as results for the query, to the application, handles on objects that have been built based upon the view, as application types, to enable the application to manipulate application type objects.
-
-
44. A method implemented in a query processing system, comprising the steps of:
-
receiving, from an application, a query referencing a view; and
returning as results for the query, to the application, handles on objects that have been built based upon the view, as application types, to enable the application to manipulate application type objects.
-
-
45. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving, from an application, a query referencing a view; and
returning as results for the query, to the application, handles on objects that have been built based upon the view, as application types, to enable the application to manipulate application type objects.
-
-
46. A query system comprising:
-
means for receiving, from an application, a query referencing a view having a view type; and
means for rendering the view type as an application type, from the view type, wherein the application type is an object with a handle that is capable of being further queried as object data from the application.
-
-
47. A method implemented in a query processing system, comprising the steps of:
-
means for receiving, from an application, a query referencing a view having a view type; and
means for rendering the view type as an application type, from the view type, wherein the application type is an object with a handle that is capable of being further queried as object data from the application.
-
-
48. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
means for receiving, from an application, a query referencing a view having a view type; and
means for rendering the view type as an application type, from the view type, wherein the application type is an object with a handle that is capable of being further queried as object data from the application.
-
-
49. A query engine comprising:
-
means for receiving, from an application, a query referencing a view having a second view type derived from a first view type;
means for building in memory a first application type object, based upon a first view type definition of the first view type, and a second application type object, based upon a second view type definition of the second view type, wherein the first application type object has a pointer to the second application type object; and
means for using the first and second application type objects in memory to resolve the query and for enabling the application to manipulate the first and second application type objects.
-
-
50. A method implemented in a query processing system, comprising:
-
receiving, from an application, a query referencing a view having a second view type derived from a first view type;
building in memory a first application type object, based upon a first view type definition of the first view type, and a second application type object, based upon a second view type definition of the second view type, wherein the first application type object has a pointer to the second application type object; and
using the first and second application type objects in memory to resolve the query and for enabling the application to manipulate the first and second application type objects.
-
-
51. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
receiving, from an application, a query referencing a view having a second view type derived from a first view type;
building in memory a first application type object, based upon a first view type definition of the first view type, and a second application type object, based upon a second view type definition of the second view type, wherein the first application type object has a pointer to the second application type object; and
using the first and second application type objects in memory to resolve the query and for enabling the application to manipulate the first and second application type objects.
-
-
52. A query system comprising:
-
a client having a capability to issue a query referencing a view;
an object query service having a capability to build application objects in memory, based upon a view definition of the view, in response to the received query referencing the view, and having a capability to return handles to the built application objects to the client to enable the client to manipulate the objects retrieved from the view; and
a data source having a capability to return data as results, to the object query service, for predicates from the query that have been pushed down from the object query service to the data source.
-
-
53. A method implemented in a query processing system, comprising the steps of:
-
issuing, from a client, a query referencing a view;
building application objects in memory with an object query service, based upon a view definition of the view, in response to the received query referencing the view;
returning handles to the built application objects to the client to enable the client to manipulate the objects retrieved from the view; and
returning data as results to the object query service for predicates from the query that have been pushed down from the object query service to the data source.
-
-
54. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
issuing, from a client, a query referencing a view;
building application objects in memory with an object query service, based upon a view definition of the view, in response to the received query referencing the view;
returning handles to the built application objects to the client to enable the client to manipulate the objects retrieved from the view; and
returning data as results to the object query service for predicates from the query that have been pushed down from the object query service to the data source.
-
-
55. A three tier query system comprising:
-
a client, as a first tier, having a capability to issue a query referencing a view;
an object query service, as a second tier, having a capability to build objects in memory, based upon a view definition of the view, in response to the received query referencing the view, and having a capability to return handles to the built objects to the client to enable the client to manipulate application objects retrieved from the view as objects; and
a relational database management system, as a third tier, having a capability to return rows as results, to the object query service, for predicates from the query that have been pushed down from the object query service to the relational database management system.
-
-
56. A method implemented by a query processing system, comprising the steps of:
-
issuing a query from a client, the query referencing a view;
building objects in memory, based upon a view definition of the view, in response to the received query referencing the view, and returning handles to the built objects to the client to enable the client to manipulate application objects retrieved from the view as objects; and
returning rows as results for predicates from the query that have been pushed down to a relational database management system.
-
-
57. A program product embodied on a computer usable medium including program instructions executable by a computer, the program instructions comprising the steps of:
-
issuing a query from a client, the query referencing a view;
building objects in memory, based upon a view definition of the view, in response to the received query referencing the view, and returning handles to the built objects to the client to enable the client to manipulate application objects retrieved from the view as objects; and
returning rows as results for predicates from the query that have been pushed down to a relational database management system.
-
Specification