Patent ID: 7472116

Claim:
A computer-implemented method of processing a database query against a database having a multiplicity of data records, comprising: receiving a selection of a model entity from a graphical user interface that provides a plurality of model entities for selection, each of the plurality of model entities being defined by a different plurality of logical fields defined in a data abstraction model abstractly describing data in the database; wherein the respective definition for each logical field specifies (i) a logical field name, (ii) a reference to an access method that is invoked to retrieve corresponding data in the database, and (iii) an attribute indicating whether the data to be returned from the database can be sorted; receiving, from a requesting entity, an abstract query composed from a plurality of logical fields defined in the data abstraction model, the abstract query identifying the selected model entity that defines a focus of the query and comprising at least a result field specification including one or more result fields for which data is to be returned from the database; receiving a limitation request configured to restrict a result set for the abstract query, the limitation request specifying a limitation regarding a maximum number of data records that are returned for one or more instances of the selected model entity in response to the query, wherein each data record returned for the one or more instances of the selected model entity has an associated row number, wherein only those data records having a row number less than or equal to the maximum number are returned, wherein the result set is partitioned with respect to the one or more instances of the selected model entity, wherein each partitioned result set includes the data records returned for the one or more instances of the selected model entity; generating, from the abstract query and with respect to the data abstraction model, an executable query capable of being executed by a query engine; modifying the executable query based on the limitation request; executing the modified executable query against the database to obtain the result set, whereby the result set is restricted as requested by the limitation request; and outputting the restricted result set to the requesting entity.