diff --git a/core/trino-main/src/main/java/io/trino/metadata/Metadata.java b/core/trino-main/src/main/java/io/trino/metadata/Metadata.java index f8e9b66d8eb9..6a59e4f8d921 100644 --- a/core/trino-main/src/main/java/io/trino/metadata/Metadata.java +++ b/core/trino-main/src/main/java/io/trino/metadata/Metadata.java @@ -97,7 +97,7 @@ Optional getTableHandleForExecute( String procedureName, Map executeProperties); - Optional getLayoutForTableExecute(Session session, TableExecuteHandle tableExecuteHandle); + Optional getLayoutForTableExecute(Session session, TableExecuteHandle tableExecuteHandle); BeginTableExecuteResult beginTableExecute(Session session, TableExecuteHandle handle, TableHandle updatedSourceTableHandle); @@ -250,19 +250,19 @@ Optional getTableHandleForExecute( */ void truncateTable(Session session, TableHandle tableHandle); - Optional getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata); + Optional getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata); /** * Begin the atomic creation of a table with data. */ - OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional layout); + OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional layout); /** * Finish a table creation with data after the data is written. */ Optional finishCreateTable(Session session, OutputTableHandle tableHandle, Collection fragments, Collection computedStatistics); - Optional getInsertLayout(Session session, TableHandle target); + Optional getInsertLayout(Session session, TableHandle target); /** * Describes statistics that must be collected during a write. diff --git a/core/trino-main/src/main/java/io/trino/metadata/MetadataManager.java b/core/trino-main/src/main/java/io/trino/metadata/MetadataManager.java index 92709b54f41a..8c45bc1980a9 100644 --- a/core/trino-main/src/main/java/io/trino/metadata/MetadataManager.java +++ b/core/trino-main/src/main/java/io/trino/metadata/MetadataManager.java @@ -382,14 +382,14 @@ public Optional getTableHandleForExecute(Session session, Ta } @Override - public Optional getLayoutForTableExecute(Session session, TableExecuteHandle tableExecuteHandle) + public Optional getLayoutForTableExecute(Session session, TableExecuteHandle tableExecuteHandle) { CatalogName catalogName = tableExecuteHandle.getCatalogName(); CatalogMetadata catalogMetadata = getCatalogMetadataForWrite(session, catalogName); ConnectorMetadata metadata = catalogMetadata.getMetadata(); return metadata.getLayoutForTableExecute(session.toConnectorSession(catalogName), tableExecuteHandle.getConnectorHandle()) - .map(layout -> new NewTableLayout(catalogName, catalogMetadata.getTransactionHandleFor(catalogName), layout)); + .map(layout -> new TableLayout(catalogName, catalogMetadata.getTransactionHandleFor(catalogName), layout)); } @Override @@ -806,14 +806,14 @@ public void truncateTable(Session session, TableHandle tableHandle) } @Override - public Optional getInsertLayout(Session session, TableHandle table) + public Optional getInsertLayout(Session session, TableHandle table) { CatalogName catalogName = table.getCatalogName(); CatalogMetadata catalogMetadata = getCatalogMetadataForWrite(session, catalogName); ConnectorMetadata metadata = catalogMetadata.getMetadata(); return metadata.getInsertLayout(session.toConnectorSession(catalogName), table.getConnectorHandle()) - .map(layout -> new NewTableLayout(catalogName, catalogMetadata.getTransactionHandleFor(catalogName), layout)); + .map(layout -> new TableLayout(catalogName, catalogMetadata.getTransactionHandleFor(catalogName), layout)); } @Override @@ -855,7 +855,7 @@ public void finishStatisticsCollection(Session session, AnalyzeTableHandle table } @Override - public Optional getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata) { CatalogMetadata catalogMetadata = getCatalogMetadataForWrite(session, catalogName); CatalogName catalog = catalogMetadata.getCatalogName(); @@ -864,7 +864,7 @@ public Optional getNewTableLayout(Session session, String catalo ConnectorTransactionHandle transactionHandle = catalogMetadata.getTransactionHandleFor(catalog); ConnectorSession connectorSession = session.toConnectorSession(catalog); return metadata.getNewTableLayout(connectorSession, tableMetadata) - .map(layout -> new NewTableLayout(catalog, transactionHandle, layout)); + .map(layout -> new TableLayout(catalog, transactionHandle, layout)); } @Override @@ -877,7 +877,7 @@ public void cleanupQuery(Session session) } @Override - public OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional layout) + public OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional layout) { CatalogMetadata catalogMetadata = getCatalogMetadataForWrite(session, catalogName); CatalogName catalog = catalogMetadata.getCatalogName(); @@ -885,7 +885,7 @@ public OutputTableHandle beginCreateTable(Session session, String catalogName, C ConnectorTransactionHandle transactionHandle = catalogMetadata.getTransactionHandleFor(catalog); ConnectorSession connectorSession = session.toConnectorSession(catalog); - ConnectorOutputTableHandle handle = metadata.beginCreateTable(connectorSession, tableMetadata, layout.map(NewTableLayout::getLayout), getRetryPolicy(session).getRetryMode()); + ConnectorOutputTableHandle handle = metadata.beginCreateTable(connectorSession, tableMetadata, layout.map(TableLayout::getLayout), getRetryPolicy(session).getRetryMode()); // TODO this should happen after finish but there is no way to get table name in finish step if (catalogMetadata.getSecurityManagement() == SecurityManagement.SYSTEM) { systemSecurityMetadata.tableCreated(session, new CatalogSchemaTableName(catalogName, tableMetadata.getTable())); diff --git a/core/trino-main/src/main/java/io/trino/metadata/NewTableLayout.java b/core/trino-main/src/main/java/io/trino/metadata/TableLayout.java similarity index 89% rename from core/trino-main/src/main/java/io/trino/metadata/NewTableLayout.java rename to core/trino-main/src/main/java/io/trino/metadata/TableLayout.java index 37c9475e49e2..1d596891178a 100644 --- a/core/trino-main/src/main/java/io/trino/metadata/NewTableLayout.java +++ b/core/trino-main/src/main/java/io/trino/metadata/TableLayout.java @@ -16,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import io.trino.connector.CatalogName; -import io.trino.spi.connector.ConnectorNewTableLayout; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTransactionHandle; import io.trino.sql.planner.PartitioningHandle; @@ -27,17 +27,17 @@ import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; -public class NewTableLayout +public class TableLayout { private final CatalogName catalogName; private final ConnectorTransactionHandle transactionHandle; - private final ConnectorNewTableLayout layout; + private final ConnectorTableLayout layout; @JsonCreator - public NewTableLayout( + public TableLayout( @JsonProperty("catalogName") CatalogName catalogName, @JsonProperty("transactionHandle") ConnectorTransactionHandle transactionHandle, - @JsonProperty("layout") ConnectorNewTableLayout layout) + @JsonProperty("layout") ConnectorTableLayout layout) { this.catalogName = requireNonNull(catalogName, "catalogName is null"); this.transactionHandle = requireNonNull(transactionHandle, "transactionHandle is null"); @@ -51,7 +51,7 @@ public CatalogName getCatalogName() } @JsonProperty - public ConnectorNewTableLayout getLayout() + public ConnectorTableLayout getLayout() { return layout; } @@ -77,7 +77,7 @@ public boolean equals(Object o) return false; } - NewTableLayout that = (NewTableLayout) o; + TableLayout that = (TableLayout) o; return Objects.equals(catalogName, that.catalogName) && Objects.equals(transactionHandle, that.transactionHandle) && Objects.equals(layout, that.layout); diff --git a/core/trino-main/src/main/java/io/trino/sql/analyzer/Analysis.java b/core/trino-main/src/main/java/io/trino/sql/analyzer/Analysis.java index fa30bd00c98e..48f1702c8b22 100644 --- a/core/trino-main/src/main/java/io/trino/sql/analyzer/Analysis.java +++ b/core/trino-main/src/main/java/io/trino/sql/analyzer/Analysis.java @@ -23,11 +23,11 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Multiset; import com.google.common.collect.Streams; -import io.trino.metadata.NewTableLayout; import io.trino.metadata.QualifiedObjectName; import io.trino.metadata.ResolvedFunction; import io.trino.metadata.TableExecuteHandle; import io.trino.metadata.TableHandle; +import io.trino.metadata.TableLayout; import io.trino.security.AccessControl; import io.trino.security.SecurityContext; import io.trino.spi.QueryId; @@ -1187,14 +1187,14 @@ public static final class Create { private final Optional destination; private final Optional metadata; - private final Optional layout; + private final Optional layout; private final boolean createTableAsSelectWithData; private final boolean createTableAsSelectNoOp; public Create( Optional destination, Optional metadata, - Optional layout, + Optional layout, boolean createTableAsSelectWithData, boolean createTableAsSelectNoOp) { @@ -1215,7 +1215,7 @@ public Optional getMetadata() return metadata; } - public Optional getLayout() + public Optional getLayout() { return layout; } @@ -1237,9 +1237,9 @@ public static final class Insert private final Table table; private final TableHandle target; private final List columns; - private final Optional newTableLayout; + private final Optional newTableLayout; - public Insert(Table table, TableHandle target, List columns, Optional newTableLayout) + public Insert(Table table, TableHandle target, List columns, Optional newTableLayout) { this.table = requireNonNull(table, "table is null"); this.target = requireNonNull(target, "target is null"); @@ -1263,7 +1263,7 @@ public TableHandle getTarget() return target; } - public Optional getNewTableLayout() + public Optional getNewTableLayout() { return newTableLayout; } diff --git a/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java b/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java index e240ead0469b..ee29cc8dbe3c 100644 --- a/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java +++ b/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java @@ -32,7 +32,6 @@ import io.trino.metadata.FunctionKind; import io.trino.metadata.MaterializedViewDefinition; import io.trino.metadata.Metadata; -import io.trino.metadata.NewTableLayout; import io.trino.metadata.OperatorNotFoundException; import io.trino.metadata.QualifiedObjectName; import io.trino.metadata.RedirectionAwareTableHandle; @@ -40,6 +39,7 @@ import io.trino.metadata.SessionPropertyManager; import io.trino.metadata.TableExecuteHandle; import io.trino.metadata.TableHandle; +import io.trino.metadata.TableLayout; import io.trino.metadata.TableMetadata; import io.trino.metadata.TableProceduresPropertyManager; import io.trino.metadata.TableProceduresRegistry; @@ -487,7 +487,7 @@ protected Scope visitInsert(Insert insert, Optional scope) .collect(toImmutableList()); // analyze target table layout, table columns should contain all partition columns - Optional newTableLayout = metadata.getInsertLayout(session, targetTableHandle.get()); + Optional newTableLayout = metadata.getInsertLayout(session, targetTableHandle.get()); newTableLayout.ifPresent(layout -> { if (!ImmutableSet.copyOf(tableColumns).containsAll(layout.getPartitionColumns())) { throw new TrinoException(NOT_SUPPORTED, "INSERT must write all distribution columns: " + layout.getPartitionColumns()); @@ -851,14 +851,14 @@ protected Scope visitCreateTableAsSelect(CreateTableAsSelect node, Optional newTableLayout = metadata.getNewTableLayout(session, targetTable.getCatalogName(), tableMetadata); + Optional newTableLayout = metadata.getNewTableLayout(session, targetTable.getCatalogName(), tableMetadata); Set columnNames = columns.build().stream() .map(ColumnMetadata::getName) .collect(toImmutableSet()); if (newTableLayout.isPresent()) { - NewTableLayout layout = newTableLayout.get(); + TableLayout layout = newTableLayout.get(); if (!columnNames.containsAll(layout.getPartitionColumns())) { if (layout.getLayout().getPartitioning().isPresent()) { throw new TrinoException(NOT_SUPPORTED, "INSERT must write all distribution columns: " + layout.getPartitionColumns()); diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/LogicalPlanner.java b/core/trino-main/src/main/java/io/trino/sql/planner/LogicalPlanner.java index 0bfe5a8b779a..84880a9f48de 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/LogicalPlanner.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/LogicalPlanner.java @@ -26,11 +26,11 @@ import io.trino.cost.StatsProvider; import io.trino.execution.warnings.WarningCollector; import io.trino.metadata.Metadata; -import io.trino.metadata.NewTableLayout; import io.trino.metadata.QualifiedObjectName; import io.trino.metadata.ResolvedFunction; import io.trino.metadata.TableExecuteHandle; import io.trino.metadata.TableHandle; +import io.trino.metadata.TableLayout; import io.trino.metadata.TableMetadata; import io.trino.spi.StandardErrorCode; import io.trino.spi.TrinoException; @@ -374,7 +374,7 @@ private RelationPlan createTableCreationPlan(Analysis analysis, Query query) ConnectorTableMetadata tableMetadata = create.getMetadata().orElseThrow(); - Optional newTableLayout = create.getLayout(); + Optional newTableLayout = create.getLayout(); List columnNames = tableMetadata.getColumns().stream() .filter(column -> !column.isHidden()) // todo this filter is redundant @@ -400,7 +400,7 @@ private RelationPlan getInsertPlan( Query query, TableHandle tableHandle, List insertColumns, - Optional newTableLayout, + Optional newTableLayout, Optional materializedViewRefreshWriterTarget) { TableMetadata tableMetadata = metadata.getTableMetadata(session, tableHandle); @@ -529,7 +529,7 @@ private RelationPlan createInsertPlan(Analysis analysis, Insert insertStatement) Analysis.Insert insert = analysis.getInsert().orElseThrow(); TableHandle tableHandle = insert.getTarget(); Query query = insertStatement.getQuery(); - Optional newTableLayout = insert.getNewTableLayout(); + Optional newTableLayout = insert.getNewTableLayout(); return getInsertPlan(analysis, insert.getTable(), query, tableHandle, insert.getColumns(), newTableLayout, Optional.empty()); } @@ -548,7 +548,7 @@ private RelationPlan createRefreshMaterializedViewPlan(Analysis analysis) Analysis.RefreshMaterializedViewAnalysis viewAnalysis = analysis.getRefreshMaterializedView().get(); TableHandle tableHandle = viewAnalysis.getTarget(); Query query = viewAnalysis.getQuery(); - Optional newTableLayout = metadata.getInsertLayout(session, viewAnalysis.getTarget()); + Optional newTableLayout = metadata.getInsertLayout(session, viewAnalysis.getTarget()); TableWriterNode.RefreshMaterializedViewReference writerTarget = new TableWriterNode.RefreshMaterializedViewReference( viewAnalysis.getTable(), tableHandle, @@ -563,7 +563,7 @@ private RelationPlan createTableWriterPlan( WriterTarget target, List columnNames, List columnMetadataList, - Optional writeTableLayout, + Optional writeTableLayout, TableStatisticsMetadata statisticsMetadata) { Optional partitioningScheme = Optional.empty(); @@ -833,7 +833,7 @@ private RelationPlan createTableExecutePlan(Analysis analysis, TableExecute stat TableWriterNode.TableExecuteTarget tableExecuteTarget = new TableWriterNode.TableExecuteTarget(executeHandle, Optional.empty(), tableName.asSchemaTableName()); - Optional layout = metadata.getLayoutForTableExecute(session, executeHandle); + Optional layout = metadata.getLayoutForTableExecute(session, executeHandle); List symbols = visibleFields(tableScanPlan); diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/plan/TableWriterNode.java b/core/trino-main/src/main/java/io/trino/sql/planner/plan/TableWriterNode.java index c432162110d5..980d5d53adcf 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/plan/TableWriterNode.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/plan/TableWriterNode.java @@ -22,10 +22,10 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import io.trino.metadata.InsertTableHandle; -import io.trino.metadata.NewTableLayout; import io.trino.metadata.OutputTableHandle; import io.trino.metadata.TableExecuteHandle; import io.trino.metadata.TableHandle; +import io.trino.metadata.TableLayout; import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.SchemaTableName; @@ -216,9 +216,9 @@ public static class CreateReference { private final String catalog; private final ConnectorTableMetadata tableMetadata; - private final Optional layout; + private final Optional layout; - public CreateReference(String catalog, ConnectorTableMetadata tableMetadata, Optional layout) + public CreateReference(String catalog, ConnectorTableMetadata tableMetadata, Optional layout) { this.catalog = requireNonNull(catalog, "catalog is null"); this.tableMetadata = requireNonNull(tableMetadata, "tableMetadata is null"); @@ -235,7 +235,7 @@ public ConnectorTableMetadata getTableMetadata() return tableMetadata; } - public Optional getLayout() + public Optional getLayout() { return layout; } diff --git a/core/trino-main/src/main/java/io/trino/testing/TestingMetadata.java b/core/trino-main/src/main/java/io/trino/testing/TestingMetadata.java index 5c1d46a3b29d..e9394a5af9bc 100644 --- a/core/trino-main/src/main/java/io/trino/testing/TestingMetadata.java +++ b/core/trino-main/src/main/java/io/trino/testing/TestingMetadata.java @@ -25,11 +25,11 @@ import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorViewDefinition; @@ -276,7 +276,7 @@ public void markMaterializedViewIsFresh(SchemaTableName name) } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { createTable(session, tableMetadata, false); return TestingHandle.INSTANCE; diff --git a/core/trino-main/src/test/java/io/trino/connector/MockConnector.java b/core/trino-main/src/test/java/io/trino/connector/MockConnector.java index 728a473e2634..f9488cb486d0 100644 --- a/core/trino-main/src/test/java/io/trino/connector/MockConnector.java +++ b/core/trino-main/src/test/java/io/trino/connector/MockConnector.java @@ -29,7 +29,6 @@ import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorPageSink; @@ -41,6 +40,7 @@ import io.trino.spi.connector.ConnectorSplitManager; import io.trino.spi.connector.ConnectorSplitSource; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorTransactionHandle; @@ -118,8 +118,8 @@ public class MockConnector private final MockConnectorFactory.ApplyFilter applyFilter; private final MockConnectorFactory.ApplyTableScanRedirect applyTableScanRedirect; private final BiFunction> redirectTable; - private final BiFunction> getInsertLayout; - private final BiFunction> getNewTableLayout; + private final BiFunction> getInsertLayout; + private final BiFunction> getNewTableLayout; private final BiFunction getTableProperties; private final Supplier> eventListeners; private final MockConnectorFactory.ListRoleGrants roleGrants; @@ -148,8 +148,8 @@ public class MockConnector MockConnectorFactory.ApplyFilter applyFilter, MockConnectorFactory.ApplyTableScanRedirect applyTableScanRedirect, BiFunction> redirectTable, - BiFunction> getInsertLayout, - BiFunction> getNewTableLayout, + BiFunction> getInsertLayout, + BiFunction> getNewTableLayout, BiFunction getTableProperties, Supplier> eventListeners, MockConnectorFactory.ListRoleGrants roleGrants, @@ -549,14 +549,14 @@ public Optional finishInsert(ConnectorSession session, } @Override - public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) + public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) { MockConnectorTableHandle table = (MockConnectorTableHandle) tableHandle; return getInsertLayout.apply(session, table.getTableName()); } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { return new MockConnectorOutputTableHandle(tableMetadata.getTable()); } @@ -568,7 +568,7 @@ public Optional finishCreateTable(ConnectorSession sess } @Override - public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) { return getNewTableLayout.apply(session, tableMetadata); } diff --git a/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java b/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java index 25f367b2c56d..60ab1c3cf0f4 100644 --- a/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java +++ b/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java @@ -26,9 +26,9 @@ import io.trino.spi.connector.ConnectorContext; import io.trino.spi.connector.ConnectorFactory; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorViewDefinition; @@ -88,8 +88,8 @@ public class MockConnectorFactory private final ApplyFilter applyFilter; private final ApplyTableScanRedirect applyTableScanRedirect; private final BiFunction> redirectTable; - private final BiFunction> getInsertLayout; - private final BiFunction> getNewTableLayout; + private final BiFunction> getInsertLayout; + private final BiFunction> getNewTableLayout; private final BiFunction getTableProperties; private final Supplier> eventListeners; private final Function>> data; @@ -121,8 +121,8 @@ private MockConnectorFactory( ApplyFilter applyFilter, ApplyTableScanRedirect applyTableScanRedirect, BiFunction> redirectTable, - BiFunction> getInsertLayout, - BiFunction> getNewTableLayout, + BiFunction> getInsertLayout, + BiFunction> getNewTableLayout, BiFunction getTableProperties, Supplier> eventListeners, Function>> data, @@ -288,8 +288,8 @@ public static final class Builder private ApplyProjection applyProjection = (session, handle, projections, assignments) -> Optional.empty(); private ApplyAggregation applyAggregation = (session, handle, aggregates, assignments, groupingSets) -> Optional.empty(); private ApplyJoin applyJoin = (session, joinType, left, right, joinConditions, leftAssignments, rightAssignments) -> Optional.empty(); - private BiFunction> getInsertLayout = defaultGetInsertLayout(); - private BiFunction> getNewTableLayout = defaultGetNewTableLayout(); + private BiFunction> getInsertLayout = defaultGetInsertLayout(); + private BiFunction> getNewTableLayout = defaultGetNewTableLayout(); private BiFunction getTableProperties = defaultGetTableProperties(); private Supplier> eventListeners = ImmutableList::of; private ApplyTopN applyTopN = (session, handle, topNCount, sortItems, assignments) -> Optional.empty(); @@ -418,13 +418,13 @@ public Builder withRedirectTable(BiFunction> getInsertLayout) + public Builder withGetInsertLayout(BiFunction> getInsertLayout) { this.getInsertLayout = requireNonNull(getInsertLayout, "getInsertLayout is null"); return this; } - public Builder withGetNewTableLayout(BiFunction> getNewTableLayout) + public Builder withGetNewTableLayout(BiFunction> getNewTableLayout) { this.getNewTableLayout = requireNonNull(getNewTableLayout, "getNewTableLayout is null"); return this; @@ -590,12 +590,12 @@ public static BiFunction new MockConnectorTableHandle(schemaTableName); } - public static BiFunction> defaultGetInsertLayout() + public static BiFunction> defaultGetInsertLayout() { return (session, schemaTableName) -> Optional.empty(); } - public static BiFunction> defaultGetNewTableLayout() + public static BiFunction> defaultGetNewTableLayout() { return (session, tableMetadata) -> Optional.empty(); } diff --git a/core/trino-main/src/test/java/io/trino/metadata/AbstractMockMetadata.java b/core/trino-main/src/test/java/io/trino/metadata/AbstractMockMetadata.java index 6ddae412beba..139bf834162b 100644 --- a/core/trino-main/src/test/java/io/trino/metadata/AbstractMockMetadata.java +++ b/core/trino-main/src/test/java/io/trino/metadata/AbstractMockMetadata.java @@ -135,7 +135,7 @@ public Optional getTableHandleForExecute(Session session, Ta } @Override - public Optional getLayoutForTableExecute(Session session, TableExecuteHandle tableExecuteHandle) + public Optional getLayoutForTableExecute(Session session, TableExecuteHandle tableExecuteHandle) { throw new UnsupportedOperationException(); } @@ -315,13 +315,13 @@ public void truncateTable(Session session, TableHandle tableHandle) } @Override - public Optional getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata) { throw new UnsupportedOperationException(); } @Override - public OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional layout) + public OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional layout) { throw new UnsupportedOperationException(); } @@ -333,7 +333,7 @@ public Optional finishCreateTable(Session session, Outp } @Override - public Optional getInsertLayout(Session session, TableHandle target) + public Optional getInsertLayout(Session session, TableHandle target) { throw new UnsupportedOperationException(); } diff --git a/core/trino-main/src/test/java/io/trino/sql/planner/TestInsert.java b/core/trino-main/src/test/java/io/trino/sql/planner/TestInsert.java index 1edf12885876..ecaa53904f02 100644 --- a/core/trino-main/src/test/java/io/trino/sql/planner/TestInsert.java +++ b/core/trino-main/src/test/java/io/trino/sql/planner/TestInsert.java @@ -23,7 +23,7 @@ import io.trino.metadata.Metadata; import io.trino.plugin.tpch.TpchPartitioningHandle; import io.trino.spi.connector.ColumnMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.sql.planner.assertions.BasePlanTest; import io.trino.sql.planner.assertions.MatchResult; import io.trino.sql.planner.assertions.Matcher; @@ -79,22 +79,22 @@ protected LocalQueryRunner createLocalQueryRunner() new ColumnMetadata("column2", INTEGER))) .withGetInsertLayout((session, tableName) -> { if (tableName.getTableName().equals("test_table_preferred_partitioning")) { - return Optional.of(new ConnectorNewTableLayout(ImmutableList.of("column1"))); + return Optional.of(new ConnectorTableLayout(ImmutableList.of("column1"))); } if (tableName.getTableName().equals("test_table_required_partitioning")) { - return Optional.of(new ConnectorNewTableLayout(new TpchPartitioningHandle("orders", 10), ImmutableList.of("column1"))); + return Optional.of(new ConnectorTableLayout(new TpchPartitioningHandle("orders", 10), ImmutableList.of("column1"))); } return Optional.empty(); }) .withGetNewTableLayout((session, tableMetadata) -> { if (tableMetadata.getTable().getTableName().equals("new_test_table_preferred_partitioning")) { - return Optional.of(new ConnectorNewTableLayout(ImmutableList.of("column1"))); + return Optional.of(new ConnectorTableLayout(ImmutableList.of("column1"))); } if (tableMetadata.getTable().getTableName().equals("new_test_table_required_partitioning")) { - return Optional.of(new ConnectorNewTableLayout(new TpchPartitioningHandle("orders", 10), ImmutableList.of("column1"))); + return Optional.of(new ConnectorTableLayout(new TpchPartitioningHandle("orders", 10), ImmutableList.of("column1"))); } if (tableMetadata.getTable().getTableName().equals("new_test_table_unpartitioned")) { diff --git a/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java b/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java index 7fbefc5cffc7..72c2e091024c 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java +++ b/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java @@ -124,7 +124,7 @@ default Optional getTableHandleForExecute( return getTableHandleForExecute(session, tableHandle, procedureName, executeProperties); } - default Optional getLayoutForTableExecute(ConnectorSession session, ConnectorTableExecuteHandle tableExecuteHandle) + default Optional getLayoutForTableExecute(ConnectorSession session, ConnectorTableExecuteHandle tableExecuteHandle) { return Optional.empty(); } @@ -395,7 +395,7 @@ default void dropColumn(ConnectorSession session, ConnectorTableHandle tableHand /** * Get the physical layout for a new table. */ - default Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) + default Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) { return Optional.empty(); } @@ -403,7 +403,7 @@ default Optional getNewTableLayout(ConnectorSession ses /** * Get the physical layout for inserting into an existing table. */ - default Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) + default Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) { ConnectorTableProperties properties = getTableProperties(session, tableHandle); return properties.getTablePartitioning() @@ -414,7 +414,7 @@ default Optional getInsertLayout(ConnectorSession sessi .map(columnNamesByHandle::get) .collect(toUnmodifiableList()); - return new ConnectorNewTableLayout(partitioning.getPartitioningHandle(), partitionColumns); + return new ConnectorTableLayout(partitioning.getPartitioningHandle(), partitionColumns); }); } @@ -456,7 +456,7 @@ default void finishStatisticsCollection(ConnectorSession session, ConnectorTable * @deprecated Use {@link #beginCreateTable(ConnectorSession, ConnectorTableMetadata, Optional, RetryMode)} */ @Deprecated - default ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + default ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { throw new TrinoException(NOT_SUPPORTED, "This connector does not support creating tables with data"); } @@ -464,7 +464,7 @@ default ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, Co /** * Begin the atomic creation of a table with data. */ - default ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout, RetryMode retryMode) + default ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout, RetryMode retryMode) { if (retryMode != RetryMode.NO_RETRIES) { throw new TrinoException(NOT_SUPPORTED, "This connector does not support query retries"); diff --git a/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorNewTableLayout.java b/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorTableLayout.java similarity index 79% rename from core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorNewTableLayout.java rename to core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorTableLayout.java index c57c428a7c0b..8ffadbf10cea 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorNewTableLayout.java +++ b/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorTableLayout.java @@ -18,13 +18,12 @@ import static java.util.Objects.requireNonNull; -// TODO ConnectorNewTableLayout is used not only for "new" tables. Rename to be less specific. Preferably to ConnectorTableLayout after https://github.com/trinodb/trino/issues/781 -public class ConnectorNewTableLayout +public class ConnectorTableLayout { private final Optional partitioning; private final List partitionColumns; - public ConnectorNewTableLayout(ConnectorPartitioningHandle partitioning, List partitionColumns) + public ConnectorTableLayout(ConnectorPartitioningHandle partitioning, List partitionColumns) { this.partitioning = Optional.of(requireNonNull(partitioning, "partitioning is null")); this.partitionColumns = requireNonNull(partitionColumns, "partitionColumns is null"); @@ -34,7 +33,7 @@ public ConnectorNewTableLayout(ConnectorPartitioningHandle partitioning, List partitionColumns) + public ConnectorTableLayout(List partitionColumns) { this.partitioning = Optional.empty(); this.partitionColumns = requireNonNull(partitionColumns, "partitionColumns is null"); diff --git a/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java b/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java index 235b17c40d06..061534fa3d5e 100644 --- a/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java +++ b/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java @@ -25,7 +25,6 @@ import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorPartitioningHandle; @@ -33,6 +32,7 @@ import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableExecuteHandle; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorTableSchema; @@ -112,7 +112,7 @@ public ConnectorTableHandle makeCompatiblePartitioning(ConnectorSession session, } @Override - public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { return delegate.getNewTableLayout(session, tableMetadata); @@ -120,7 +120,7 @@ public Optional getNewTableLayout(ConnectorSession sess } @Override - public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) + public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { return delegate.getInsertLayout(session, tableHandle); @@ -208,7 +208,7 @@ public Optional getTableHandleForExecute(ConnectorS } @Override - public Optional getLayoutForTableExecute(ConnectorSession session, ConnectorTableExecuteHandle tableExecuteHandle) + public Optional getLayoutForTableExecute(ConnectorSession session, ConnectorTableExecuteHandle tableExecuteHandle) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { return delegate.getLayoutForTableExecute(session, tableExecuteHandle); @@ -432,7 +432,7 @@ public void setColumnComment(ConnectorSession session, ConnectorTableHandle tabl } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { return delegate.beginCreateTable(session, tableMetadata, layout); @@ -440,7 +440,7 @@ public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, Con } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout, RetryMode retryMode) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout, RetryMode retryMode) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { return delegate.beginCreateTable(session, tableMetadata, layout, retryMode); diff --git a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java index 22c8c2ab08be..f6730a0b7a80 100644 --- a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java +++ b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java @@ -28,11 +28,11 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorViewDefinition; @@ -80,7 +80,7 @@ public AccumuloMetadata(AccumuloClient client) } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { checkNoRollback(); diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java index 303bcc71a7f5..55a5fa024e8e 100644 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java +++ b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java @@ -25,11 +25,11 @@ import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorTableSchema; @@ -615,7 +615,7 @@ public void dropTable(ConnectorSession session, ConnectorTableHandle tableHandle } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { JdbcOutputTableHandle handle = jdbcClient.beginCreateTable(session, tableMetadata); setRollback(() -> jdbcClient.rollbackCreateTable(session, handle)); diff --git a/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHoleMetadata.java b/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHoleMetadata.java index 4e9abbf11564..7e51903b5c4d 100644 --- a/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHoleMetadata.java +++ b/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHoleMetadata.java @@ -24,11 +24,11 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorViewDefinition; @@ -218,7 +218,7 @@ public void createTable(ConnectorSession session, ConnectorTableMetadata tableMe } @Override - public Optional getNewTableLayout(ConnectorSession connectorSession, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(ConnectorSession connectorSession, ConnectorTableMetadata tableMetadata) { @SuppressWarnings("unchecked") List distributeColumns = (List) tableMetadata.getProperties().get(DISTRIBUTED_ON); @@ -235,11 +235,11 @@ public Optional getNewTableLayout(ConnectorSession conn throw new TrinoException(INVALID_TABLE_PROPERTY, "Distribute columns not defined on table: " + undefinedColumns); } - return Optional.of(new ConnectorNewTableLayout(BlackHolePartitioningHandle.INSTANCE, distributeColumns)); + return Optional.of(new ConnectorTableLayout(BlackHolePartitioningHandle.INSTANCE, distributeColumns)); } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { checkSchemaExists(tableMetadata.getTable().getSchemaName()); int splitCount = (Integer) tableMetadata.getProperties().get(SPLIT_COUNT_PROPERTY); diff --git a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java index aa250e3c558e..2882592795ce 100644 --- a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java +++ b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java @@ -23,11 +23,11 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.Constraint; @@ -267,7 +267,7 @@ public void dropTable(ConnectorSession session, ConnectorTableHandle tableHandle } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { return createTable(tableMetadata); } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java index f5061629d7e5..8cbb18337c4b 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java @@ -65,13 +65,13 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorPartitioningHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableExecuteHandle; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTablePartitioning; import io.trino.spi.connector.ConnectorTableProperties; @@ -1306,7 +1306,7 @@ public void finishStatisticsCollection(ConnectorSession session, ConnectorTableH } @Override - public HiveOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout, RetryMode retryMode) + public HiveOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout, RetryMode retryMode) { Optional externalLocation = Optional.ofNullable(getExternalLocation(tableMetadata.getProperties())) .map(HiveMetadata::getExternalLocationAsPath); @@ -2908,7 +2908,7 @@ else if (hasNaN) { } @Override - public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) + public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) { HiveTableHandle hiveTableHandle = (HiveTableHandle) tableHandle; SchemaTableName tableName = hiveTableHandle.getSchemaTableName(); @@ -2937,7 +2937,7 @@ else if (isFullAcidTable(table.getParameters())) { return Optional.empty(); } - return Optional.of(new ConnectorNewTableLayout( + return Optional.of(new ConnectorTableLayout( partitionColumns.stream() .map(Column::getName) .collect(toImmutableList()))); @@ -2964,11 +2964,11 @@ else if (isFullAcidTable(table.getParameters())) { .collect(toImmutableList()), OptionalInt.of(hiveBucketHandle.get().getTableBucketCount()), !partitionColumns.isEmpty() && isParallelPartitionedBucketedWrites(session)); - return Optional.of(new ConnectorNewTableLayout(partitioningHandle, partitioningColumns.build())); + return Optional.of(new ConnectorTableLayout(partitioningHandle, partitioningColumns.build())); } @Override - public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) { validateTimestampColumns(tableMetadata.getColumns(), getTimestampPrecision(session)); validatePartitionColumns(tableMetadata); @@ -2982,7 +2982,7 @@ public Optional getNewTableLayout(ConnectorSession sess return Optional.empty(); } - return Optional.of(new ConnectorNewTableLayout(partitionedBy)); + return Optional.of(new ConnectorTableLayout(partitionedBy)); } if (!bucketProperty.get().getSortedBy().isEmpty() && !isSortedWritingEnabled(session)) { throw new TrinoException(NOT_SUPPORTED, "Writing to bucketed sorted Hive tables is disabled"); @@ -2991,7 +2991,7 @@ public Optional getNewTableLayout(ConnectorSession sess List bucketedBy = bucketProperty.get().getBucketedBy(); Map hiveTypeMap = tableMetadata.getColumns().stream() .collect(toMap(ColumnMetadata::getName, column -> toHiveType(column.getType()))); - return Optional.of(new ConnectorNewTableLayout( + return Optional.of(new ConnectorTableLayout( new HivePartitioningHandle( bucketProperty.get().getBucketingVersion(), bucketProperty.get().getBucketCount(), diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java index a725ab93c55f..529549a46006 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java @@ -70,7 +70,6 @@ import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorNodePartitioningProvider; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorPageSink; @@ -83,6 +82,7 @@ import io.trino.spi.connector.ConnectorSplitManager; import io.trino.spi.connector.ConnectorSplitSource; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorTransactionHandle; @@ -5293,7 +5293,7 @@ public void testPreferredInsertLayout() ConnectorMetadata metadata = transaction.getMetadata(); ConnectorSession session = newSession(); ConnectorTableHandle tableHandle = getTableHandle(metadata, tableName); - Optional insertLayout = metadata.getInsertLayout(session, tableHandle); + Optional insertLayout = metadata.getInsertLayout(session, tableHandle); assertTrue(insertLayout.isPresent()); assertFalse(insertLayout.get().getPartitioning().isPresent()); assertEquals(insertLayout.get().getPartitionColumns(), ImmutableList.of(partitioningColumn.getName())); @@ -5333,7 +5333,7 @@ protected void insertBucketedTableLayout(boolean transactional) ConnectorMetadata metadata = transaction.getMetadata(); ConnectorSession session = newSession(); ConnectorTableHandle tableHandle = getTableHandle(metadata, tableName); - Optional insertLayout = metadata.getInsertLayout(session, tableHandle); + Optional insertLayout = metadata.getInsertLayout(session, tableHandle); assertTrue(insertLayout.isPresent()); ConnectorPartitioningHandle partitioningHandle = new HivePartitioningHandle( bucketProperty.getBucketingVersion(), @@ -5383,7 +5383,7 @@ protected void insertPartitionedBucketedTableLayout(boolean transactional) ConnectorMetadata metadata = transaction.getMetadata(); ConnectorSession session = newSession(); ConnectorTableHandle tableHandle = getTableHandle(metadata, tableName); - Optional insertLayout = metadata.getInsertLayout(session, tableHandle); + Optional insertLayout = metadata.getInsertLayout(session, tableHandle); assertTrue(insertLayout.isPresent()); ConnectorPartitioningHandle partitioningHandle = new HivePartitioningHandle( bucketProperty.getBucketingVersion(), @@ -5410,7 +5410,7 @@ public void testPreferredCreateTableLayout() try (Transaction transaction = newTransaction()) { ConnectorMetadata metadata = transaction.getMetadata(); ConnectorSession session = newSession(); - Optional newTableLayout = metadata.getNewTableLayout( + Optional newTableLayout = metadata.getNewTableLayout( session, new ConnectorTableMetadata( new SchemaTableName("schema", "table"), @@ -5434,7 +5434,7 @@ public void testCreateBucketedTableLayout() try (Transaction transaction = newTransaction()) { ConnectorMetadata metadata = transaction.getMetadata(); ConnectorSession session = newSession(); - Optional newTableLayout = metadata.getNewTableLayout( + Optional newTableLayout = metadata.getNewTableLayout( session, new ConnectorTableMetadata( new SchemaTableName("schema", "table"), @@ -5467,7 +5467,7 @@ public void testCreatePartitionedBucketedTableLayout() try (Transaction transaction = newTransaction()) { ConnectorMetadata metadata = transaction.getMetadata(); ConnectorSession session = newSession(); - Optional newTableLayout = metadata.getNewTableLayout( + Optional newTableLayout = metadata.getNewTableLayout( session, new ConnectorTableMetadata( new SchemaTableName("schema", "table"), diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java index cbe4dff24f7e..9d7ad26856d3 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java @@ -40,12 +40,12 @@ import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMaterializedViewDefinition; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableExecuteHandle; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorViewDefinition; @@ -417,7 +417,7 @@ public void setSchemaAuthorization(ConnectorSession session, String schemaName, @Override public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, boolean ignoreExisting) { - Optional layout = getNewTableLayout(session, tableMetadata); + Optional layout = getNewTableLayout(session, tableMetadata); finishCreateTable(session, beginCreateTable(session, tableMetadata, layout), ImmutableList.of(), ImmutableList.of()); } @@ -428,7 +428,7 @@ public void setTableComment(ConnectorSession session, ConnectorTableHandle table } @Override - public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) + public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata tableMetadata) { Schema schema = toIcebergSchema(tableMetadata.getColumns()); PartitionSpec partitionSpec = parsePartitionFields(schema, getPartitioning(tableMetadata.getProperties())); @@ -436,7 +436,7 @@ public Optional getNewTableLayout(ConnectorSession sess } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { verify(transaction == null, "transaction already set"); transaction = newCreateTableTransaction(catalog, tableMetadata, session); @@ -458,14 +458,14 @@ public Optional finishCreateTable(ConnectorSession sess } @Override - public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) + public Optional getInsertLayout(ConnectorSession session, ConnectorTableHandle tableHandle) { IcebergTableHandle table = (IcebergTableHandle) tableHandle; Table icebergTable = catalog.loadTable(session, table.getSchemaTableName()); return getWriteLayout(icebergTable.schema(), icebergTable.spec(), false); } - private Optional getWriteLayout(Schema tableSchema, PartitionSpec partitionSpec, boolean forceRepartitioning) + private Optional getWriteLayout(Schema tableSchema, PartitionSpec partitionSpec, boolean forceRepartitioning) { if (partitionSpec.isUnpartitioned()) { return Optional.empty(); @@ -485,10 +485,10 @@ private Optional getWriteLayout(Schema tableSchema, Par if (!forceRepartitioning && partitionSpec.fields().stream().allMatch(field -> field.transform().isIdentity())) { // Do not set partitioningHandle, to let engine determine whether to repartition data or not, on stat-based basis. - return Optional.of(new ConnectorNewTableLayout(partitioningColumnNames)); + return Optional.of(new ConnectorTableLayout(partitioningColumnNames)); } IcebergPartitioningHandle partitioningHandle = new IcebergPartitioningHandle(toPartitionFields(partitionSpec), partitioningColumns); - return Optional.of(new ConnectorNewTableLayout(partitioningHandle, partitioningColumnNames)); + return Optional.of(new ConnectorTableLayout(partitioningHandle, partitioningColumnNames)); } @Override @@ -602,7 +602,7 @@ private Optional getTableHandleForOptimize(Connecto } @Override - public Optional getLayoutForTableExecute(ConnectorSession session, ConnectorTableExecuteHandle tableExecuteHandle) + public Optional getLayoutForTableExecute(ConnectorSession session, ConnectorTableExecuteHandle tableExecuteHandle) { IcebergTableExecuteHandle executeHandle = (IcebergTableExecuteHandle) tableExecuteHandle; switch (executeHandle.getProcedureId()) { @@ -612,7 +612,7 @@ public Optional getLayoutForTableExecute(ConnectorSessi throw new IllegalArgumentException("Unknown procedure '" + executeHandle.getProcedureId() + "'"); } - private Optional getLayoutForOptimize(ConnectorSession session, IcebergTableExecuteHandle executeHandle) + private Optional getLayoutForOptimize(ConnectorSession session, IcebergTableExecuteHandle executeHandle) { Table icebergTable = catalog.loadTable(session, executeHandle.getSchemaTableName()); // from performance perspective it is better to have lower number of bigger files than other way around diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java index caf4d6f29dd6..98baf041ba81 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java @@ -2761,7 +2761,7 @@ public void testRepartitionDataOnInsert(Session session, String partitioning, in public Object[][] repartitioningDataProvider() { Session defaultSession = getSession(); - // For identity-only partitioning, Iceberg connector returns ConnectorNewTableLayout with partitionColumns set, but without partitioning. + // For identity-only partitioning, Iceberg connector returns ConnectorTableLayout with partitionColumns set, but without partitioning. // This is treated by engine as "preferred", but not mandatory partitioning, and gets ignored if stats suggest number of partitions // written is low. Without partitioning, number of files created is nondeterministic, as a writer (worker node) may or may not receive data. Session obeyConnectorPartitioning = Session.builder(defaultSession) diff --git a/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java b/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java index 04870ebce1c3..dabea75d654c 100755 --- a/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java +++ b/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java @@ -26,11 +26,11 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTablePartitioning; import io.trino.spi.connector.ConnectorTableProperties; @@ -315,7 +315,7 @@ public Optional finishInsert( public ConnectorOutputTableHandle beginCreateTable( ConnectorSession session, ConnectorTableMetadata tableMetadata, - Optional layout) + Optional layout) { PartitionDesign design = KuduTableProperties.getPartitionDesign(tableMetadata.getProperties()); boolean generateUUID = !design.hasPartitions(); diff --git a/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryMetadata.java b/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryMetadata.java index 96addafb7ba1..ded365920bec 100644 --- a/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryMetadata.java +++ b/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryMetadata.java @@ -26,11 +26,11 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorViewDefinition; @@ -219,7 +219,7 @@ public synchronized void createTable(ConnectorSession session, ConnectorTableMet } @Override - public synchronized MemoryOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public synchronized MemoryOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { checkSchemaExists(tableMetadata.getTable().getSchemaName()); checkTableNotExists(tableMetadata.getTable()); diff --git a/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java b/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java index d0a3d1fe041f..d8e832dcb167 100644 --- a/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java +++ b/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java @@ -22,11 +22,11 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.Constraint; @@ -181,7 +181,7 @@ public void dropColumn(ConnectorSession session, ConnectorTableHandle tableHandl } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { List columns = buildColumnHandles(tableMetadata); diff --git a/plugin/trino-phoenix/src/main/java/io/trino/plugin/phoenix/PhoenixMetadata.java b/plugin/trino-phoenix/src/main/java/io/trino/plugin/phoenix/PhoenixMetadata.java index 06b02a1693c1..386c85be5f4c 100644 --- a/plugin/trino-phoenix/src/main/java/io/trino/plugin/phoenix/PhoenixMetadata.java +++ b/plugin/trino-phoenix/src/main/java/io/trino/plugin/phoenix/PhoenixMetadata.java @@ -25,11 +25,11 @@ import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableSchema; import io.trino.spi.connector.SchemaTableName; @@ -150,7 +150,7 @@ public void createTable(ConnectorSession session, ConnectorTableMetadata tableMe } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { return phoenixClient.beginCreateTable(session, tableMetadata); } diff --git a/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java b/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java index cde4bd5d4a23..34d6015a4632 100644 --- a/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java +++ b/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java @@ -26,11 +26,11 @@ import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTableProperties; import io.trino.spi.connector.ConnectorTableSchema; @@ -171,7 +171,7 @@ public void createTable(ConnectorSession session, ConnectorTableMetadata tableMe } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { return phoenixClient.beginCreateTable(session, tableMetadata); } diff --git a/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java b/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java index ae43ea6875a0..bcaf3eed209d 100644 --- a/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java +++ b/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java @@ -39,12 +39,12 @@ import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; import io.trino.spi.connector.ConnectorMetadata; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputMetadata; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorPartitioningHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorTablePartitioning; import io.trino.spi.connector.ConnectorTableProperties; @@ -349,7 +349,7 @@ public ConnectorTableProperties getTableProperties(ConnectorSession session, Con } @Override - public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata metadata) + public Optional getNewTableLayout(ConnectorSession session, ConnectorTableMetadata metadata) { ImmutableMap.Builder map = ImmutableMap.builder(); long columnId = 1; @@ -368,7 +368,7 @@ public Optional getNewTableLayout(ConnectorSession sess .collect(toList()); ConnectorPartitioningHandle partitioning = getPartitioningHandle(distribution.get().getDistributionId()); - return Optional.of(new ConnectorNewTableLayout(partitioning, partitionColumns)); + return Optional.of(new ConnectorTableLayout(partitioning, partitionColumns)); } private RaptorPartitioningHandle getPartitioningHandle(long distributionId) @@ -444,7 +444,7 @@ private Distribution getOrCreateDistribution(String name, List columnTypes @Override public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, boolean ignoreExisting) { - Optional layout = getNewTableLayout(session, tableMetadata); + Optional layout = getNewTableLayout(session, tableMetadata); finishCreateTable(session, beginCreateTable(session, tableMetadata, layout), ImmutableList.of(), ImmutableList.of()); } @@ -535,14 +535,14 @@ public void dropColumn(ConnectorSession session, ConnectorTableHandle tableHandl } @Override - public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) + public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional layout) { if (viewExists(session, tableMetadata.getTable())) { throw new TrinoException(ALREADY_EXISTS, "View already exists: " + tableMetadata.getTable()); } Optional partitioning = layout - .map(ConnectorNewTableLayout::getPartitioning) + .map(ConnectorTableLayout::getPartitioning) .map(Optional::get) .map(RaptorPartitioningHandle.class::cast); diff --git a/plugin/trino-raptor-legacy/src/test/java/io/trino/plugin/raptor/legacy/metadata/TestRaptorMetadata.java b/plugin/trino-raptor-legacy/src/test/java/io/trino/plugin/raptor/legacy/metadata/TestRaptorMetadata.java index 8d2ecf08428c..437351480a2e 100644 --- a/plugin/trino-raptor-legacy/src/test/java/io/trino/plugin/raptor/legacy/metadata/TestRaptorMetadata.java +++ b/plugin/trino-raptor-legacy/src/test/java/io/trino/plugin/raptor/legacy/metadata/TestRaptorMetadata.java @@ -29,10 +29,10 @@ import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ColumnMetadata; import io.trino.spi.connector.ConnectorInsertTableHandle; -import io.trino.spi.connector.ConnectorNewTableLayout; import io.trino.spi.connector.ConnectorOutputTableHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorTableHandle; +import io.trino.spi.connector.ConnectorTableLayout; import io.trino.spi.connector.ConnectorTableMetadata; import io.trino.spi.connector.ConnectorViewDefinition; import io.trino.spi.connector.ConnectorViewDefinition.ViewColumn; @@ -379,7 +379,7 @@ public void testCreateBucketedTableAsSelect() BUCKET_COUNT_PROPERTY, 32, BUCKETED_ON_PROPERTY, ImmutableList.of("orderkey", "custkey"))); - ConnectorNewTableLayout layout = metadata.getNewTableLayout(SESSION, ordersTable).get(); + ConnectorTableLayout layout = metadata.getNewTableLayout(SESSION, ordersTable).get(); assertEquals(layout.getPartitionColumns(), ImmutableList.of("orderkey", "custkey")); assertTrue(layout.getPartitioning().isPresent()); assertInstanceOf(layout.getPartitioning().get(), RaptorPartitioningHandle.class);