Search in sources :

Example 1 with Table

use of io.trino.plugin.raptor.legacy.metadata.Table in project trino by trinodb.

the class TestShardOrganizerUtil method testGetOrganizationEligibleShards.

@Test
public void testGetOrganizationEligibleShards() {
    int day1 = 1111;
    int day2 = 2222;
    SchemaTableName tableName = new SchemaTableName("default", "test");
    metadata.createTable(SESSION, tableMetadataBuilder(tableName).column("orderkey", BIGINT).column("orderdate", DATE).column("orderstatus", createVarcharType(3)).property("ordering", ImmutableList.of("orderstatus", "orderkey")).property("temporal_column", "orderdate").build(), false);
    Table tableInfo = metadataDao.getTableInformation(tableName.getSchemaName(), tableName.getTableName());
    List<TableColumn> tableColumns = metadataDao.listTableColumns(tableInfo.getTableId());
    Map<String, TableColumn> tableColumnMap = Maps.uniqueIndex(tableColumns, TableColumn::getColumnName);
    long orderDate = tableColumnMap.get("orderdate").getColumnId();
    long orderKey = tableColumnMap.get("orderkey").getColumnId();
    long orderStatus = tableColumnMap.get("orderstatus").getColumnId();
    List<ShardInfo> shards = ImmutableList.<ShardInfo>builder().add(shardInfo(UUID.randomUUID(), "node1", ImmutableList.of(new ColumnStats(orderDate, day1, day1 + 10), new ColumnStats(orderKey, 13L, 14L), new ColumnStats(orderStatus, "aaa", "abc")))).add(shardInfo(UUID.randomUUID(), "node1", ImmutableList.of(new ColumnStats(orderDate, day2, day2 + 100), new ColumnStats(orderKey, 2L, 20L), new ColumnStats(orderStatus, "aaa", "abc")))).add(shardInfo(UUID.randomUUID(), "node1", ImmutableList.of(new ColumnStats(orderDate, day1, day2), new ColumnStats(orderKey, 2L, 11L), new ColumnStats(orderStatus, "aaa", "abc")))).add(shardInfo(UUID.randomUUID(), "node1", ImmutableList.of(new ColumnStats(orderDate, day1, day2), new ColumnStats(orderKey, 2L, null), new ColumnStats(orderStatus, "aaa", "abc")))).add(shardInfo(UUID.randomUUID(), "node1", ImmutableList.of(new ColumnStats(orderDate, day1, null), new ColumnStats(orderKey, 2L, 11L), new ColumnStats(orderStatus, "aaa", "abc")))).build();
    long transactionId = shardManager.beginTransaction();
    shardManager.commitShards(transactionId, tableInfo.getTableId(), COLUMNS, shards, Optional.empty(), 0);
    Set<ShardMetadata> shardMetadatas = shardManager.getNodeShards("node1");
    Long temporalColumnId = metadataDao.getTemporalColumnId(tableInfo.getTableId());
    TableColumn temporalColumn = metadataDao.getTableColumn(tableInfo.getTableId(), temporalColumnId);
    Set<ShardIndexInfo> actual = ImmutableSet.copyOf(getOrganizationEligibleShards(dbi, metadataDao, tableInfo, shardMetadatas, false));
    List<ShardIndexInfo> expected = getShardIndexInfo(tableInfo, shards, temporalColumn, Optional.empty());
    assertEquals(actual, expected);
    List<TableColumn> sortColumns = metadataDao.listSortColumns(tableInfo.getTableId());
    Set<ShardIndexInfo> actualSortRange = ImmutableSet.copyOf(getOrganizationEligibleShards(dbi, metadataDao, tableInfo, shardMetadatas, true));
    List<ShardIndexInfo> expectedSortRange = getShardIndexInfo(tableInfo, shards, temporalColumn, Optional.of(sortColumns));
    assertEquals(actualSortRange, expectedSortRange);
}
Also used : Table(io.trino.plugin.raptor.legacy.metadata.Table) ShardMetadata(io.trino.plugin.raptor.legacy.metadata.ShardMetadata) SchemaTableName(io.trino.spi.connector.SchemaTableName) TableColumn(io.trino.plugin.raptor.legacy.metadata.TableColumn) ColumnStats(io.trino.plugin.raptor.legacy.metadata.ColumnStats) ShardInfo(io.trino.plugin.raptor.legacy.metadata.ShardInfo) Test(org.testng.annotations.Test)

