io.prestosql.spi.predicate.Range.isSingleValue()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(213)

本文整理了Java中io.prestosql.spi.predicate.Range.isSingleValue方法的一些代码示例,展示了Range.isSingleValue的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Range.isSingleValue方法的具体详情如下:
包路径:io.prestosql.spi.predicate.Range
类名称:Range
方法名:isSingleValue

Range.isSingleValue介绍

暂无

代码示例

代码示例来源:origin: prestosql/presto

  1. @Override
  2. public boolean isSingleValue()
  3. {
  4. return lowIndexedRanges.size() == 1 && lowIndexedRanges.values().iterator().next().isSingleValue();
  5. }

代码示例来源:origin: prestosql/presto

  1. public Object getSingleValue()
  2. {
  3. if (!isSingleValue()) {
  4. throw new IllegalStateException("Range does not have just a single value");
  5. }
  6. return low.getValue();
  7. }

代码示例来源:origin: io.prestosql/presto-orc

  1. @VisibleForTesting
  2. public static Optional<Collection<Object>> extractDiscreteValues(ValueSet valueSet)
  3. {
  4. return valueSet.getValuesProcessor().transform(
  5. ranges -> {
  6. ImmutableList.Builder<Object> discreteValues = ImmutableList.builder();
  7. for (Range range : ranges.getOrderedRanges()) {
  8. if (!range.isSingleValue()) {
  9. return Optional.empty();
  10. }
  11. discreteValues.add(range.getSingleValue());
  12. }
  13. return Optional.of(discreteValues.build());
  14. },
  15. discreteValues -> Optional.of(discreteValues.getValues()),
  16. allOrNone -> allOrNone.isAll() ? Optional.empty() : Optional.of(ImmutableList.of()));
  17. }

