Patent ID: 7461052
Filing Date: 2008-12-02
Classification: G06F,Y10S

Abstract:
1. A method of processing an abstract query, comprising: receiving, from a requesting entity, an abstract query composed from a plurality of logical fields, wherein each logical field specifies (i) a name used to identify the logical field, (ii) an access method that maps the logical field to a data source in a database; identifying (i) a set of data sources referenced by the plurality of logical fields in the abstract query and (ii) a set of relationships between the set of data sources; determining an acyclic graph representation of the set of data sources; generating an abstract query plan, wherein the abstract query plan comprises: (a) a plurality of table instances, wherein each table instance includes: (b) a set of join relationships that indicates how the plurality of table instances are related to one another; performing at least one optimization of the abstract query plan to generate an optimized abstract query plan; and traversing the optimized abstract query plan to generate a resolved query of the set of data sources.