Example 2 with Table

use of io.trino.plugin.raptor.legacy.metadata.Table in project trino by trinodb.

the class ShardCompactionManager method filterAndCreateCompactionSets.

private Collection<OrganizationSet> filterAndCreateCompactionSets(long tableId, Collection<ShardMetadata> tableShards) {
    Table tableInfo = metadataDao.getTableInformation(tableId);
    OptionalLong temporalColumnId = tableInfo.getTemporalColumnId();
    if (temporalColumnId.isPresent()) {
        TableColumn tableColumn = metadataDao.getTableColumn(tableId, temporalColumnId.getAsLong());
        if (!isValidTemporalColumn(tableId, tableColumn.getDataType())) {
            return ImmutableSet.of();
        }
    }
    Set<ShardMetadata> filteredShards = tableShards.stream().filter(this::needsCompaction).filter(shard -> !organizer.inProgress(shard.getShardUuid())).collect(toSet());
    Collection<ShardIndexInfo> shardIndexInfos = getOrganizationEligibleShards(dbi, metadataDao, tableInfo, filteredShards, false);
    if (tableInfo.getTemporalColumnId().isPresent()) {
        Set<ShardIndexInfo> temporalShards = shardIndexInfos.stream().filter(shard -> shard.getTemporalRange().isPresent()).collect(toSet());
        return compactionSetCreator.createCompactionSets(tableInfo, temporalShards);
    }
    return compactionSetCreator.createCompactionSets(tableInfo, shardIndexInfos);
}
Also used : ShardOrganizerUtil.getOrganizationEligibleShards(io.trino.plugin.raptor.legacy.storage.organization.ShardOrganizerUtil.getOrganizationEligibleShards) ListMultimap(com.google.common.collect.ListMultimap) Logger(io.airlift.log.Logger) TIMESTAMP_MILLIS(io.trino.spi.type.TimestampType.TIMESTAMP_MILLIS) NodeManager(io.trino.spi.NodeManager) Type(io.trino.spi.type.Type) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Multimaps(com.google.common.collect.Multimaps) Duration(io.airlift.units.Duration) Inject(javax.inject.Inject) PreDestroy(javax.annotation.PreDestroy) OptionalLong(java.util.OptionalLong) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) ForMetadata(io.trino.plugin.raptor.legacy.metadata.ForMetadata) Executors.newScheduledThreadPool(java.util.concurrent.Executors.newScheduledThreadPool) Threads.daemonThreadsNamed(io.airlift.concurrent.Threads.daemonThreadsNamed) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) Objects.requireNonNull(java.util.Objects.requireNonNull) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) MetadataDao(io.trino.plugin.raptor.legacy.metadata.MetadataDao) Collectors.toSet(java.util.stream.Collectors.toSet) Jdbi(org.jdbi.v3.core.Jdbi) ImmutableSet(com.google.common.collect.ImmutableSet) StorageManagerConfig(io.trino.plugin.raptor.legacy.storage.StorageManagerConfig) Collection(java.util.Collection) ShardMetadata(io.trino.plugin.raptor.legacy.metadata.ShardMetadata) Set(java.util.Set) TableColumn(io.trino.plugin.raptor.legacy.metadata.TableColumn) DatabaseUtil.onDemandDao(io.trino.plugin.raptor.legacy.util.DatabaseUtil.onDemandDao) Table(io.trino.plugin.raptor.legacy.metadata.Table) TimeUnit(java.util.concurrent.TimeUnit) DataSize(io.airlift.units.DataSize) List(java.util.List) ShardManager(io.trino.plugin.raptor.legacy.metadata.ShardManager) PostConstruct(javax.annotation.PostConstruct) Entry(java.util.Map.Entry) DATE(io.trino.spi.type.DateType.DATE) SECONDS(java.util.concurrent.TimeUnit.SECONDS) Table(io.trino.plugin.raptor.legacy.metadata.Table) ShardMetadata(io.trino.plugin.raptor.legacy.metadata.ShardMetadata) OptionalLong(java.util.OptionalLong) TableColumn(io.trino.plugin.raptor.legacy.metadata.TableColumn)

