VIRTUALIZING OBJECTS WITHIN QUERIES
First Claim
1. At a computer system, a method for creating an object so that portions of the object are accessible without construction of the entire object, the method comprising:
- an act of receiving a data construction statement, the data construction statement including;
an indication of the type of object that the data construction statement represents the construction of,one or more property identifiers, each property identifier identifying a property of the object; and
one or more corresponding mappings, each corresponding mapping mapping a property identifier to a query expression, the query expression indicating how to compute the value for the property of the object identified by the property identifier; and
an act of creating a data provider in response to receiving the data construction statement, the data provider virtualizing data access so that properties of the object described by the data construction statement can be accessed without having to evaluate the entire data construction statement or fully construct the entire object, the data provider including;
a reference to the data construction statement, the reference transitively including references to the type, property identifiers, and corresponding mappings of the data construction statement.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for virtualizing objects within queries. Embodiments of the invention virtualize data access for use with queries. Virtualization can be implemented within any portion of a syntax tree. For example, data can be virtualized for a property of an object that is itself another object. Data virtualization facilitates lazy evaluation of query expressions. That is, actual property values for properties within a data construction statement are virtualized until a query specifically requests the actual property values. Further, data virtualization also conserves resources and results in more efficient query evaluations.
48 Citations
20 Claims
-
1. At a computer system, a method for creating an object so that portions of the object are accessible without construction of the entire object, the method comprising:
-
an act of receiving a data construction statement, the data construction statement including; an indication of the type of object that the data construction statement represents the construction of, one or more property identifiers, each property identifier identifying a property of the object; and one or more corresponding mappings, each corresponding mapping mapping a property identifier to a query expression, the query expression indicating how to compute the value for the property of the object identified by the property identifier; and an act of creating a data provider in response to receiving the data construction statement, the data provider virtualizing data access so that properties of the object described by the data construction statement can be accessed without having to evaluate the entire data construction statement or fully construct the entire object, the data provider including; a reference to the data construction statement, the reference transitively including references to the type, property identifiers, and corresponding mappings of the data construction statement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. At a computer system including a query evaluator, a method for responding to a query, the method comprising:
-
an act of receiving a property value access query, the property value access query querying for a property value of a property identified in a previously received data construction statement; an act of identifying a data provider created from the previously received data construction statement based on data contained in the property value access query, the data provider virtualizing data access so that properties of an object described by the data construction statement can be accessed without having to evaluate the entire data construction statement or fully construct the entire object; an act of placing the identified data provider in a known location associated with the query evaluator; an act of creating a data consumer for the property value access query; an act of the data consumer accessing the identified data provider from the known location; an act of the data consumer requesting the property value of the identified property from the data provider; an act of the data consumer receiving the property value of the identified property from the data provider; an act of the data consumer placing the received property value in the known location for further processing. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. At a computer system including a query evaluator, a method for virtualizing data to facilitate more efficient queries, the method comprising:
-
an act of receiving a data construction statement, the data construction statement including; an indication of the type of object that the data construction statement represents the construction of, one or more property identifiers, each property identifier identifying a property of the object; and one or more corresponding mappings, each corresponding mapping mapping a property identifier to a query expression, the query expression indicating how to compute the value for the property of the object identified by the property identifier; and an act of creating an initial data provider in response to receiving the data construction statement, the data provider virtualizing data access so that properties of the object described by the data construction statement can be accessed without having to evaluate the entire data construction statement or fully construct the entire object, the data provider including; a reference to the data construction statement, the reference transitively including references to the type, property identifiers, and corresponding mappings of the data construction statement. an act of receiving a property value access query, the property value access query including a property identifier from the data construction statement; an act of identifying the initial data provider for responding to the property value access query based on the property identifier; an act of placing the initial data provider in a known location associated with the query evaluator; an act of creating a data consumer for the property value access query; an act of the data consumer accessing the initial data provider from the known location; an act of the data consumer requesting the property value of the identified property from the initial data provider; an act of the initial data provider looking up a query expression corresponding to the identified property from the previously received data construction statement; an act of evaluating the query expression to obtain a property value for the property; an act of the initial data provider returning the obtained property value to the data consumer; an act of the data consumer receiving the obtained property value; and an act of the data consumer placing the received property value in the known location for further processing. - View Dependent Claims (19, 20)
-
Specification