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

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

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

Range.span介绍

暂无

代码示例

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

  1. public Range getSpan()
  2. {
  3. if (lowIndexedRanges.isEmpty()) {
  4. throw new IllegalStateException("Can not get span if no ranges exist");
  5. }
  6. return lowIndexedRanges.firstEntry().getValue().span(lowIndexedRanges.lastEntry().getValue());
  7. }

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

  1. SortedRangeSet build()
  2. {
  3. Collections.sort(ranges, Comparator.comparing(Range::getLow));
  4. NavigableMap<Marker, Range> result = new TreeMap<>();
  5. Range current = null;
  6. for (Range next : ranges) {
  7. if (current == null) {
  8. current = next;
  9. continue;
  10. }
  11. if (current.overlaps(next) || current.getHigh().isAdjacent(next.getLow())) {
  12. current = current.span(next);
  13. }
  14. else {
  15. result.put(current.getLow(), current);
  16. current = next;
  17. }
  18. }
  19. if (current != null) {
  20. result.put(current.getLow(), current);
  21. }
  22. return new SortedRangeSet(type, result);
  23. }
  24. }

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

  1. @Test
  2. public void testSpan()
  3. {
  4. assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 2L)), Range.all(BIGINT));
  5. assertEquals(Range.greaterThan(BIGINT, 2L).span(Range.lessThanOrEqual(BIGINT, 0L)), Range.all(BIGINT));
  6. assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.equal(BIGINT, 2L)), Range.range(BIGINT, 1L, true, 3L, false));
  7. assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.range(BIGINT, 2L, false, 10L, false)), Range.range(BIGINT, 1L, true, 10L, false));
  8. assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.equal(BIGINT, 0L)), Range.greaterThanOrEqual(BIGINT, 0L));
  9. assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.greaterThanOrEqual(BIGINT, 10L)), Range.greaterThan(BIGINT, 1L));
  10. assertEquals(Range.lessThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.lessThanOrEqual(BIGINT, 1L));
  11. assertEquals(Range.all(BIGINT).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.all(BIGINT));
  12. }

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

  1. @Test
  2. public void testSpan()
  3. {
  4. assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 2L)), Range.all(BIGINT));
  5. assertEquals(Range.greaterThan(BIGINT, 2L).span(Range.lessThanOrEqual(BIGINT, 0L)), Range.all(BIGINT));
  6. assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.equal(BIGINT, 2L)), Range.range(BIGINT, 1L, true, 3L, false));
  7. assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.range(BIGINT, 2L, false, 10L, false)), Range.range(BIGINT, 1L, true, 10L, false));
  8. assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.equal(BIGINT, 0L)), Range.greaterThanOrEqual(BIGINT, 0L));
  9. assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.greaterThanOrEqual(BIGINT, 10L)), Range.greaterThan(BIGINT, 1L));
  10. assertEquals(Range.lessThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.lessThanOrEqual(BIGINT, 1L));
  11. assertEquals(Range.all(BIGINT).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.all(BIGINT));
  12. }

相关文章