Example 3 with Table

use of io.trino.plugin.raptor.legacy.metadata.Table in project trino by trinodb.

the class ShardOrganizationManager method runOrganization.

private void runOrganization(long tableId) {
    Set<ShardMetadata> shardMetadatas = shardManager.getNodeShards(currentNodeIdentifier, tableId);
    Table tableInfo = metadataDao.getTableInformation(tableId);
    Set<ShardMetadata> filteredShards = shardMetadatas.stream().filter(shard -> !organizer.inProgress(shard.getShardUuid())).collect(toSet());
    Collection<ShardIndexInfo> indexInfos = getOrganizationEligibleShards(dbi, metadataDao, tableInfo, filteredShards, true);
    Set<OrganizationSet> organizationSets = createOrganizationSets(tableInfo, indexInfos);
    if (organizationSets.isEmpty()) {
        return;
    }
    log.info("Created %s organization set(s) from %s shards for table ID %s", organizationSets.size(), filteredShards.size(), tableId);
    long lastStartTime = System.currentTimeMillis();
    tablesInProgress.add(tableId);
    ImmutableList.Builder<CompletableFuture<?>> futures = ImmutableList.builder();
    for (OrganizationSet organizationSet : organizationSets) {
        futures.add(organizer.enqueue(organizationSet));
    }
    allAsList(futures.build()).whenComplete((value, throwable) -> {
        tablesInProgress.remove(tableId);
        organizerDao.updateLastStartTime(currentNodeIdentifier, tableId, lastStartTime);
    });
}
Also used : MoreFutures.allAsList(io.airlift.concurrent.MoreFutures.allAsList) ShardOrganizerUtil.getOrganizationEligibleShards(io.trino.plugin.raptor.legacy.storage.organization.ShardOrganizerUtil.getOrganizationEligibleShards) Logger(io.airlift.log.Logger) NodeManager(io.trino.spi.NodeManager) ShardOrganizerUtil.getShardsByDaysBuckets(io.trino.plugin.raptor.legacy.storage.organization.ShardOrganizerUtil.getShardsByDaysBuckets) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) CompletableFuture(java.util.concurrent.CompletableFuture) Duration(io.airlift.units.Duration) Inject(javax.inject.Inject) HashSet(java.util.HashSet) PreDestroy(javax.annotation.PreDestroy) Sets.difference(com.google.common.collect.Sets.difference) ImmutableList(com.google.common.collect.ImmutableList) ForMetadata(io.trino.plugin.raptor.legacy.metadata.ForMetadata) Executors.newScheduledThreadPool(java.util.concurrent.Executors.newScheduledThreadPool) Threads.daemonThreadsNamed(io.airlift.concurrent.Threads.daemonThreadsNamed) Map(java.util.Map) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) Objects.requireNonNull(java.util.Objects.requireNonNull) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) MetadataDao(io.trino.plugin.raptor.legacy.metadata.MetadataDao) Collectors.toSet(java.util.stream.Collectors.toSet) Jdbi(org.jdbi.v3.core.Jdbi) ImmutableSet(com.google.common.collect.ImmutableSet) StorageManagerConfig(io.trino.plugin.raptor.legacy.storage.StorageManagerConfig) Collection(java.util.Collection) Sets.newConcurrentHashSet(com.google.common.collect.Sets.newConcurrentHashSet) ShardMetadata(io.trino.plugin.raptor.legacy.metadata.ShardMetadata) Set(java.util.Set) MILLISECONDS(java.util.concurrent.TimeUnit.MILLISECONDS) DatabaseUtil.onDemandDao(io.trino.plugin.raptor.legacy.util.DatabaseUtil.onDemandDao) ComparisonChain(com.google.common.collect.ComparisonChain) Maps(com.google.common.collect.Maps) Table(io.trino.plugin.raptor.legacy.metadata.Table) TimeUnit(java.util.concurrent.TimeUnit) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) ShardOrganizerUtil.createOrganizationSet(io.trino.plugin.raptor.legacy.storage.organization.ShardOrganizerUtil.createOrganizationSet) ShardManager(io.trino.plugin.raptor.legacy.metadata.ShardManager) PostConstruct(javax.annotation.PostConstruct) Math.max(java.lang.Math.max) VisibleForTesting(com.google.common.annotations.VisibleForTesting) SECONDS(java.util.concurrent.TimeUnit.SECONDS) CompletableFuture(java.util.concurrent.CompletableFuture) Table(io.trino.plugin.raptor.legacy.metadata.Table) ImmutableList(com.google.common.collect.ImmutableList) ShardMetadata(io.trino.plugin.raptor.legacy.metadata.ShardMetadata) ShardOrganizerUtil.createOrganizationSet(io.trino.plugin.raptor.legacy.storage.organization.ShardOrganizerUtil.createOrganizationSet)

