@VisibleForTesting TpchColumnHandle toColumnHandle(TpchColumn<?> column) { return new TpchColumnHandle(columnNaming.getName(column), getPrestoType(column)); }
@Setup public void setup() { String tpch = "tpch"; session = testSessionBuilder() .setCatalog(tpch) .setSchema("sf1") .setSystemProperty("iterative_optimizer_enabled", iterativeOptimizerEnabled) .build(); queryRunner = new LocalQueryRunner(session); queryRunner.createCatalog(tpch, new TpchConnectorFactory(4), ImmutableMap.of(TPCH_COLUMN_NAMING_PROPERTY, ColumnNaming.STANDARD.name())); queries = IntStream.rangeClosed(1, 22) .boxed() .filter(i -> i != 15) // q15 has two queries in it .map(i -> readResource(String.format("/io/airlift/tpch/queries/q%d.sql", i))) .collect(toImmutableList()); }
@BeforeClass public void setup() throws Exception { DistributedQueryRunner runner = TpchQueryRunnerBuilder.builder() // We are not able to calculate stats for PARTIAL aggregations .amendSession(builder -> builder.setSystemProperty(PREFER_PARTIAL_AGGREGATION, "false")) .buildWithoutCatalogs(); runner.createCatalog( "tpch", "tpch", ImmutableMap.of(TPCH_COLUMN_NAMING_PROPERTY, ColumnNaming.STANDARD.name())); statisticsAssertion = new StatisticsAssertion(runner); }
@Setup public void setup() { String tpch = "tpch"; session = testSessionBuilder() .setCatalog(tpch) .setSchema("sf1") .setSystemProperty("iterative_optimizer_enabled", iterativeOptimizerEnabled) .build(); queryRunner = new LocalQueryRunner(session); queryRunner.createCatalog(tpch, new TpchConnectorFactory(4), ImmutableMap.of(TPCH_COLUMN_NAMING_PROPERTY, ColumnNaming.STANDARD.name())); queries = IntStream.rangeClosed(1, 22) .boxed() .filter(i -> i != 15) // q15 has two queries in it .map(i -> readResource(String.format("/io/airlift/tpch/queries/q%d.sql", i))) .collect(toImmutableList()); }
@VisibleForTesting TpchColumnHandle toColumnHandle(TpchColumn<?> column) { return new TpchColumnHandle(columnNaming.getName(column), getPrestoType(column)); }
@BeforeClass public void setUp() { Session defaultSession = testSessionBuilder() .setCatalog("tpch") .setSchema(TINY_SCHEMA_NAME) // We are not able to calculate stats for PARTIAL aggregations .setSystemProperty(PREFER_PARTIAL_AGGREGATION, "false") .build(); LocalQueryRunner queryRunner = new LocalQueryRunner(defaultSession); queryRunner.createCatalog( "tpch", new TpchConnectorFactory(1), ImmutableMap.of(TPCH_COLUMN_NAMING_PROPERTY, ColumnNaming.STANDARD.name())); statisticsAssertion = new StatisticsAssertion(queryRunner); }
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))); }
public TestTpchCostBasedPlan() { super(() -> { String catalog = "local"; SessionBuilder sessionBuilder = testSessionBuilder() .setCatalog(catalog) .setSchema("sf3000.0") .setSystemProperty("task_concurrency", "1") // these tests don't handle exchanges from local parallel .setSystemProperty(JOIN_REORDERING_STRATEGY, JoinReorderingStrategy.AUTOMATIC.name()) .setSystemProperty(JOIN_DISTRIBUTION_TYPE, JoinDistributionType.AUTOMATIC.name()); LocalQueryRunner queryRunner = LocalQueryRunner.queryRunnerWithFakeNodeCountForStats(sessionBuilder.build(), 8); queryRunner.createCatalog( catalog, new TpchConnectorFactory(1, false, false), ImmutableMap.of(TPCH_COLUMN_NAMING_PROPERTY, ColumnNaming.SIMPLIFIED.name())); return queryRunner; }); }
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))); }
private static ConnectorTableMetadata getTableMetadata(String schemaName, TpchTable<?> tpchTable, ColumnNaming columnNaming) { ImmutableList.Builder<ColumnMetadata> columns = ImmutableList.builder(); for (TpchColumn<? extends TpchEntity> column : tpchTable.getColumns()) { columns.add(new ColumnMetadata(columnNaming.getName(column), getPrestoType(column))); } columns.add(new ColumnMetadata(ROW_NUMBER_COLUMN_NAME, BIGINT, null, true)); SchemaTableName tableName = new SchemaTableName(schemaName, tpchTable.getTableName()); return new ConnectorTableMetadata(tableName, columns.build()); }
private static ConnectorTableMetadata getTableMetadata(String schemaName, TpchTable<?> tpchTable, ColumnNaming columnNaming) { ImmutableList.Builder<ColumnMetadata> columns = ImmutableList.builder(); for (TpchColumn<? extends TpchEntity> column : tpchTable.getColumns()) { columns.add(new ColumnMetadata(columnNaming.getName(column), getPrestoType(column))); } columns.add(new ColumnMetadata(ROW_NUMBER_COLUMN_NAME, BIGINT, null, true)); SchemaTableName tableName = new SchemaTableName(schemaName, tpchTable.getTableName()); return new ConnectorTableMetadata(tableName, columns.build()); }
if (tableHandle.getTableName().equals(TpchTable.ORDERS.getTableName())) { if (partitioningEnabled) { ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(OrderColumn.ORDER_KEY)); tablePartitioning = Optional.of(new ConnectorTablePartitioning( new TpchPartitioningHandle( ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(LineItemColumn.ORDER_KEY)); tablePartitioning = Optional.of(new ConnectorTablePartitioning( new TpchPartitioningHandle( localProperties = ImmutableList.of( new SortingProperty<>(orderKeyColumn, SortOrder.ASC_NULLS_FIRST), new SortingProperty<>(columns.get(columnNaming.getName(LineItemColumn.LINE_NUMBER)), SortOrder.ASC_NULLS_FIRST));
if (tableHandle.getTableName().equals(TpchTable.ORDERS.getTableName())) { if (partitioningEnabled) { ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(OrderColumn.ORDER_KEY)); tablePartitioning = Optional.of(new ConnectorTablePartitioning( new TpchPartitioningHandle( ColumnHandle orderKeyColumn = columns.get(columnNaming.getName(LineItemColumn.ORDER_KEY)); tablePartitioning = Optional.of(new ConnectorTablePartitioning( new TpchPartitioningHandle( localProperties = ImmutableList.of( new SortingProperty<>(orderKeyColumn, SortOrder.ASC_NULLS_FIRST), new SortingProperty<>(columns.get(columnNaming.getName(LineItemColumn.LINE_NUMBER)), SortOrder.ASC_NULLS_FIRST));