4. The method of claim 1 wherein the predicate is a first predicate of a set of predicates associated with the query, the method further comprising: for each predicate of the set of predicates: programming a particular circuit into the reconfigurable hardware of the filtering unit based on said each predicate, of the set of predicates, that specifies particular criteria for filtering results of the query; generating a predicate result by loading values from at least one portion of a column into the filtering unit and causing the filtering unit to apply said each predicate to the values; wherein selecting rows to return as results comprises: combining each predicate result to generate a final result that identifies rows that satisfy all criteria specified by the set of predicates; selecting the rows that are identified by the final result as satisfying the criteria specified by the set of predicates.
1. A method comprising: based on a predicate that specifies criteria for filtering results of a query that targets a table, programming reconfigurable hardware of a filtering unit with the predicate; wherein the predicate specifies a condition for a particular column of the table; wherein programming the reconfigurable hardware with the predicate creates a filter unit hardware circuit that is configured to apply the predicate; causing the filter unit hardware circuit to generate a first predicate result by loading values, from the particular column, into the filter unit hardware circuit; wherein hardware configuration of the filter unit hardware circuit causes the predicate to be applied to the values; wherein the first predicate result identifies rows of the table that have values, within the particular column, that satisfy the condition specified by the predicate; selecting rows to return, as results of the query, based at least in part on the first predicate result; returning the selected rows as results to the query; based on a second predicate that specifies criteria for filtering results that targets the table, programming the reconfigurable hardware of the filtering unit with the second predicate; wherein the second predicate specifies a condition for a second column of the table; wherein programming the reconfigurable hardware with the predicate creates a second filter unit hardware circuit that is configured to apply the second predicate; causing the second filter unit hardware circuit to generate a second predicate result by loading values, from the second column, into the second filter unit hardware circuit; wherein hardware configuration of the second filter unit hardware circuit causes the second predicate to be applied to the values; wherein the second predicate result identifies rows of the table that have values, within the second column, that satisfy the condition specified by the second predicate; wherein the method is performed by one or more computing devices.