Example 4 with Table

use of io.trino.plugin.raptor.legacy.metadata.Table in project trino by trinodb.

the class RaptorMetadata method getTableHandle.

private RaptorTableHandle getTableHandle(SchemaTableName tableName) {
    requireNonNull(tableName, "tableName is null");
    Table table = dao.getTableInformation(tableName.getSchemaName(), tableName.getTableName());
    if (table == null) {
        return null;
    }
    List<TableColumn> tableColumns = dao.listTableColumns(table.getTableId());
    checkArgument(!tableColumns.isEmpty(), "Table '%s' does not have any columns", tableName);
    return new RaptorTableHandle(tableName.getSchemaName(), tableName.getTableName(), table.getTableId(), table.getDistributionId(), table.getDistributionName(), table.getBucketCount(), table.isOrganized(), OptionalLong.empty(), TupleDomain.all(), table.getDistributionId().map(shardManager::getBucketAssignments), false);
}
Also used : ColumnRangesSystemTable(io.trino.plugin.raptor.legacy.systemtables.ColumnRangesSystemTable) Table(io.trino.plugin.raptor.legacy.metadata.Table) ColumnRangesSystemTable.getSourceTable(io.trino.plugin.raptor.legacy.systemtables.ColumnRangesSystemTable.getSourceTable) SystemTable(io.trino.spi.connector.SystemTable) TableColumn(io.trino.plugin.raptor.legacy.metadata.TableColumn)

Example 5 with Table

use of io.trino.plugin.raptor.legacy.metadata.Table in project trino by trinodb.

the class RaptorMetadata method finishDelete.

