public Object getSingleValue() { if (!isSingleValue()) { throw new IllegalStateException("Range does not have just a single value"); } return low.getValue(); }
private FormattedMarker formatMarker(Marker marker) { if (!marker.getValueBlock().isPresent()) { return new FormattedMarker(Optional.empty(), marker.getBound()); } return new FormattedMarker(Optional.of(getVarcharValue(marker.getType(), marker.getValue())), marker.getBound()); }
private FormattedMarker formatMarker(Marker marker) { if (!marker.getValueBlock().isPresent()) { return new FormattedMarker(Optional.empty(), marker.getBound()); } return new FormattedMarker(Optional.of(getVarcharValue(marker.getType(), marker.getValue())), marker.getBound()); }
private static OptionalInt extractUpperBound(TupleDomain<Symbol> tupleDomain, Symbol symbol) { if (tupleDomain.isNone()) { return OptionalInt.empty(); } Domain rowNumberDomain = tupleDomain.getDomains().get().get(symbol); if (rowNumberDomain == null) { return OptionalInt.empty(); } ValueSet values = rowNumberDomain.getValues(); if (values.isAll() || values.isNone() || values.getRanges().getRangeCount() <= 0) { return OptionalInt.empty(); } Range span = values.getRanges().getSpan(); if (span.getHigh().isUpperUnbounded()) { return OptionalInt.empty(); } verify(rowNumberDomain.getType().equals(BIGINT)); long upperBound = (Long) span.getHigh().getValue(); if (span.getHigh().getBound() == BELOW) { upperBound--; } if (upperBound > 0 && upperBound <= Integer.MAX_VALUE) { return OptionalInt.of(toIntExact(upperBound)); } return OptionalInt.empty(); }
private static OptionalInt extractUpperBound(TupleDomain<Symbol> tupleDomain, Symbol symbol) { if (tupleDomain.isNone()) { return OptionalInt.empty(); } Domain rowNumberDomain = tupleDomain.getDomains().get().get(symbol); if (rowNumberDomain == null) { return OptionalInt.empty(); } ValueSet values = rowNumberDomain.getValues(); if (values.isAll() || values.isNone() || values.getRanges().getRangeCount() <= 0) { return OptionalInt.empty(); } Range span = values.getRanges().getSpan(); if (span.getHigh().isUpperUnbounded()) { return OptionalInt.empty(); } verify(rowNumberDomain.getType().equals(BIGINT)); long upperBound = (Long) span.getHigh().getValue(); if (span.getHigh().getBound() == BELOW) { upperBound--; } if (upperBound > 0 && upperBound <= Integer.MAX_VALUE) { return OptionalInt.of(toIntExact(upperBound)); } return OptionalInt.empty(); }
checkState(!range.isAll()); if (range.isSingleValue()) { singleValues.add(range.getLow().getValue()); continue; switch (range.getLow().getBound()) { case ABOVE: rangeConjuncts.add(toPredicate(">", range.getLow().getValue(), type, position)); break; case EXACTLY: rangeConjuncts.add(toPredicate(">=", range.getLow().getValue(), type, position)); break; case BELOW: throw new IllegalArgumentException("High marker should never use ABOVE bound"); case EXACTLY: rangeConjuncts.add(toPredicate("<=", range.getHigh().getValue(), type, position)); break; case BELOW: rangeConjuncts.add(toPredicate("<", range.getHigh().getValue(), type, position)); break; default:
singleValues.add(range.getLow().getValue()); switch (range.getLow().getBound()) { case ABOVE: rangeConjuncts.add(toPredicate(columnName, ">", range.getLow().getValue(), type, accumulator)); break; case EXACTLY: rangeConjuncts.add(toPredicate(columnName, ">=", range.getLow().getValue(), type, accumulator)); break; case BELOW: throw new IllegalArgumentException("High marker should never use ABOVE bound"); case EXACTLY: rangeConjuncts.add(toPredicate(columnName, "<=", range.getHigh().getValue(), type, accumulator)); break; case BELOW: rangeConjuncts.add(toPredicate(columnName, "<", range.getHigh().getValue(), type, accumulator)); break; default:
singleValues.add(range.getLow().getValue()); switch (range.getLow().getBound()) { case ABOVE: rangeConjuncts.add(toPredicate(columnName, ">", range.getLow().getValue(), type, accumulator)); break; case EXACTLY: rangeConjuncts.add(toPredicate(columnName, ">=", range.getLow().getValue(), type, accumulator)); break; case BELOW: throw new IllegalArgumentException("High marker should never use ABOVE bound"); case EXACTLY: rangeConjuncts.add(toPredicate(columnName, "<=", range.getHigh().getValue(), type, accumulator)); break; case BELOW: rangeConjuncts.add(toPredicate(columnName, "<", range.getHigh().getValue(), type, accumulator)); break; default:
return new BetweenPredicate(reference, literalEncoder.toExpression(range.getLow().getValue(), type), literalEncoder.toExpression(range.getHigh().getValue(), type)); switch (range.getLow().getBound()) { case ABOVE: rangeConjuncts.add(new ComparisonExpression(GREATER_THAN, reference, literalEncoder.toExpression(range.getLow().getValue(), type))); break; case EXACTLY: rangeConjuncts.add(new ComparisonExpression(GREATER_THAN_OR_EQUAL, reference, literalEncoder.toExpression(range.getLow().getValue(), type))); break; throw new IllegalStateException("High Marker should never use ABOVE bound: " + range); case EXACTLY: rangeConjuncts.add(new ComparisonExpression(LESS_THAN_OR_EQUAL, reference, literalEncoder.toExpression(range.getHigh().getValue(), type))); break; case BELOW: rangeConjuncts.add(new ComparisonExpression(LESS_THAN, reference, literalEncoder.toExpression(range.getHigh().getValue(), type))); break; default:
return new BetweenPredicate(reference, literalEncoder.toExpression(range.getLow().getValue(), type), literalEncoder.toExpression(range.getHigh().getValue(), type)); switch (range.getLow().getBound()) { case ABOVE: rangeConjuncts.add(new ComparisonExpression(GREATER_THAN, reference, literalEncoder.toExpression(range.getLow().getValue(), type))); break; case EXACTLY: rangeConjuncts.add(new ComparisonExpression(GREATER_THAN_OR_EQUAL, reference, literalEncoder.toExpression(range.getLow().getValue(), type))); break; throw new IllegalStateException("High Marker should never use ABOVE bound: " + range); case EXACTLY: rangeConjuncts.add(new ComparisonExpression(LESS_THAN_OR_EQUAL, reference, literalEncoder.toExpression(range.getHigh().getValue(), type))); break; case BELOW: rangeConjuncts.add(new ComparisonExpression(LESS_THAN, reference, literalEncoder.toExpression(range.getHigh().getValue(), type))); break; default:
singleValues.add(range.getLow().getValue()); Object bindValue = getBindValue(columnIndex, uuidColumnIndexes, range.getLow().getValue()); switch (range.getLow().getBound()) { case ABOVE: Object bindValue = getBindValue(columnIndex, uuidColumnIndexes, range.getHigh().getValue()); switch (range.getHigh().getBound()) { case ABOVE:
switch (range.getLow().getBound()) { case ABOVE: rangeConjuncts.put(GT_OP, translateValue(range.getLow().getValue(), type)); break; case EXACTLY: rangeConjuncts.put(GTE_OP, translateValue(range.getLow().getValue(), type)); break; case BELOW: throw new IllegalArgumentException("High Marker should never use ABOVE bound: " + range); case EXACTLY: rangeConjuncts.put(LTE_OP, translateValue(range.getHigh().getValue(), type)); break; case BELOW: rangeConjuncts.put(LT_OP, translateValue(range.getHigh().getValue(), type)); break; default:
case ABOVE: rangeConjuncts.add(CassandraCqlUtils.validColumnName(columnHandle.getName()) + " > " + CassandraCqlUtils.cqlValue(toCQLCompatibleString(range.getLow().getValue()), columnHandle.getCassandraType())); break; case EXACTLY: rangeConjuncts.add(CassandraCqlUtils.validColumnName(columnHandle.getName()) + " >= " + CassandraCqlUtils.cqlValue(toCQLCompatibleString(range.getLow().getValue()), columnHandle.getCassandraType())); break; case EXACTLY: rangeConjuncts.add(CassandraCqlUtils.validColumnName(columnHandle.getName()) + " <= " + CassandraCqlUtils.cqlValue(toCQLCompatibleString(range.getHigh().getValue()), columnHandle.getCassandraType())); break; case BELOW: rangeConjuncts.add(CassandraCqlUtils.validColumnName(columnHandle.getName()) + " < " + CassandraCqlUtils.cqlValue(toCQLCompatibleString(range.getHigh().getValue()), columnHandle.getCassandraType())); break;
KuduPredicate.ComparisonOp op = (low.getBound() == Marker.Bound.ABOVE) ? KuduPredicate.ComparisonOp.GREATER : KuduPredicate.ComparisonOp.GREATER_EQUAL; KuduPredicate predicate = createComparisonPredicate(columnSchema, op, low.getValue()); builder.addPredicate(predicate); KuduPredicate.ComparisonOp op = (low.getBound() == Marker.Bound.BELOW) ? KuduPredicate.ComparisonOp.LESS : KuduPredicate.ComparisonOp.LESS_EQUAL; KuduPredicate predicate = createComparisonPredicate(columnSchema, op, high.getValue()); builder.addPredicate(predicate);