com.facebook.presto.spi.predicate.Range.range()方法的使用及代码示例

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

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

Range.range介绍

暂无

代码示例

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

@Test
public void testSingleValue()
{
  assertTrue(Range.range(BIGINT, 1L, true, 1L, true).isSingleValue());
  assertFalse(Range.range(BIGINT, 1L, true, 2L, true).isSingleValue());
  assertTrue(Range.range(DOUBLE, 1.1, true, 1.1, true).isSingleValue());
  assertTrue(Range.range(VARCHAR, utf8Slice("a"), true, utf8Slice("a"), true).isSingleValue());
  assertTrue(Range.range(BOOLEAN, true, true, true, true).isSingleValue());
  assertFalse(Range.range(BOOLEAN, false, true, true, true).isSingleValue());
}

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

@Test
public void testIntersect()
{
  assertEquals(Range.greaterThan(BIGINT, 1L).intersect(Range.lessThanOrEqual(BIGINT, 2L)), Range.range(BIGINT, 1L, false, 2L, true));
  assertEquals(Range.range(BIGINT, 1L, true, 3L, false).intersect(Range.equal(BIGINT, 2L)), Range.equal(BIGINT, 2L));
  assertEquals(Range.range(BIGINT, 1L, true, 3L, false).intersect(Range.range(BIGINT, 2L, false, 10L, false)), Range.range(BIGINT, 2L, false, 3L, false));
  assertEquals(Range.range(BIGINT, 1L, true, 3L, true).intersect(Range.range(BIGINT, 3L, true, 10L, false)), Range.equal(BIGINT, 3L));
  assertEquals(Range.all(BIGINT).intersect(Range.equal(BIGINT, Long.MAX_VALUE)), Range.equal(BIGINT, Long.MAX_VALUE));
}

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

@Test
public void testSpan()
{
  assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 2L)), Range.all(BIGINT));
  assertEquals(Range.greaterThan(BIGINT, 2L).span(Range.lessThanOrEqual(BIGINT, 0L)), Range.all(BIGINT));
  assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.equal(BIGINT, 2L)), Range.range(BIGINT, 1L, true, 3L, false));
  assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.range(BIGINT, 2L, false, 10L, false)), Range.range(BIGINT, 1L, true, 10L, false));
  assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.equal(BIGINT, 0L)), Range.greaterThanOrEqual(BIGINT, 0L));
  assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.greaterThanOrEqual(BIGINT, 10L)), Range.greaterThan(BIGINT, 1L));
  assertEquals(Range.lessThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.lessThanOrEqual(BIGINT, 1L));
  assertEquals(Range.all(BIGINT).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.all(BIGINT));
}

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

@Test
public void testOverlaps()
{
  assertTrue(Range.greaterThan(BIGINT, 1L).overlaps(Range.lessThanOrEqual(BIGINT, 2L)));
  assertFalse(Range.greaterThan(BIGINT, 2L).overlaps(Range.lessThan(BIGINT, 2L)));
  assertTrue(Range.range(BIGINT, 1L, true, 3L, false).overlaps(Range.equal(BIGINT, 2L)));
  assertTrue(Range.range(BIGINT, 1L, true, 3L, false).overlaps(Range.range(BIGINT, 2L, false, 10L, false)));
  assertFalse(Range.range(BIGINT, 1L, true, 3L, false).overlaps(Range.range(BIGINT, 3L, true, 10L, false)));
  assertTrue(Range.range(BIGINT, 1L, true, 3L, true).overlaps(Range.range(BIGINT, 3L, true, 10L, false)));
  assertTrue(Range.all(BIGINT).overlaps(Range.equal(BIGINT, Long.MAX_VALUE)));
}

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

