Patent Document ID: 9753983
Application ID: 14032122
Patent Flag: 1

Claim One:
1. A computer program product for decompressing data in a database system, the computer program product comprising a computer readable non-transitory storage medium having program code embodied therewith, the program code being executable by a processor to: receive, by the processor, a query pertaining to a subset of data within a compressed set of data, wherein the subset of data includes one of: a subset of columns in a row of a database table, a subset of columns or bytes within a row of the database table, and a subset of rows within a page of the database table; in response to receiving the query, evaluate, by the processor, two or more potential decompression strategies using a cost model, the cost model including an estimated filter factor; select, by the processor, a low cost decompression strategy based on the results of the evaluation of the two or more decompression strategies; locate, by the processor, one or more bytes representing the requested subset of data within the compressed set of data, wherein the locating includes: determining, by the processor, a unit representing a certain number of bytes of compressed data; and determining, by the processor, what units need to be decompressed to get to the one or more bytes representing the requested subset of data within the compressed set of data; decompress, by the processor, only a portion of the compressed data that corresponds to the subset of data, using the selected decompression strategy, while leaving the remaining compressed set of data in an unchanged state; and store, by the processor, a map for each row, the map describing offsets to the start of every unit, wherein the map is stored as an array in a memory buffer of the database system.