Patent ID: 8176035
Filing Date: 2012-05-08
Classification: G06F,Y10S

Abstract:
1. A computer system comprising: a memory having computer usable code stored thereon for a database system; a processor, wherein the processor executes the computer usable code to run the database system, wherein the database system comprises: a query compiler for managing queries; a data management component for managing data; an index manager operably connected to a query data management component for managing a set of indexes a storage subsystem operably connected to the data management component for storing information in a database; wherein a function that is generated from a base column in the database is assumed to be monotonic, wherein the index manager determines whether the function will remain monotonic after an operation with conditions on the base column within the database in response to the query compiler receiving the operation from a user, and wherein the index manager identifies whether a generated column generated from the base column is marked as detective monotonic or declarative monotonic, and wherein the query compiler allows the data management component to perform the operation in response to a determination that the function will remain monotonic after the operation, and wherein the query compiler allows the data management component to perform the operation in response to a determination that the function will become non-monotonic after the operation, the query compiler marks the function as non-monotonic in response to the determination that the function will become non-monotonic after the operation and that the generated column is marked detective monotonic, and the query compiler invalidates a cached query plan in response to the determination that the function will become non-monotonic after the operation, wherein the cached query plan utilizes the function to answer at least one of range queries with conditions on the base column and inequality queries with conditions on the base column, and wherein the query compiler does not allow the data management component to perform the operation on the base column in response to determining that the function will become non-monotonic after the operation and that the generated column is marked declarative monotonic.