@Override
public void finishDelete(ConnectorSession session, ConnectorTableHandle tableHandle, Collection<Slice> fragments) {
    RaptorTableHandle table = (RaptorTableHandle) tableHandle;
    long transactionId = table.getTransactionId().getAsLong();
    long tableId = table.getTableId();
    List<ColumnInfo> columns = getColumnHandles(session, tableHandle).values().stream().map(RaptorColumnHandle.class::cast).map(ColumnInfo::fromHandle).collect(toList());
    ImmutableSet.Builder<UUID> oldShardUuidsBuilder = ImmutableSet.builder();
    ImmutableList.Builder<ShardInfo> newShardsBuilder = ImmutableList.builder();
    fragments.stream().map(fragment -> SHARD_DELTA_CODEC.fromJson(fragment.getBytes())).forEach(delta -> {
        oldShardUuidsBuilder.addAll(delta.getOldShardUuids());
        newShardsBuilder.addAll(delta.getNewShards());
    });
    Set<UUID> oldShardUuids = oldShardUuidsBuilder.build();
    List<ShardInfo> newShards = newShardsBuilder.build();
    OptionalLong updateTime = OptionalLong.of(session.getStart().toEpochMilli());
    log.info("Finishing delete for tableId %s (removed: %s, rewritten: %s)", tableId, oldShardUuids.size() - newShards.size(), newShards.size());
    shardManager.replaceShardUuids(transactionId, tableId, columns, oldShardUuids, newShards, updateTime);
    clearRollback();
}
Also used : ORGANIZED_PROPERTY(io.trino.plugin.raptor.legacy.RaptorTableProperties.ORGANIZED_PROPERTY) SHARD_UUID_COLUMN_TYPE(io.trino.plugin.raptor.legacy.RaptorColumnHandle.SHARD_UUID_COLUMN_TYPE) NOT_SUPPORTED(io.trino.spi.StandardErrorCode.NOT_SUPPORTED) ObjectMapperProvider(io.airlift.json.ObjectMapperProvider) TableNotFoundException(io.trino.spi.connector.TableNotFoundException) RaptorTableProperties.isOrganized(io.trino.plugin.raptor.legacy.RaptorTableProperties.isOrganized) ShardDelta(io.trino.plugin.raptor.legacy.metadata.ShardDelta) RaptorColumnHandle.shardUuidColumnHandle(io.trino.plugin.raptor.legacy.RaptorColumnHandle.shardUuidColumnHandle) ConnectorOutputTableHandle(io.trino.spi.connector.ConnectorOutputTableHandle) ConnectorTableHandle(io.trino.spi.connector.ConnectorTableHandle) Map(java.util.Map) RaptorSessionProperties.getExternalBatchId(io.trino.plugin.raptor.legacy.RaptorSessionProperties.getExternalBatchId) RAPTOR_ERROR(io.trino.plugin.raptor.legacy.RaptorErrorCode.RAPTOR_ERROR) ViewNotFoundException(io.trino.spi.connector.ViewNotFoundException) Set(java.util.Set) DatabaseUtil.onDemandDao(io.trino.plugin.raptor.legacy.util.DatabaseUtil.onDemandDao) SchemaTableName(io.trino.spi.connector.SchemaTableName) ConnectorPartitioningHandle(io.trino.spi.connector.ConnectorPartitioningHandle) SchemaTablePrefix(io.trino.spi.connector.SchemaTablePrefix) ImmutableListMultimap(com.google.common.collect.ImmutableListMultimap) ConnectorTablePartitioning(io.trino.spi.connector.ConnectorTablePartitioning) DATE(io.trino.spi.type.DateType.DATE) ConnectorTableLayout(io.trino.spi.connector.ConnectorTableLayout) ConnectorInsertTableHandle(io.trino.spi.connector.ConnectorInsertTableHandle) Slice(io.airlift.slice.Slice) ColumnMetadata(io.trino.spi.connector.ColumnMetadata) TIMESTAMP_MILLIS(io.trino.spi.type.TimestampType.TIMESTAMP_MILLIS) ConnectorTableMetadata(io.trino.spi.connector.ConnectorTableMetadata) BUCKETED_ON_PROPERTY(io.trino.plugin.raptor.legacy.RaptorTableProperties.BUCKETED_ON_PROPERTY) Multimaps(com.google.common.collect.Multimaps) ArrayList(java.util.ArrayList) OptionalLong(java.util.OptionalLong) ColumnRangesSystemTable(io.trino.plugin.raptor.legacy.systemtables.ColumnRangesSystemTable) RaptorTableProperties.getSortColumns(io.trino.plugin.raptor.legacy.RaptorTableProperties.getSortColumns) ColumnHandle(io.trino.spi.connector.ColumnHandle) ORDERING_PROPERTY(io.trino.plugin.raptor.legacy.RaptorTableProperties.ORDERING_PROPERTY) INVALID_TABLE_PROPERTY(io.trino.spi.StandardErrorCode.INVALID_TABLE_PROPERTY) Jdbi(org.jdbi.v3.core.Jdbi) SHARD_UUID_COLUMN_NAME(io.trino.plugin.raptor.legacy.RaptorColumnHandle.SHARD_UUID_COLUMN_NAME) DatabaseUtil.runTransaction(io.trino.plugin.raptor.legacy.util.DatabaseUtil.runTransaction) MoreCollectors.toOptional(com.google.common.collect.MoreCollectors.toOptional) ConstraintApplicationResult(io.trino.spi.connector.ConstraintApplicationResult) DatabaseUtil.daoTransaction(io.trino.plugin.raptor.legacy.util.DatabaseUtil.daoTransaction) TableColumn(io.trino.plugin.raptor.legacy.metadata.TableColumn) Iterables.getOnlyElement(com.google.common.collect.Iterables.getOnlyElement) ConnectorSession(io.trino.spi.connector.ConnectorSession) Table(io.trino.plugin.raptor.legacy.metadata.Table) JsonCodec.jsonCodec(io.airlift.json.JsonCodec.jsonCodec) ShardInfo(io.trino.plugin.raptor.legacy.metadata.ShardInfo) ConnectorTableProperties(io.trino.spi.connector.ConnectorTableProperties) TreeMap(java.util.TreeMap) ShardManager(io.trino.plugin.raptor.legacy.metadata.ShardManager) RaptorColumnHandle.bucketNumberColumnHandle(io.trino.plugin.raptor.legacy.RaptorColumnHandle.bucketNumberColumnHandle) ColumnInfo(io.trino.plugin.raptor.legacy.metadata.ColumnInfo) ViewResult(io.trino.plugin.raptor.legacy.metadata.ViewResult) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) RaptorTableProperties.getBucketColumns(io.trino.plugin.raptor.legacy.RaptorTableProperties.getBucketColumns) RaptorSessionProperties.getOneSplitPerBucketThreshold(io.trino.plugin.raptor.legacy.RaptorSessionProperties.getOneSplitPerBucketThreshold) ALREADY_EXISTS(io.trino.spi.StandardErrorCode.ALREADY_EXISTS) ConnectorViewDefinition(io.trino.spi.connector.ConnectorViewDefinition) INTEGER(io.trino.spi.type.IntegerType.INTEGER) MetadataDao(io.trino.plugin.raptor.legacy.metadata.MetadataDao) ImmutableSet(com.google.common.collect.ImmutableSet) ImmutableMap(com.google.common.collect.ImmutableMap) Collections.nCopies(java.util.Collections.nCopies) Collection(java.util.Collection) ColumnRangesSystemTable.getSourceTable(io.trino.plugin.raptor.legacy.systemtables.ColumnRangesSystemTable.getSourceTable) ComputedStatistics(io.trino.spi.statistics.ComputedStatistics) TrinoException(io.trino.spi.TrinoException) UUID(java.util.UUID) ConnectorOutputMetadata(io.trino.spi.connector.ConnectorOutputMetadata) ASC_NULLS_FIRST(io.trino.spi.connector.SortOrder.ASC_NULLS_FIRST) String.format(java.lang.String.format) Preconditions.checkState(com.google.common.base.Preconditions.checkState) DISTRIBUTION_NAME_PROPERTY(io.trino.plugin.raptor.legacy.RaptorTableProperties.DISTRIBUTION_NAME_PROPERTY) List(java.util.List) BUCKET_COUNT_PROPERTY(io.trino.plugin.raptor.legacy.RaptorTableProperties.BUCKET_COUNT_PROPERTY) JsonCodecFactory(io.airlift.json.JsonCodecFactory) Optional(java.util.Optional) ConnectorMetadata(io.trino.spi.connector.ConnectorMetadata) SystemTable(io.trino.spi.connector.SystemTable) SortedMap(java.util.SortedMap) JsonCodec(io.airlift.json.JsonCodec) RaptorColumnHandle.isHiddenColumn(io.trino.plugin.raptor.legacy.RaptorColumnHandle.isHiddenColumn) RaptorColumnHandle.shardRowIdHandle(io.trino.plugin.raptor.legacy.RaptorColumnHandle.shardRowIdHandle) Constraint(io.trino.spi.connector.Constraint) Logger(io.airlift.log.Logger) Type(io.trino.spi.type.Type) OptionalInt(java.util.OptionalInt) AtomicReference(java.util.concurrent.atomic.AtomicReference) Collectors.toCollection(java.util.stream.Collectors.toCollection) Distribution(io.trino.plugin.raptor.legacy.metadata.Distribution) RaptorTableProperties.getDistributionName(io.trino.plugin.raptor.legacy.RaptorTableProperties.getDistributionName) ImmutableList(com.google.common.collect.ImmutableList) BUCKET_NUMBER_COLUMN_NAME(io.trino.plugin.raptor.legacy.RaptorColumnHandle.BUCKET_NUMBER_COLUMN_NAME) Objects.requireNonNull(java.util.Objects.requireNonNull) NOT_FOUND(io.trino.spi.StandardErrorCode.NOT_FOUND) RaptorTableProperties.getTemporalColumn(io.trino.plugin.raptor.legacy.RaptorTableProperties.getTemporalColumn) TupleDomain(io.trino.spi.predicate.TupleDomain) Maps(com.google.common.collect.Maps) LongConsumer(java.util.function.LongConsumer) TEMPORAL_COLUMN_PROPERTY(io.trino.plugin.raptor.legacy.RaptorTableProperties.TEMPORAL_COLUMN_PROPERTY) RaptorBucketFunction.validateBucketType(io.trino.plugin.raptor.legacy.RaptorBucketFunction.validateBucketType) Collectors.toList(java.util.stream.Collectors.toList) DatabaseUtil.runIgnoringConstraintViolation(io.trino.plugin.raptor.legacy.util.DatabaseUtil.runIgnoringConstraintViolation) RaptorTableProperties.getBucketCount(io.trino.plugin.raptor.legacy.RaptorTableProperties.getBucketCount) ImmutableList(com.google.common.collect.ImmutableList) ColumnInfo(io.trino.plugin.raptor.legacy.metadata.ColumnInfo) ImmutableSet(com.google.common.collect.ImmutableSet) OptionalLong(java.util.OptionalLong) UUID(java.util.UUID) ShardInfo(io.trino.plugin.raptor.legacy.metadata.ShardInfo)

