private static <T extends TpchEntity> ConnectorPageSource createPageSource(TpchTable<T> table, List<String> columnNames, SplitInfo splitInfo) { List<TpchColumn<T>> columns = columnNames.stream().map(table::getColumn).collect(toList()); return new RecordPageSource(createTpchRecordSet( table, columns, schemaNameToScaleFactor(splitInfo.getSchemaName()), splitInfo.getPartNumber(), splitInfo.getTotalParts(), TupleDomain.all())); }
@Test public void testEmptySingleValuesMapToDomain() { assertEquals(TupleDomain.fromFixedValues(ImmutableMap.of()), TupleDomain.all()); }
protected HiveSplit getHiveSplit(ConnectorTableHandle tableHandle) { List<ConnectorSplit> splits = getAllSplits(tableHandle, TupleDomain.all()); assertEquals(splits.size(), 1); return (HiveSplit) getOnlyElement(splits); }
@Test public void testExtractFixedValuesFromAll() { assertEquals(TupleDomain.extractFixedValues(TupleDomain.all()).get(), ImmutableMap.of()); }
@Test public void testAll() { assertTrue(TupleDomain.all().isAll()); assertEquals(TupleDomain.<ColumnHandle>all(), TupleDomain.withColumnDomains(ImmutableMap.of( A, Domain.all(BIGINT)))); assertEquals(TupleDomain.<ColumnHandle>all(), TupleDomain.withColumnDomains(ImmutableMap.<ColumnHandle, Domain>of())); }
private void assertTableIsBucketed(ConnectorTableHandle tableHandle) { // the bucketed test tables should have exactly 32 splits List<ConnectorSplit> splits = getAllSplits(tableHandle, TupleDomain.all()); assertEquals(splits.size(), 32); // verify all paths are unique Set<String> paths = new HashSet<>(); for (ConnectorSplit split : splits) { assertTrue(paths.add(((HiveSplit) split).getPath())); } }
public static <E extends TpchEntity> TpchRecordSet<E> createTpchRecordSet( TpchTable<E> table, List<TpchColumn<E>> columns, double scaleFactor, int part, int partCount, TupleDomain<ColumnHandle> predicate) { return new TpchRecordSet<>(table.createGenerator(scaleFactor, part, partCount), table, columns, predicate); }
@Test public void testAddresses() { // split uses "example" scheme so no addresses are available and is not remotely accessible assertEquals(split.getAddresses(), ImmutableList.of()); assertEquals(split.isRemotelyAccessible(), true); JdbcSplit jdbcSplit = new JdbcSplit("connectorId", "catalog", "schemaName", "tableName", TupleDomain.all(), Optional.empty()); assertEquals(jdbcSplit.getAddresses(), ImmutableList.of()); }
@Test public void testNoneColumnWiseUnion() { assertEquals(columnWiseUnion(TupleDomain.none(), TupleDomain.all()), TupleDomain.all()); assertEquals(columnWiseUnion(TupleDomain.all(), TupleDomain.none()), TupleDomain.all()); assertEquals(columnWiseUnion(TupleDomain.none(), TupleDomain.none()), TupleDomain.none()); assertEquals( columnWiseUnion( TupleDomain.withColumnDomains(ImmutableMap.of(A, Domain.onlyNull(BIGINT))), TupleDomain.withColumnDomains(ImmutableMap.of(A, Domain.notNull(BIGINT)))), TupleDomain.<ColumnHandle>all()); }
private void assertUnsupportedPredicate(Expression expression) { ExtractionResult result = fromPredicate(expression); assertEquals(result.getRemainingExpression(), expression); assertEquals(result.getTupleDomain(), TupleDomain.all()); }
@Test public void testEmptyColumns() { IonSqlQueryBuilder queryBuilder = new IonSqlQueryBuilder(new TypeRegistry()); assertEquals("SELECT ' ' FROM S3Object s", queryBuilder.buildSql(ImmutableList.of(), TupleDomain.all())); }
@Test public void testEmptyColumns() { IonSqlQueryBuilder queryBuilder = new IonSqlQueryBuilder(new TypeRegistry()); assertEquals("SELECT ' ' FROM S3Object s", queryBuilder.buildSql(ImmutableList.of(), TupleDomain.all())); }
@Test(expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = ".*" + INVALID_COLUMN + ".*") public void testGetRecordsInvalidColumn() throws Exception { try (Transaction transaction = newTransaction()) { ConnectorMetadata connectorMetadata = transaction.getMetadata(); ConnectorTableHandle table = getTableHandle(connectorMetadata, tableUnpartitioned); readTable(transaction, table, ImmutableList.of(invalidColumnHandle), newSession(), TupleDomain.all(), OptionalInt.empty(), Optional.empty()); } }
@Test public void testJsonRoundTrip() { MongoSplit expected = new MongoSplit(new SchemaTableName("schema1", "table1"), TupleDomain.all(), ImmutableList.of()); String json = codec.toJson(expected); MongoSplit actual = codec.fromJson(json); assertEquals(actual.getSchemaTableName(), expected.getSchemaTableName()); assertEquals(actual.getTupleDomain(), TupleDomain.<ColumnHandle>all()); assertEquals(actual.getAddresses(), ImmutableList.of()); } }
@Test public void testMapInt32ToPrestoDate() { // int32 primitive with original type of date should map to a Presto date PrimitiveType dateType = new PrimitiveType(OPTIONAL, PrimitiveTypeName.INT32, "date_col", OriginalType.DATE); ColumnDescriptor columnDescriptor = new ColumnDescriptor(new String[] {"date_col"}, PrimitiveTypeName.INT32, 0, 1); RichColumnDescriptor dateColumn = new RichColumnDescriptor(columnDescriptor, dateType); assertEquals(getPrestoType(TupleDomain.all(), dateColumn), DATE); } }
public TableScanNode tableScan(List<Symbol> symbols, Map<Symbol, ColumnHandle> assignments) { TableHandle tableHandle = new TableHandle(new ConnectorId("testConnector"), new TestingTableHandle()); return tableScan(tableHandle, symbols, assignments, Optional.empty(), TupleDomain.all(), TupleDomain.all()); }
@Test public void testEmptyTableBucketed() { long tableId = createTable("test"); List<ColumnInfo> columns = ImmutableList.of(new ColumnInfo(1, BIGINT)); shardManager.createTable(tableId, columns, true, OptionalLong.empty()); try (ResultIterator<BucketShards> iterator = shardManager.getShardNodesBucketed(tableId, true, ImmutableList.of(), TupleDomain.all())) { assertFalse(iterator.hasNext()); } }
@Test public void testEmptyTable() { long tableId = createTable("test"); List<ColumnInfo> columns = ImmutableList.of(new ColumnInfo(1, BIGINT)); shardManager.createTable(tableId, columns, false, OptionalLong.empty()); try (ResultIterator<BucketShards> iterator = shardManager.getShardNodes(tableId, TupleDomain.all())) { assertFalse(iterator.hasNext()); } }
@Test public void testNoneIntersection() { assertEquals(TupleDomain.none().intersect(TupleDomain.all()), TupleDomain.none()); assertEquals(TupleDomain.all().intersect(TupleDomain.none()), TupleDomain.none()); assertEquals(TupleDomain.none().intersect(TupleDomain.none()), TupleDomain.none()); assertEquals( TupleDomain.withColumnDomains(ImmutableMap.of(A, Domain.onlyNull(BIGINT))) .intersect(TupleDomain.withColumnDomains(ImmutableMap.of(A, Domain.notNull(BIGINT)))), TupleDomain.<ColumnHandle>none()); }