@Test
public void testJsonSerialization()
    throws Exception
{
  TestingTypeManager typeManager = new TestingTypeManager();
  TestingBlockEncodingSerde blockEncodingSerde = new TestingBlockEncodingSerde(typeManager);
  ObjectMapper mapper = new ObjectMapperProvider().get()
      .registerModule(new SimpleModule()
          .addDeserializer(Type.class, new TestingTypeDeserializer(typeManager))
          .addSerializer(Block.class, new TestingBlockJsonSerde.Serializer(blockEncodingSerde))
          .addDeserializer(Block.class, new TestingBlockJsonSerde.Deserializer(blockEncodingSerde)));
  Domain domain = Domain.all(BIGINT);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.none(DOUBLE);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.notNull(BOOLEAN);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.notNull(HYPER_LOG_LOG);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.onlyNull(VARCHAR);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.onlyNull(HYPER_LOG_LOG);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.singleValue(BIGINT, Long.MIN_VALUE);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.singleValue(ID, Long.MIN_VALUE);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
  domain = Domain.create(ValueSet.ofRanges(Range.lessThan(BIGINT, 0L), Range.equal(BIGINT, 1L), Range.range(BIGINT, 2L, true, 3L, true)), true);
  assertEquals(domain, mapper.readValue(mapper.writeValueAsString(domain), Domain.class));
}

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

@Test
public void testExceptionalIntersect()
{
  try {
    Range.greaterThan(BIGINT, 2L).intersect(Range.lessThan(BIGINT, 2L));
    fail();
  }
  catch (IllegalArgumentException e) {
  }
  try {
    Range.range(BIGINT, 1L, true, 3L, false).intersect(Range.range(BIGINT, 3L, true, 10L, false));
    fail();
  }
  catch (IllegalArgumentException e) {
  }
}

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

@Test
public void testUnboundedSet()
      Range.greaterThan(BIGINT, 10L),
      Range.lessThanOrEqual(BIGINT, 0L),
      Range.range(BIGINT, 2L, true, 4L, false),
      Range.range(BIGINT, 4L, true, 6L, false),
      Range.range(BIGINT, 1L, false, 2L, false),
      Range.range(BIGINT, 9L, false, 11L, false));
      Range.range(BIGINT, 1L, false, 6L, false),
      Range.greaterThan(BIGINT, 9L));
      Range.range(BIGINT, 0L, false, 1L, true),
      Range.range(BIGINT, 6L, true, 9L, true));
  assertEquals(rangeSet.getType(), BIGINT);
  assertFalse(rangeSet.isNone());
  assertFalse(rangeSet.isAll());
  assertFalse(rangeSet.isSingleValue());
  assertTrue(Iterables.elementsEqual(rangeSet.getOrderedRanges(), normalizedResult));
  assertEquals(rangeSet, SortedRangeSet.copyOf(BIGINT, normalizedResult));
  assertEquals(rangeSet.getRangeCount(), 3);
  assertEquals(rangeSet.complement(), complement);
  assertTrue(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT)));

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

@Test
public void testContains()
{
  assertTrue(Range.all(BIGINT).contains(Range.all(BIGINT)));
  assertTrue(Range.all(BIGINT).contains(Range.equal(BIGINT, 0L)));
  assertTrue(Range.all(BIGINT).contains(Range.greaterThan(BIGINT, 0L)));
  assertTrue(Range.equal(BIGINT, 0L).contains(Range.equal(BIGINT, 0L)));
  assertFalse(Range.equal(BIGINT, 0L).contains(Range.greaterThan(BIGINT, 0L)));
  assertFalse(Range.equal(BIGINT, 0L).contains(Range.greaterThanOrEqual(BIGINT, 0L)));
  assertFalse(Range.equal(BIGINT, 0L).contains(Range.all(BIGINT)));
  assertTrue(Range.greaterThanOrEqual(BIGINT, 0L).contains(Range.greaterThan(BIGINT, 0L)));
  assertTrue(Range.greaterThan(BIGINT, 0L).contains(Range.greaterThan(BIGINT, 1L)));
  assertFalse(Range.greaterThan(BIGINT, 0L).contains(Range.lessThan(BIGINT, 0L)));
  assertTrue(Range.range(BIGINT, 0L, true, 2L, true).contains(Range.range(BIGINT, 1L, true, 2L, true)));
  assertFalse(Range.range(BIGINT, 0L, true, 2L, true).contains(Range.range(BIGINT, 1L, true, 3L, false)));
}

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

