/** * Convert this column range predicate into a {@link KuduPredicate}. * @return the column predicate. */ public KuduPredicate toKuduPredicate() { KuduPredicate lower = toKuduPredicate(column, KuduPredicate.ComparisonOp.GREATER_EQUAL, lowerBound); KuduPredicate upper = toKuduPredicate(column, KuduPredicate.ComparisonOp.LESS_EQUAL, upperBound); if (upper != null && lower != null) { return upper.merge(lower); } else if (upper != null) { return upper; } else { return lower; } }
/** * Adds a predicate to the scan. * @param predicate predicate to add * @return this instance */ public S addPredicate(KuduPredicate predicate) { String columnName = predicate.getColumn().getName(); KuduPredicate existing = predicates.get(columnName); if (existing != null) { predicate = existing.merge(predicate); } // KUDU-1652: Do not send an IS NOT NULL predicate to the server for a non-nullable column. if (!predicate.getColumn().isNullable() && predicate.getType() == KuduPredicate.PredicateType.IS_NOT_NULL) { return (S) this; } predicates.put(columnName, predicate); return (S) this; }