A machine-implemented method for processing a database query, comprising: determining, by a general purpose microprocessor executing a query execution engine, that execution of the database query involves a scan operation of database object data; in response to determining that execution of the database query involves a scan operation, generating, by a general purpose microprocessor executing a query execution engine, a scan operation command that includes, as parameters of the scan operation command, memory address data that is used to identify input data to be read by a coprocessor and one or more values that are used to compare against the input data; causing, by a general purpose microprocessor executing a query execution engine, the scan operation command to be stored in memory; wherein the general purpose microprocessor is separate from the coprocessor, wherein the coprocessor is a hardware element; processing, by the coprocessor, the scan operation command by: reading the scan operation command from the memory; causing the input data to be read from a location that is indicated by the memory address data; performing a comparison between the input data with the one or more values; generating a result data based on the comparison, wherein generating the result data based on the comparison comprises generating a bit vector, wherein each bit in the bit vector indicates whether the comparison yielded a true or false; causing the result data to be stored; using, by the general purpose microprocessor executing the query execution engine, the result data to compute a result for the database query. determining, by a general purpose microprocessor executing a query execution engine, that execution of the database query involves a scan operation of database object data; in response to determining that execution of the database query involves a scan operation, generating, by a general purpose microprocessor executing a query execution engine, a scan operation command that includes, as parameters of the scan operation command, memory address data that is used to identify input data to be read by a coprocessor and one or more values that are used to compare against the input data; causing, by a general purpose microprocessor executing a query execution engine, the scan operation command to be stored in memory; wherein the general purpose microprocessor is separate from the coprocessor, wherein the coprocessor is a hardware element; processing, by the coprocessor, the scan operation command by: reading the scan operation command from the memory; causing the input data to be read from a location that is indicated by the memory address data; performing a comparison between the input data with the one or more values; generating a result data based on the comparison, wherein generating the result data based on the comparison comprises generating a bit vector, wherein each bit in the bit vector indicates whether the comparison yielded a true or false; causing the result data to be stored; reading the scan operation command from the memory; causing the input data to be read from a location that is indicated by the memory address data; performing a comparison between the input data with the one or more values; generating a result data based on the comparison, wherein generating the result data based on the comparison comprises generating a bit vector, wherein each bit in the bit vector indicates whether the comparison yielded a true or false; causing the result data to be stored; using, by the general purpose microprocessor executing the query execution engine, the result data to compute a result for the database query. <EOS>