1. A computer program product for predicate application using partial compression dictionary match, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions being executable by a processor to cause the processor to perform a method comprising: developing a search strategy for each predicate to be applied to compressed data, the search strategy comprising: searching entries of a compression dictionary for an entire predicate value to identify each matching symbol and noting an exact match, and a subsumed match of a compression symbol in a search list; searching the entries of the compression dictionary to identify entries in which a predicate prefix forms a dictionary entry suffix and noting each matching compression symbol in the search list; searching the entries of the compression dictionary to identify entries in which a predicate suffix forms a dictionary entry prefix and noting each matching compression symbol in the search list; searching the entries of the compression dictionary to identify entries which form a mid-predicate match and noting each matching compression symbol in the search list; and adding one or more uncompressed symbols for predicates having no match in the compression dictionary, and for predicates having only one or more subsumed dictionary matches; searching the compressed data to locate the compression symbols identified in the search list; and in response to locating a compression symbol from the search list in the compressed data, decompressing a respective row and applying the predicate, and returning a respective row that matches the predicate to one of: a database engine and an application.
1. A computer program product for predicate application using partial compression dictionary match, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions being executable by a processor to cause the processor to perform a method comprising: developing a search strategy for each predicate to be applied to compressed data, the search strategy comprising: searching entries of a compression dictionary for an entire predicate value to identify each matching symbol and noting an exact match, and a subsumed match of a compression symbol in a search list; searching the entries of the compression dictionary to identify entries in which a predicate prefix forms a dictionary entry suffix and noting each matching compression symbol in the search list; searching the entries of the compression dictionary to identify entries in which a predicate suffix forms a dictionary entry prefix and noting each matching compression symbol in the search list; searching the entries of the compression dictionary to identify entries which form a mid-predicate match and noting each matching compression symbol in the search list; and adding one or more uncompressed symbols for predicates having no match in the compression dictionary, and for predicates having only one or more subsumed dictionary matches; searching the compressed data to locate the compression symbols identified in the search list; and in response to locating a compression symbol from the search list in the compressed data, decompressing a respective row and applying the predicate, and returning a respective row that matches the predicate to one of: a database engine and an application. 3. The computer program product of claim 1 , wherein the method further comprises identifying a full match of each predicate by: forming an initial search list including the compression symbols identified in the search strategy; forming a finished match list, the finished match list including: a predicate suffix for each predicate prefix that matches a dictionary entry suffix, wherein the predicate suffix includes one or more of: uncompressed symbols and compressed mid-predicate match symbols, a predicate prefix for each predicate suffix that matches a dictionary entry prefix, wherein the predicate prefix includes one or more of: uncompressed symbols and compressed mid-predicate match symbols, a mid-predicate match for each predicate prefix and predicate suffix that matches one of: a dictionary entry prefix and a dictionary entry suffix and do not overlap in their matching of the predicate, wherein the mid-predicate match includes one or more of: uncompressed symbols and compressed mid-predicate match symbols, and a predicate prefix and a predicate suffix for each dictionary entry that forms a mid-predicate match, wherein the predicate prefix and predicate suffix includes one or more of: uncompressed symbols and compressed mid-predicate match symbols; searching the compressed data for lead compression symbols identified in the initial search list; in response to locating a lead compression symbol from the initial search list in the compressed data, completing a predicate match by applying the associated symbols to the compression symbols identified in the finished match list; and decompressing a respective row and fully applying the predicate using the initial search list, the finished match list and the lead compression symbols identified in the initial search list.