Patent ID: 9122738
Filing Date: 2015-09-01
Classification: G06F

Abstract:
1. A computer program product comprising a non-transient computer-readable storage medium tangibly storing instructions that, when executed by a data processing apparatus that comprises a programmable processor, cause the data processing apparatus to perform operations comprising: determining, in response to a request for a change to a record in a database, that a copy of the record exists in one or more of a main index, a first delta index, and a second delta index of the database; invalidating the copy of the record; generating a delta dictionary record reflecting the requested change the generating occurring in the first delta index when the first delta index is not being merged with the main index and in the second delta index when the first delta index is being merged with the main index; determining, in response to a request for a search, in one or more of the main index, the first delta index, and the second delta index of a database, if the record from the main index, the first delta index, or the second delta index, is valid; generating, based on the first record being valid, an association of a first value identifier of the first record and a value identifier for a value in the main index; translating the first value identifier into a first corresponding value identifier of the main index; generating, based on the second record being valid, an association of a second value identifier of the second record and the value identifier for the value in the main index; translating the second value identifier into a second corresponding value identifier of the main index; adding, to a result set and based on the determining in response to the request for the search, the record from the main index, the first delta index, or the second delta index; determining additional rows in the main index, the first delta index, or the second delta index that need to be searched; incrementing a row identifier based on the determination that the additional rows need to be searched; and returning the result set in response to the request for the search.