@Test
public void testBuildSqlWithVarchar()
    throws SQLException
{
  TupleDomain<ColumnHandle> tupleDomain = TupleDomain.withColumnDomains(ImmutableMap.of(
      columns.get(3), Domain.create(SortedRangeSet.copyOf(VARCHAR,
          ImmutableList.of(
              Range.range(VARCHAR, utf8Slice("test_str_700"), true, utf8Slice("test_str_702"), false),
              Range.equal(VARCHAR, utf8Slice("test_str_180")),
              Range.equal(VARCHAR, utf8Slice("test_str_196")))),
          false)));
  Connection connection = database.getConnection();
  try (PreparedStatement preparedStatement = new QueryBuilder("\"").buildSql(jdbcClient, connection, "", "", "test_table", columns, tupleDomain, Optional.empty());
      ResultSet resultSet = preparedStatement.executeQuery()) {
    ImmutableSet.Builder<String> builder = ImmutableSet.builder();
    while (resultSet.next()) {
      builder.add((String) resultSet.getObject("col_3"));
    }
    assertEquals(builder.build(), ImmutableSet.of("test_str_700", "test_str_701", "test_str_180", "test_str_196"));
    assertContains(preparedStatement.toString(), "\"col_3\" >= ?");
    assertContains(preparedStatement.toString(), "\"col_3\" < ?");
    assertContains(preparedStatement.toString(), "\"col_3\" IN (?,?)");
  }
}

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

@Test
public void testRoundTrip()
{
  TupleDomain<Symbol> tupleDomain = withColumnDomains(ImmutableMap.<Symbol, Domain>builder()
      .put(C_BIGINT, Domain.singleValue(BIGINT, 1L))
      .put(C_DOUBLE, Domain.onlyNull(DOUBLE))
      .put(C_VARCHAR, Domain.notNull(VARCHAR))
      .put(C_BOOLEAN, Domain.singleValue(BOOLEAN, true))
      .put(C_BIGINT_1, Domain.singleValue(BIGINT, 2L))
      .put(C_DOUBLE_1, Domain.create(ValueSet.ofRanges(Range.lessThanOrEqual(DOUBLE, 1.1), Range.equal(DOUBLE, 2.0), Range.range(DOUBLE, 3.0, false, 3.5, true)), true))
      .put(C_VARCHAR_1, Domain.create(ValueSet.ofRanges(Range.lessThanOrEqual(VARCHAR, utf8Slice("2013-01-01")), Range.greaterThan(VARCHAR, utf8Slice("2013-10-01"))), false))
      .put(C_TIMESTAMP, Domain.singleValue(TIMESTAMP, TIMESTAMP_VALUE))
      .put(C_DATE, Domain.singleValue(DATE, DATE_VALUE))
      .put(C_COLOR, Domain.singleValue(COLOR, COLOR_VALUE_1))
      .put(C_HYPER_LOG_LOG, Domain.notNull(HYPER_LOG_LOG))
      .build());
  assertPredicateTranslates(toPredicate(tupleDomain), tupleDomain);
}

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

@Test
public void testBuildSqlWithChar()
    throws SQLException
{
  CharType charType = CharType.createCharType(0);
  TupleDomain<ColumnHandle> tupleDomain = TupleDomain.withColumnDomains(ImmutableMap.of(
      columns.get(11), Domain.create(SortedRangeSet.copyOf(charType,
          ImmutableList.of(
              Range.range(charType, utf8Slice("test_str_700"), true, utf8Slice("test_str_702"), false),
              Range.equal(charType, utf8Slice("test_str_180")),
              Range.equal(charType, utf8Slice("test_str_196")))),
          false)));
  Connection connection = database.getConnection();
  try (PreparedStatement preparedStatement = new QueryBuilder("\"").buildSql(jdbcClient, connection, "", "", "test_table", columns, tupleDomain, Optional.empty());
      ResultSet resultSet = preparedStatement.executeQuery()) {
    ImmutableSet.Builder<String> builder = ImmutableSet.builder();
    while (resultSet.next()) {
      builder.add((String) resultSet.getObject("col_11"));
    }
    assertEquals(builder.build(), ImmutableSet.of("test_str_700", "test_str_701", "test_str_180", "test_str_196"));
    assertContains(preparedStatement.toString(), "\"col_11\" >= ?");
    assertContains(preparedStatement.toString(), "\"col_11\" < ?");
    assertContains(preparedStatement.toString(), "\"col_11\" IN (?,?)");
  }
}

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