代码示例来源:origin: prestosql/presto

  1. public String toString(ConnectorSession session)
  2. {
  3. StringBuilder buffer = new StringBuilder();
  4. if (isSingleValue()) {
  5. buffer.append('[').append(low.getPrintableValue(session)).append(']');
  6. }
  7. else {
  8. buffer.append((low.getBound() == Marker.Bound.EXACTLY) ? '[' : '(');
  9. buffer.append(low.isLowerUnbounded() ? "<min>" : low.getPrintableValue(session));
  10. buffer.append(", ");
  11. buffer.append(high.isUpperUnbounded() ? "<max>" : high.getPrintableValue(session));
  12. buffer.append((high.getBound() == Marker.Bound.EXACTLY) ? ']' : ')');
  13. }
  14. return buffer.toString();
  15. }
  16. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testSingleValue()
  3. {
  4. assertTrue(Range.range(BIGINT, 1L, true, 1L, true).isSingleValue());
  5. assertFalse(Range.range(BIGINT, 1L, true, 2L, true).isSingleValue());
  6. assertTrue(Range.range(DOUBLE, 1.1, true, 1.1, true).isSingleValue());
  7. assertTrue(Range.range(VARCHAR, utf8Slice("a"), true, utf8Slice("a"), true).isSingleValue());
  8. assertTrue(Range.range(BOOLEAN, true, true, true, true).isSingleValue());
  9. assertFalse(Range.range(BOOLEAN, false, true, true, true).isSingleValue());
  10. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testSingleValue()
  3. {
  4. assertTrue(Range.range(BIGINT, 1L, true, 1L, true).isSingleValue());
  5. assertFalse(Range.range(BIGINT, 1L, true, 2L, true).isSingleValue());
  6. assertTrue(Range.range(DOUBLE, 1.1, true, 1.1, true).isSingleValue());
  7. assertTrue(Range.range(VARCHAR, utf8Slice("a"), true, utf8Slice("a"), true).isSingleValue());
  8. assertTrue(Range.range(BOOLEAN, true, true, true, true).isSingleValue());
  9. assertFalse(Range.range(BOOLEAN, false, true, true, true).isSingleValue());
  10. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testLessThanRange()
  3. {
  4. Range range = Range.lessThan(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT));
  6. assertEquals(range.getHigh(), Marker.below(BIGINT, 1L));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertTrue(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 1L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 0L)));
  13. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  14. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testGreaterThanRange()
  3. {
  4. Range range = Range.greaterThan(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.above(BIGINT, 1L));
  6. assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 1L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  13. assertTrue(range.includes(Marker.upperUnbounded(BIGINT)));
  14. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testGreaterThanRange()
  3. {
  4. Range range = Range.greaterThan(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.above(BIGINT, 1L));
  6. assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 1L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  13. assertTrue(range.includes(Marker.upperUnbounded(BIGINT)));
  14. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testGreaterThanOrEqualRange()
  3. {
  4. Range range = Range.greaterThanOrEqual(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.exactly(BIGINT, 1L));
  6. assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  14. assertTrue(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testLessThanRange()
  3. {
  4. Range range = Range.lessThan(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT));
  6. assertEquals(range.getHigh(), Marker.below(BIGINT, 1L));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertTrue(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 1L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 0L)));
  13. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  14. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testAllRange()
  3. {
  4. Range range = Range.all(BIGINT);
  5. assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT));
  6. assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT));
  7. assertFalse(range.isSingleValue());
  8. assertTrue(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertTrue(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertTrue(range.includes(Marker.below(BIGINT, 1L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.above(BIGINT, 1L)));
  14. assertTrue(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testLessThanOrEqualRange()
  3. {
  4. Range range = Range.lessThanOrEqual(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT));
  6. assertEquals(range.getHigh(), Marker.exactly(BIGINT, 1L));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertTrue(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 2L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.exactly(BIGINT, 0L)));
  14. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testEqualRange()
  3. {
  4. Range range = Range.equal(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.exactly(BIGINT, 1L));
  6. assertEquals(range.getHigh(), Marker.exactly(BIGINT, 1L));
  7. assertTrue(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertFalse(range.includes(Marker.exactly(BIGINT, 2L)));
  14. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testLessThanOrEqualRange()
  3. {
  4. Range range = Range.lessThanOrEqual(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT));
  6. assertEquals(range.getHigh(), Marker.exactly(BIGINT, 1L));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertTrue(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 2L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.exactly(BIGINT, 0L)));
  14. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testEqualRange()
  3. {
  4. Range range = Range.equal(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.exactly(BIGINT, 1L));
  6. assertEquals(range.getHigh(), Marker.exactly(BIGINT, 1L));
  7. assertTrue(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertFalse(range.includes(Marker.exactly(BIGINT, 2L)));
  14. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testAllRange()
  3. {
  4. Range range = Range.all(BIGINT);
  5. assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT));
  6. assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT));
  7. assertFalse(range.isSingleValue());
  8. assertTrue(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertTrue(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertTrue(range.includes(Marker.below(BIGINT, 1L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.above(BIGINT, 1L)));
  14. assertTrue(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testGreaterThanOrEqualRange()
  3. {
  4. Range range = Range.greaterThanOrEqual(BIGINT, 1L);
  5. assertEquals(range.getLow(), Marker.exactly(BIGINT, 1L));
  6. assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  14. assertTrue(range.includes(Marker.upperUnbounded(BIGINT)));
  15. }

代码示例来源:origin: prestosql/presto

  1. @Test
  2. public void testRange()
  3. {
  4. Range range = Range.range(BIGINT, 0L, false, 2L, true);
  5. assertEquals(range.getLow(), Marker.above(BIGINT, 0L));
  6. assertEquals(range.getHigh(), Marker.exactly(BIGINT, 2L));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  14. assertFalse(range.includes(Marker.exactly(BIGINT, 3L)));
  15. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  16. }

代码示例来源:origin: io.prestosql/presto-spi

  1. @Test
  2. public void testRange()
  3. {
  4. Range range = Range.range(BIGINT, 0L, false, 2L, true);
  5. assertEquals(range.getLow(), Marker.above(BIGINT, 0L));
  6. assertEquals(range.getHigh(), Marker.exactly(BIGINT, 2L));
  7. assertFalse(range.isSingleValue());
  8. assertFalse(range.isAll());
  9. assertEquals(range.getType(), BIGINT);
  10. assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  11. assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  12. assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  13. assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  14. assertFalse(range.includes(Marker.exactly(BIGINT, 3L)));
  15. assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
  16. }

相关文章