private ColumnHandle getColumnHandle(TpchTableHandle tpchTableHandle, Map<String, ColumnHandle> columnHandles, String columnName) { TpchTable<?> table = TpchTable.getTable(tpchTableHandle.getTableName()); return columnHandles.get(columnNaming.getName(table.getColumn(columnName))); }
if (!indexedData.getIndexedTable(tpchTableHandle.getTableName(), tpchTableHandle.getScaleFactor(), lookupColumnNames).isPresent()) { return Optional.empty(); tpchTableHandle.getTableName(), tpchTableHandle.getScaleFactor(), lookupColumnNames,
@Override public TableStatistics getTableStatistics(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint<ColumnHandle> constraint) { TpchTableHandle tpchTableHandle = (TpchTableHandle) tableHandle; String tableName = tpchTableHandle.getTableName(); TpchTable<?> tpchTable = TpchTable.getTable(tableName); Map<TpchColumn<?>, List<Object>> columnValuesRestrictions = ImmutableMap.of(); if (predicatePushdownEnabled) { columnValuesRestrictions = getColumnValuesRestrictions(tpchTable, constraint); } Optional<TableStatisticsData> optionalTableStatisticsData = statisticsEstimator.estimateStats(tpchTable, columnValuesRestrictions, tpchTableHandle.getScaleFactor()); Map<String, ColumnHandle> columnHandles = getColumnHandles(session, tpchTableHandle); return optionalTableStatisticsData .map(tableStatisticsData -> toTableStatistics(optionalTableStatisticsData.get(), tpchTableHandle, columnHandles)) .orElse(TableStatistics.empty()); }
@Override public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle tableHandle) { TpchTableHandle tpchTableHandle = (TpchTableHandle) tableHandle; TpchTable<?> tpchTable = TpchTable.getTable(tpchTableHandle.getTableName()); String schemaName = scaleFactorSchemaName(tpchTableHandle.getScaleFactor()); return getTableMetadata(schemaName, tpchTable, columnNaming); }
@Override public Void visitTableScan(TableScanNode node, Integer indent) { ConnectorTableHandle connectorTableHandle = node.getTable().getConnectorHandle(); if (connectorTableHandle instanceof TpcdsTableHandle) { output(indent, "scan %s", ((TpcdsTableHandle) connectorTableHandle).getTableName()); } else if (connectorTableHandle instanceof TpchTableHandle) { output(indent, "scan %s", ((TpchTableHandle) connectorTableHandle).getTableName()); } else { throw new IllegalStateException(format("Unexpected ConnectorTableHandle: %s", connectorTableHandle.getClass())); } return null; }
TupleDomain<ColumnHandle> unenforcedConstraint = constraint.getSummary(); Map<String, ColumnHandle> columns = getColumnHandles(session, tableHandle); if (tableHandle.getTableName().equals(TpchTable.ORDERS.getTableName())) { if (partitioningEnabled) { ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(OrderColumn.ORDER_KEY)); else if (predicatePushdownEnabled && tableHandle.getTableName().equals(TpchTable.PART.getTableName())) { predicate = toTupleDomain(ImmutableMap.of( toColumnHandle(PartColumn.CONTAINER), unenforcedConstraint = filterOutColumnFromPredicate(unenforcedConstraint, toColumnHandle(PartColumn.TYPE)); else if (tableHandle.getTableName().equals(TpchTable.LINE_ITEM.getTableName())) { if (partitioningEnabled) { ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(LineItemColumn.ORDER_KEY));
@Override public RecordSet getRecordSet(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorSplit split, List<? extends ColumnHandle> columns) { TpchSplit tpchSplit = (TpchSplit) split; String tableName = tpchSplit.getTableHandle().getTableName(); TpchTable<?> tpchTable = TpchTable.getTable(tableName); return getRecordSet(tpchTable, columns, tpchSplit.getTableHandle().getScaleFactor(), tpchSplit.getPartNumber(), tpchSplit.getTotalParts(), tpchSplit.getPredicate()); }
private ColumnHandle getColumnHandle(TpchTableHandle tpchTableHandle, Map<String, ColumnHandle> columnHandles, String columnName) { TpchTable<?> table = TpchTable.getTable(tpchTableHandle.getTableName()); return columnHandles.get(columnNaming.getName(table.getColumn(columnName))); }
if (!indexedData.getIndexedTable(tpchTableHandle.getTableName(), tpchTableHandle.getScaleFactor(), lookupColumnNames).isPresent()) { return Optional.empty(); tpchTableHandle.getTableName(), tpchTableHandle.getScaleFactor(), lookupColumnNames,
@Override public TableStatistics getTableStatistics(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint<ColumnHandle> constraint) { TpchTableHandle tpchTableHandle = (TpchTableHandle) tableHandle; String tableName = tpchTableHandle.getTableName(); TpchTable<?> tpchTable = TpchTable.getTable(tableName); Map<TpchColumn<?>, List<Object>> columnValuesRestrictions = ImmutableMap.of(); if (predicatePushdownEnabled) { columnValuesRestrictions = getColumnValuesRestrictions(tpchTable, constraint); } Optional<TableStatisticsData> optionalTableStatisticsData = statisticsEstimator.estimateStats(tpchTable, columnValuesRestrictions, tpchTableHandle.getScaleFactor()); Map<String, ColumnHandle> columnHandles = getColumnHandles(session, tpchTableHandle); return optionalTableStatisticsData .map(tableStatisticsData -> toTableStatistics(optionalTableStatisticsData.get(), tpchTableHandle, columnHandles)) .orElse(TableStatistics.empty()); }
@Override public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle tableHandle) { TpchTableHandle tpchTableHandle = (TpchTableHandle) tableHandle; TpchTable<?> tpchTable = TpchTable.getTable(tpchTableHandle.getTableName()); String schemaName = scaleFactorSchemaName(tpchTableHandle.getScaleFactor()); return getTableMetadata(schemaName, tpchTable, columnNaming); }
@Override public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle tableHandle) { TpchTableHandle tpchTableHandle = checkType(tableHandle, TpchTableHandle.class, "tableHandle"); TpchTable<?> tpchTable = TpchTable.getTable(tpchTableHandle.getTableName()); String schemaName = scaleFactorSchemaName(tpchTableHandle.getScaleFactor()); return getTableMetadata(schemaName, tpchTable); }
if (tableHandle.getTableName().equals(TpchTable.ORDERS.getTableName())) { ColumnHandle orderKeyColumn = columns.get(OrderColumn.ORDER_KEY.getColumnName()); nodePartition = Optional.of(new ConnectorNodePartitioning( localProperties = ImmutableList.of(new SortingProperty<>(orderKeyColumn, SortOrder.ASC_NULLS_FIRST)); else if (tableHandle.getTableName().equals(TpchTable.LINE_ITEM.getTableName())) { ColumnHandle orderKeyColumn = columns.get(OrderColumn.ORDER_KEY.getColumnName()); nodePartition = Optional.of(new ConnectorNodePartitioning(
TupleDomain<ColumnHandle> unenforcedConstraint = constraint.getSummary(); Map<String, ColumnHandle> columns = getColumnHandles(session, tableHandle); if (tableHandle.getTableName().equals(TpchTable.ORDERS.getTableName())) { if (partitioningEnabled) { ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(OrderColumn.ORDER_KEY)); else if (predicatePushdownEnabled && tableHandle.getTableName().equals(TpchTable.PART.getTableName())) { predicate = toTupleDomain(ImmutableMap.of( toColumnHandle(PartColumn.CONTAINER), unenforcedConstraint = filterOutColumnFromPredicate(unenforcedConstraint, toColumnHandle(PartColumn.TYPE)); else if (tableHandle.getTableName().equals(TpchTable.LINE_ITEM.getTableName())) { if (partitioningEnabled) { ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(LineItemColumn.ORDER_KEY));
@Override public RecordSet getRecordSet(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorSplit split, List<? extends ColumnHandle> columns) { TpchSplit tpchSplit = checkType(split, TpchSplit.class, "split"); String tableName = tpchSplit.getTableHandle().getTableName(); TpchTable<?> tpchTable = TpchTable.getTable(tableName); return getRecordSet(tpchTable, columns, tpchSplit.getTableHandle().getScaleFactor(), tpchSplit.getPartNumber(), tpchSplit.getTotalParts()); }
@Override public RecordSet getRecordSet(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorSplit split, List<? extends ColumnHandle> columns) { TpchSplit tpchSplit = (TpchSplit) split; String tableName = tpchSplit.getTableHandle().getTableName(); TpchTable<?> tpchTable = TpchTable.getTable(tableName); return getRecordSet(tpchTable, columns, tpchSplit.getTableHandle().getScaleFactor(), tpchSplit.getPartNumber(), tpchSplit.getTotalParts(), tpchSplit.getPredicate()); }