Patent ID: 7519583

Claim:
A computer implemented method for detecting monotonicity, the computer implemented method comprising: receiving an operation from a user wherein the operation is any of an insert operation, delete operation, update operation, and load operation: responsive to receiving the operation, determining whether function that is assumed to be monotonic will remain monotonic after performing the operation, wherein the function is part of a generated column that is generated from a base column; responsive to determining that the function will remain monotonic after performing the operation, allowing the operation to be performed; responsive to allowing the operation, updating a minimum values and a maximum values of the function and updating an index, wherein the index is the index on x values of the function with a function value as an additional field; responsive to determining the function will become non-monotonic after the operation, allowing the operation, marking the function as non-monotonic, and invalidating a cached query plan; receiving a query on the function from the user; responsive to receiving the query, determining whether the function is monotonic and whether the function includes a range condition or an inequality condition; responsive to determining that the function is monotonic and a determination that the function includes a range condition or an inequality condition, translating the query from a base column to a generated column using an index; responsive to translating the query, using the index for answering the query; responsive to determining that the function is non-monotonic and determining that the function includes the range condition or the inequality condition, maintaining an original query predicate of the query; and retrieving data specified in the query.