@Test
public void testTupleDomain()
      ImmutableMap.of(textColumn, Domain.create(ValueSet.ofRanges(Range.range(VARCHAR, utf8Slice("bar"), true, utf8Slice("foo"), true)), false))));
          textColumn,
          Domain.create(ValueSet.ofRanges(
              Range.range(VARCHAR, utf8Slice("bar"), true, utf8Slice("foo"), true),
              Range.range(VARCHAR, utf8Slice("hello"), false, utf8Slice("world"), false)),
              false),
              Range.range(createVarcharType(32), utf8Slice("bar"), true, utf8Slice("foo"), true),
              Range.range(createVarcharType(32), utf8Slice("hello"), false, utf8Slice("world"), false)),
              false))));
          textColumn,
          Domain.create(ValueSet.ofRanges(
              Range.range(VARCHAR, utf8Slice("bar"), true, utf8Slice("foo"), true),
              Range.range(VARCHAR, utf8Slice("hello"), false, utf8Slice("world"), false),
              Range.equal(VARCHAR, utf8Slice("apple")),
              Range.equal(VARCHAR, utf8Slice("banana")),
              Range.range(BIGINT, 1L, true, 5L, true),
              Range.range(BIGINT, 10L, false, 20L, false)),
              true))));

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

@Test
public void testBuildQuery()
{
  TupleDomain<ColumnHandle> tupleDomain = TupleDomain.withColumnDomains(ImmutableMap.of(
      COL1, Domain.create(ValueSet.ofRanges(range(BIGINT, 100L, false, 200L, true)), false),
      COL2, Domain.singleValue(createUnboundedVarcharType(), utf8Slice("a value"))));
  Document query = MongoSession.buildQuery(tupleDomain);
  Document expected = new Document()
      .append(COL1.getName(), new Document().append("$gt", 100L).append("$lte", 200L))
      .append(COL2.getName(), new Document("$eq", "a value"));
  assertEquals(query, expected);
}

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

@Test
public void testFromInPredicate()
{
  assertPredicateTranslates(
      in(C_BIGINT, ImmutableList.of(1L)),
      withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.singleValue(BIGINT, 1L))));
  assertPredicateTranslates(
      in(C_COLOR, ImmutableList.of(colorLiteral(COLOR_VALUE_1))),
      withColumnDomains(ImmutableMap.of(C_COLOR, Domain.singleValue(COLOR, COLOR_VALUE_1))));
  assertPredicateTranslates(
      in(C_BIGINT, ImmutableList.of(1L, 2L)),
      withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.create(ValueSet.ofRanges(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L)), false))));
  assertPredicateTranslates(
      in(C_COLOR, ImmutableList.of(colorLiteral(COLOR_VALUE_1), colorLiteral(COLOR_VALUE_2))),
      withColumnDomains(ImmutableMap.of(C_COLOR, Domain.create(ValueSet.of(COLOR, COLOR_VALUE_1, COLOR_VALUE_2), false))));
  assertPredicateTranslates(
      not(in(C_BIGINT, ImmutableList.of(1L, 2L))),
      withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.create(ValueSet.ofRanges(Range.lessThan(BIGINT, 1L), Range.range(BIGINT, 1L, false, 2L, false), Range.greaterThan(BIGINT, 2L)), false))));
  assertPredicateTranslates(
      not(in(C_COLOR, ImmutableList.of(colorLiteral(COLOR_VALUE_1), colorLiteral(COLOR_VALUE_2)))),
      withColumnDomains(ImmutableMap.of(C_COLOR, Domain.create(ValueSet.of(COLOR, COLOR_VALUE_1, COLOR_VALUE_2).complement(), false))));
}

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

