fcvd.maxValueLength = cq.getMaxValueLength();
fcvd.valueType = cq.getType();
fcvds.add(fcvd);
}
// RangeExpression to come after the EqualsExpressions
RangeExpression re = sie.getRangeExpression();
if (re != null) {
ColumnQualifier cq = colVsCQ.get(re.getColumn());
if (cq == null) {
throw new RuntimeException("The column:[" + re.getColumn() + "] is not a part of index: "
+ sie.getIndexName());
}
CompareOp lowerBoundCompareOp =
re.isLowerBoundInclusive() ? CompareOp.GREATER_OR_EQUAL : CompareOp.GREATER;
CompareOp upperBoundCompareOp =
re.isUpperBoundInclusive() ? CompareOp.LESS_OR_EQUAL : CompareOp.LESS;
if (re.getLowerBoundValue() == null) {
lowerBoundCompareOp = null;
}
if (re.getUpperBoundValue() == null) {
upperBoundCompareOp = null;
}
FilterColumnValueRange fcvr =
new FilterColumnValueRange(re.getColumn(), re.getLowerBoundValue(),
lowerBoundCompareOp, re.getUpperBoundValue(), upperBoundCompareOp);
fcvr.maxValueLength = cq.getMaxValueLength();
fcvr.valueType = cq.getType();
fcvds.add(fcvr);
}
nlfn.addIndicesToUse(fcvds, index);