Aggregations

Table (io.trino.plugin.raptor.legacy.metadata.Table)5 TableColumn (io.trino.plugin.raptor.legacy.metadata.TableColumn)4 ImmutableSet (com.google.common.collect.ImmutableSet)3 Logger (io.airlift.log.Logger)3 MetadataDao (io.trino.plugin.raptor.legacy.metadata.MetadataDao)3 ShardManager (io.trino.plugin.raptor.legacy.metadata.ShardManager)3 ShardMetadata (io.trino.plugin.raptor.legacy.metadata.ShardMetadata)3 DatabaseUtil.onDemandDao (io.trino.plugin.raptor.legacy.util.DatabaseUtil.onDemandDao)3 Collection (java.util.Collection)3 List (java.util.List)3 Objects.requireNonNull (java.util.Objects.requireNonNull)3 Set (java.util.Set)3 Jdbi (org.jdbi.v3.core.Jdbi)3 Preconditions.checkArgument (com.google.common.base.Preconditions.checkArgument)2 ImmutableList (com.google.common.collect.ImmutableList)2 Maps (com.google.common.collect.Maps)2 Multimaps (com.google.common.collect.Multimaps)2 Threads.daemonThreadsNamed (io.airlift.concurrent.Threads.daemonThreadsNamed)2 Duration (io.airlift.units.Duration)2 ForMetadata (io.trino.plugin.raptor.legacy.metadata.ForMetadata)2