Range.equal(BIGINT, 233L),
          Range.lessThan(BIGINT, 25L),
          Range.range(BIGINT, 66L, true, 96L, true),
          Range.greaterThan(BIGINT, 192L))),
      false))
          Range.equal(DOUBLE, 200017.0),
          Range.equal(DOUBLE, 200116.5),
          Range.range(DOUBLE, 200030.0, true, 200036.0, true),
          Range.range(DOUBLE, 200048.0, true, 200099.0, true))),
      false))
  .put(columns.get(7), Domain.create(SortedRangeSet.copyOf(TINYINT,
      ImmutableList.of(
          Range.range(TINYINT, 60L, true, 70L, false),
          Range.range(TINYINT, 52L, true, 55L, false))),
      false))
  .put(columns.get(8), Domain.create(SortedRangeSet.copyOf(SMALLINT,
      ImmutableList.of(
          Range.range(SMALLINT, -75L, true, -68L, true),
          Range.range(SMALLINT, -200L, true, -100L, false))),
      false))
  .put(columns.get(9), Domain.create(SortedRangeSet.copyOf(INTEGER,
  builder.add((Long) resultSet.getObject("col_0"));
assertEquals(builder.build(), ImmutableSet.of(68L, 180L, 196L));

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

@Test
public void testFromBetweenPredicate()
{
  assertPredicateTranslates(
      between(C_BIGINT, bigintLiteral(1L), bigintLiteral(2L)),
      withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.create(ValueSet.ofRanges(Range.range(BIGINT, 1L, true, 2L, true)), false))));
  assertPredicateTranslates(
      between(cast(C_INTEGER, DOUBLE), cast(bigintLiteral(1L), DOUBLE), doubleLiteral(2.1)),
      withColumnDomains(ImmutableMap.of(C_INTEGER, Domain.create(ValueSet.ofRanges(Range.range(INTEGER, 1L, true, 2L, true)), false))));
  assertPredicateIsAlwaysFalse(between(C_BIGINT, bigintLiteral(1L), nullLiteral(BIGINT)));
  // Test complements
  assertPredicateTranslates(
      not(between(C_BIGINT, bigintLiteral(1L), bigintLiteral(2L))),
      withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.create(ValueSet.ofRanges(Range.lessThan(BIGINT, 1L), Range.greaterThan(BIGINT, 2L)), false))));
  assertPredicateTranslates(
      not(between(cast(C_INTEGER, DOUBLE), cast(bigintLiteral(1L), DOUBLE), doubleLiteral(2.1))),
      withColumnDomains(ImmutableMap.of(C_INTEGER, Domain.create(ValueSet.ofRanges(Range.lessThan(INTEGER, 1L), Range.greaterThan(INTEGER, 2L)), false))));
  assertPredicateTranslates(
      not(between(C_BIGINT, bigintLiteral(1L), nullLiteral(BIGINT))),
      withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.create(ValueSet.ofRanges(Range.lessThan(BIGINT, 1L)), false))));
}

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

@Test
public void testBoundedSet()
      Range.equal(BIGINT, 10L),
      Range.equal(BIGINT, 0L),
      Range.range(BIGINT, 9L, true, 11L, false),
      Range.equal(BIGINT, 0L),
      Range.range(BIGINT, 2L, true, 4L, true),
      Range.range(BIGINT, 4L, false, 5L, true));
      Range.range(BIGINT, 2L, true, 5L, true),
      Range.range(BIGINT, 9L, true, 11L, false));
      Range.range(BIGINT, 0L, false, 2L, false),
      Range.range(BIGINT, 5L, false, 9L, false),
      Range.greaterThanOrEqual(BIGINT, 11L));
  assertEquals(rangeSet.getType(), BIGINT);
  assertFalse(rangeSet.isNone());
  assertFalse(rangeSet.isAll());
  assertFalse(rangeSet.isSingleValue());
  assertTrue(Iterables.elementsEqual(rangeSet.getOrderedRanges(), normalizedResult));
  assertEquals(rangeSet, SortedRangeSet.copyOf(BIGINT, normalizedResult));
  assertEquals(rangeSet.getRangeCount(), 3);
  assertEquals(rangeSet.complement(), complement);
  assertFalse(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT)));

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

