Patent ID: 9720942
Date: 2017-08-01
CPC Classifications: G06F

Claim:
1. A non-transitory computer program product storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: accessing an ordered history table of a relational database, the ordered history table comprising a plurality of commit identifiers corresponding to one or more of respective updates, insertions, and deletions to values in a database table, the ordered history table being further sorted by a sequential listing of the commit identifiers identifying first occurrences of respective changes to one or more of the values; calculating an aggregation function by traversing the sequential listing of the commit identifiers in a single pass using an optimized algorithm, the aggregation function comprising an aggregated metric of the values that correspond to a current version of the database table, the calculating comprising calculating the aggregated metric based on tracking invalidated values to their corresponding commit identifiers in the ordered history table using one or more of an invalidation index, a separate bitlist for each of the commit identifiers, or a previous version array generated by the optimized algorithm; and promoting the calculated aggregated metric.