For each value v of the value attribute, a bit vector is stored. The nth bit of this bit vector is one if the tuple with key value n has the value v for the value attribute. Boolean expressions on attributes which have these bit vectors translate easily to boolean expressions on the bit vectors. For bit predicate indices a bit vector exists for every predicate in a list of predicates. Bit predicate bit vectors are the same length as bit attribute bit vectors.
Predicates are arbitrary sargable predicates .
Appendix P gives the complete list of physical operators. Table 6.2 shows the physical operators in Model D, where they are described, and which logical operators they implement. When the implements column lists two or more logical operators, this means that the physical operator implements a particular relational expression 1 involving the logical operators listed. For some logical operators several different algorithms could be optimal. There are also physical operators that implement a group of logical operators.