@Test
public void testUnion()
{
  assertUnion(SortedRangeSet.none(BIGINT), SortedRangeSet.none(BIGINT), SortedRangeSet.none(BIGINT));
  assertUnion(SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT));
  assertUnion(SortedRangeSet.none(BIGINT), SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT));
  assertUnion(
      SortedRangeSet.of(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L)),
      SortedRangeSet.of(Range.equal(BIGINT, 2L), Range.equal(BIGINT, 3L)),
      SortedRangeSet.of(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L), Range.equal(BIGINT, 3L)));
  assertUnion(SortedRangeSet.all(BIGINT), SortedRangeSet.of(Range.equal(BIGINT, 0L)), SortedRangeSet.all(BIGINT));
  assertUnion(
      SortedRangeSet.of(Range.range(BIGINT, 0L, true, 4L, false)),
      SortedRangeSet.of(Range.greaterThan(BIGINT, 3L)),
      SortedRangeSet.of(Range.greaterThanOrEqual(BIGINT, 0L)));
  assertUnion(
      SortedRangeSet.of(Range.greaterThanOrEqual(BIGINT, 0L)),
      SortedRangeSet.of(Range.lessThanOrEqual(BIGINT, 0L)),
      SortedRangeSet.of(Range.all(BIGINT)));
  assertUnion(
      SortedRangeSet.of(Range.greaterThan(BIGINT, 0L)),
      SortedRangeSet.of(Range.lessThan(BIGINT, 0L)),
      SortedRangeSet.of(BIGINT, 0L).complement());
}

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

@Test
public void testRange()
{
  Range range = Range.range(BIGINT, 0L, false, 2L, true);
  assertEquals(range.getLow(), Marker.above(BIGINT, 0L));
  assertEquals(range.getHigh(), Marker.exactly(BIGINT, 2L));
  assertFalse(range.isSingleValue());
  assertFalse(range.isAll());
  assertEquals(range.getType(), BIGINT);
  assertFalse(range.includes(Marker.lowerUnbounded(BIGINT)));
  assertFalse(range.includes(Marker.exactly(BIGINT, 0L)));
  assertTrue(range.includes(Marker.exactly(BIGINT, 1L)));
  assertTrue(range.includes(Marker.exactly(BIGINT, 2L)));
  assertFalse(range.includes(Marker.exactly(BIGINT, 3L)));
  assertFalse(range.includes(Marker.upperUnbounded(BIGINT)));
}

代码示例来源:origin: com.facebook.presto/presto-base-jdbc

@Test
public void testTupleDomain()
      ImmutableMap.of(textColumn, Domain.create(ValueSet.ofRanges(Range.range(VARCHAR, utf8Slice("bar"), true, utf8Slice("foo"), true)), false))));
          textColumn,
          Domain.create(ValueSet.ofRanges(
              Range.range(VARCHAR, utf8Slice("bar"), true, utf8Slice("foo"), true),
              Range.range(VARCHAR, utf8Slice("hello"), false, utf8Slice("world"), false)),
              false),
              Range.range(createVarcharType(32), utf8Slice("bar"), true, utf8Slice("foo"), true),
              Range.range(createVarcharType(32), utf8Slice("hello"), false, utf8Slice("world"), false)),
              false))));
          textColumn,
          Domain.create(ValueSet.ofRanges(
              Range.range(VARCHAR, utf8Slice("bar"), true, utf8Slice("foo"), true),
              Range.range(VARCHAR, utf8Slice("hello"), false, utf8Slice("world"), false),
              Range.equal(VARCHAR, utf8Slice("apple")),
              Range.equal(VARCHAR, utf8Slice("banana")),
              Range.range(BIGINT, 1L, true, 5L, true),
              Range.range(BIGINT, 10L, false, 20L, false)),
              true))));

相关文章