The entity predicate applies a set of constraints to an entity, without
making assumptions about what other predicates have already been applied.
You're right that while reading we can simplify a set of predicates and
remove the ones that are satisfied by the partitioning scheme. To do
that, we have another method: minimizeFor(StorageKey). That way, you can
filter storage keys and for each one get a new set of residual
constraints. Then using that new set, you can get a predicate for the
entities in that partition.
Does that make sense?
rb
--
Ryan Blue
Software Engineer
Cloudera, Inc.