Hi James, in this case we may end up walking though the whole range 
slots like I did a while ago. Is that something we should do here given 
the performance implication?

On 04/16/2013 03:59 PM, James Taylor wrote:
>
> In src/main/java/com/salesforce/phoenix/compile/WhereOptimizer.java:
>
> >          context.setScanRanges(ScanRanges.create(cnf, table.getRowKeySchema()));
> >          return whereClause.accept(new RemoveExtractedNodesVisitor(extractNodes));
> >      }
> >
> > +    public static List<KeyRange> getSaltByteRanges(List<List<KeyRange>> ranges, RowKeySchema schema, int bucketNum) {
> > +        if (ScanRanges.isSingleRowScan(ranges, schema, false)) {
>
> Maybe without too much effort, this could be generalized for when all 
> keys across all slots are single keys? Then you wouldn't use this util 
> method (you wouldn't need it), and instead you'd return your list of 
> salt bytes.
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/forcedotcom/phoenix/pull/139/files#r3823140>.
>