Patent ID: 8402028

Claim:
A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method for conditionally performing a query including an aggregate function, the method comprising: receiving a query including a selection function for selecting a plurality of records and an aggregate function to be performed on the records once selected by the selection function; determining a number of the records associated with the performance of the aggregate function by counting the records to be selected by the selection function; and conditionally performing the query based on the number of the records, by: identifying an amount of a predefined usage allotment that is available for use, the predefined usage allotment including a total number of records allowed to be processed over a predetermined period of time, blocking performance of the query in response to a determination that the number of the records exceeds the available usage, and performing the query in response to a determination that the number of the records does not exceed the available usage, including: grouping at least a subset of the records during the performance of the query, using the aggregate function, and returning the grouped at least the subset of the records using an object type specific to aggregated records, wherein the object type only includes an identifier field and a get any field, wherein the identifier field is utilized to identify each record in the at least a subset of the records grouped during the performance of the query, and wherein the get any field is a function for accessing the at least a subset of the records grouped during the performance of the query.