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

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

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

Range.equal介绍

暂无

代码示例

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

  1. /**
  2. * Provided discrete values that are unioned together to form the SortedRangeSet
  3. */
  4. static SortedRangeSet of(Type type, Object first, Object... rest)
  5. {
  6. List<Range> ranges = new ArrayList<>(rest.length + 1);
  7. ranges.add(Range.equal(type, first));
  8. for (Object value : rest) {
  9. ranges.add(Range.equal(type, value));
  10. }
  11. return copyOf(type, ranges);
  12. }

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

  1. static ValueSet copyOf(Type type, Collection<Object> values)
  2. {
  3. if (type.isOrderable()) {
  4. return SortedRangeSet.copyOf(type, values.stream()
  5. .map(value -> Range.equal(type, value))
  6. .collect(toList()));
  7. }
  8. if (type.isComparable()) {
  9. return EquatableValueSet.copyOf(type, values);
  10. }
  11. throw new IllegalArgumentException("Cannot create discrete ValueSet with non-comparable type: " + type);
  12. }

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

  1. @Test
  2. public void testGetSingleValue()
  3. {
  4. assertEquals(Range.equal(BIGINT, 0L).getSingleValue(), 0L);
  5. try {
  6. Range.lessThan(BIGINT, 0L).getSingleValue();
  7. fail();
  8. }
  9. catch (IllegalStateException e) {
  10. }
  11. }

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

  1. @Test
  2. public void testGetSingleValue()
  3. {
  4. assertEquals(Range.equal(BIGINT, 0L).getSingleValue(), 0L);
  5. try {
  6. Range.lessThan(BIGINT, 0L).getSingleValue();
  7. fail();
  8. }
  9. catch (IllegalStateException e) {
  10. }
  11. }

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

  1. @Test
  2. public void testBucketNumberMultipleRanges()
  3. {
  4. TupleDomain<RaptorColumnHandle> tupleDomain = withColumnDomains(ImmutableMap.of(
  5. bucketNumberColumnHandle("test"),
  6. create(SortedRangeSet.copyOf(INTEGER, ImmutableList.of(equal(INTEGER, 1L), equal(INTEGER, 3L))), false)));
  7. ShardPredicate shardPredicate = ShardPredicate.create(tupleDomain);
  8. assertEquals(shardPredicate.getPredicate(),
  9. "(((bucket_number >= ? OR bucket_number IS NULL) AND (bucket_number <= ? OR bucket_number IS NULL))" +
  10. " OR ((bucket_number >= ? OR bucket_number IS NULL) AND (bucket_number <= ? OR bucket_number IS NULL)))");
  11. }

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

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

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

  1. @Test
  2. public void testBuildQueryIn()
  3. {
  4. TupleDomain<ColumnHandle> tupleDomain = TupleDomain.withColumnDomains(ImmutableMap.of(
  5. COL2, Domain.create(ValueSet.ofRanges(equal(createUnboundedVarcharType(), utf8Slice("hello")), equal(createUnboundedVarcharType(), utf8Slice("world"))), false)));
  6. Document query = MongoSession.buildQuery(tupleDomain);
  7. Document expected = new Document(COL2.getName(), new Document("$in", ImmutableList.of("hello", "world")));
  8. assertEquals(query, expected);
  9. }

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

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

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

  1. @Test
  2. public void testDiscreteShardUuidPredicate()
  3. {
  4. Slice uuid0 = utf8Slice(randomUUID().toString());
  5. Slice uuid1 = utf8Slice(randomUUID().toString());
  6. TupleDomain<RaptorColumnHandle> tupleDomain = withColumnDomains(ImmutableMap.of(
  7. shardUuidColumnHandle("test"),
  8. create(SortedRangeSet.copyOf(VARCHAR, ImmutableList.of(equal(VARCHAR, uuid0), equal(VARCHAR, uuid1))), false)));
  9. ShardPredicate shardPredicate = ShardPredicate.create(tupleDomain);
  10. assertEquals(shardPredicate.getPredicate(), "shard_uuid = ? OR shard_uuid = ?");
  11. assertEquals(shardPredicate.getTypes(), ImmutableList.of(VARBINARY, VARBINARY));
  12. assertEquals(ImmutableSet.copyOf(shardPredicate.getValues()), ImmutableSet.of(uuidStringToBytes(uuid0), uuidStringToBytes(uuid1)));
  13. }

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

  1. @Test
  2. public void testInvalidUuid()
  3. {
  4. Slice uuid0 = utf8Slice("test1");
  5. Slice uuid1 = utf8Slice("test2");
  6. TupleDomain<RaptorColumnHandle> tupleDomain = withColumnDomains(ImmutableMap.of(
  7. shardUuidColumnHandle("test"),
  8. create(SortedRangeSet.copyOf(VARCHAR, ImmutableList.of(equal(VARCHAR, uuid0), equal(VARCHAR, uuid1))), false)));
  9. ShardPredicate shardPredicate = ShardPredicate.create(tupleDomain);
  10. assertEquals(shardPredicate.getPredicate(), "true");
  11. }

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

  1. @Test
  2. public void testBucketNumberSingleRange()
  3. {
  4. TupleDomain<RaptorColumnHandle> tupleDomain = withColumnDomains(ImmutableMap.of(
  5. bucketNumberColumnHandle("test"),
  6. create(SortedRangeSet.copyOf(INTEGER, ImmutableList.of(equal(INTEGER, 1L))), false)));
  7. ShardPredicate shardPredicate = ShardPredicate.create(tupleDomain);
  8. assertEquals(shardPredicate.getPredicate(), "(((bucket_number >= ? OR bucket_number IS NULL) AND (bucket_number <= ? OR bucket_number IS NULL)))");
  9. }

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

  1. @Test
  2. public void testDateColumn()
  3. {
  4. IonSqlQueryBuilder queryBuilder = new IonSqlQueryBuilder(new TypeRegistry());
  5. List<HiveColumnHandle> columns = ImmutableList.of(
  6. new HiveColumnHandle("t1", HIVE_TIMESTAMP, parseTypeSignature(TIMESTAMP), 0, REGULAR, Optional.empty()),
  7. new HiveColumnHandle("t2", HIVE_DATE, parseTypeSignature(StandardTypes.DATE), 1, REGULAR, Optional.empty()));
  8. TupleDomain<HiveColumnHandle> tupleDomain = withColumnDomains(ImmutableMap.of(
  9. columns.get(1), Domain.create(SortedRangeSet.copyOf(DATE, ImmutableList.of(Range.equal(DATE, (long) DateTimeUtils.parseDate("2001-08-22")))), false)));
  10. assertEquals("SELECT s._1, s._2 FROM S3Object s WHERE (case s._2 when '' then null else CAST(s._2 AS TIMESTAMP) end = `2001-08-22`)", queryBuilder.buildSql(columns, tupleDomain));
  11. }

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

  1. @Test
  2. public void testDateColumn()
  3. {
  4. IonSqlQueryBuilder queryBuilder = new IonSqlQueryBuilder(new TypeRegistry());
  5. List<HiveColumnHandle> columns = ImmutableList.of(
  6. new HiveColumnHandle("t1", HIVE_TIMESTAMP, parseTypeSignature(TIMESTAMP), 0, REGULAR, Optional.empty()),
  7. new HiveColumnHandle("t2", HIVE_DATE, parseTypeSignature(StandardTypes.DATE), 1, REGULAR, Optional.empty()));
  8. TupleDomain<HiveColumnHandle> tupleDomain = withColumnDomains(ImmutableMap.of(
  9. columns.get(1), Domain.create(SortedRangeSet.copyOf(DATE, ImmutableList.of(Range.equal(DATE, (long) DateTimeUtils.parseDate("2001-08-22")))), false)));
  10. assertEquals("SELECT s._1, s._2 FROM S3Object s WHERE (case s._2 when '' then null else CAST(s._2 AS TIMESTAMP) end = `2001-08-22`)", queryBuilder.buildSql(columns, tupleDomain));
  11. }

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

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

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

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

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

  1. @Test
  2. public void testInPredicateWithNull()
  3. {
  4. assertPredicateTranslates(
  5. in(C_BIGINT, Arrays.asList(1L, 2L, null)),
  6. withColumnDomains(ImmutableMap.of(C_BIGINT, Domain.create(ValueSet.ofRanges(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L)), false))));
  7. assertPredicateIsAlwaysFalse(not(in(C_BIGINT, Arrays.asList(1L, 2L, null))));
  8. assertPredicateIsAlwaysFalse(in(C_BIGINT, Arrays.asList(new Long[] {null})));
  9. assertPredicateIsAlwaysFalse(not(in(C_BIGINT, Arrays.asList(new Long[] {null}))));
  10. assertUnsupportedPredicate(isNull(in(C_BIGINT, Arrays.asList(1L, 2L, null))));
  11. assertUnsupportedPredicate(isNotNull(in(C_BIGINT, Arrays.asList(1L, 2L, null))));
  12. assertUnsupportedPredicate(isNull(in(C_BIGINT, Arrays.asList(new Long[] {null}))));
  13. assertUnsupportedPredicate(isNotNull(in(C_BIGINT, Arrays.asList(new Long[] {null}))));
  14. }

代码示例来源: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. }

代码示例来源: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-main

  1. @Test
  2. public void testCharComparedToVarcharExpression()
  3. {
  4. Type charType = createCharType(10);
  5. // varchar literal is coerced to column (char) type
  6. testSimpleComparison(equal(C_CHAR, cast(stringLiteral("abc"), charType)), C_CHAR, Range.equal(charType, Slices.utf8Slice("abc")));
  7. // both sides got coerced to char(11)
  8. charType = createCharType(11);
  9. assertUnsupportedPredicate(equal(cast(C_CHAR, charType), cast(stringLiteral("abc12345678"), charType)));
  10. }

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

  1. @Test
  2. public void testCharComparedToVarcharExpression()
  3. {
  4. Type charType = createCharType(10);
  5. // varchar literal is coerced to column (char) type
  6. testSimpleComparison(equal(C_CHAR, cast(stringLiteral("abc"), charType)), C_CHAR, Range.equal(charType, Slices.utf8Slice("abc")));
  7. // both sides got coerced to char(11)
  8. charType = createCharType(11);
  9. assertUnsupportedPredicate(equal(cast(C_CHAR, charType), cast(stringLiteral("abc12345678"), charType)));
  10. }

相关文章