Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ private List<ColumnSchema> toColumnSchema(List<ViewColumn> viewColumns)
return viewColumns.stream()
.map(viewColumn ->
ColumnSchema.builder()
.setName(viewColumn.getName())
.setType(typeManager.getType(viewColumn.getType()))
.setName(viewColumn.name())
.setType(typeManager.getType(viewColumn.type()))
.build())
.collect(toImmutableList());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,15 @@ public final RecordCursor cursor(ConnectorTransactionHandle transactionHandle, C
InMemoryRecordSet.Builder table = InMemoryRecordSet.builder(tableMetadata);

List<CatalogInfo> catalogInfos = listCatalogs(session, metadata, accessControl).stream()
.sorted(Comparator.comparing(CatalogInfo::getCatalogName))
.sorted(Comparator.comparing(CatalogInfo::catalogName))
.collect(toImmutableList());

for (CatalogInfo catalogInfo : catalogInfos) {
catalogProperties.apply(catalogInfo.getCatalogHandle()).stream()
catalogProperties.apply(catalogInfo.catalogHandle()).stream()
.sorted(Comparator.comparing(PropertyMetadata::getName))
.forEach(propertyMetadata ->
table.addRow(
catalogInfo.getCatalogName(),
catalogInfo.catalogName(),
propertyMetadata.getName(),
firstNonNull(propertyMetadata.getDefaultValue(), "").toString(),
propertyMetadata.getSqlType().toString(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ public RecordCursor cursor(ConnectorTransactionHandle transactionHandle, Connect
Builder table = InMemoryRecordSet.builder(CATALOG_TABLE);
for (CatalogInfo catalogInfo : listCatalogs(session, metadata, accessControl)) {
table.addRow(
catalogInfo.getCatalogName(),
catalogInfo.getCatalogName(),
catalogInfo.getConnectorName().toString());
catalogInfo.catalogName(),
catalogInfo.catalogName(),
catalogInfo.connectorName().toString());
}
return table.build().cursor();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public ListenableFuture<Void> execute(
return immediateVoidFuture();
}
TableHandle tableHandle = redirectionAwareTableHandle.tableHandle().get();
CatalogHandle catalogHandle = tableHandle.getCatalogHandle();
CatalogHandle catalogHandle = tableHandle.catalogHandle();

QualifiedObjectName qualifiedTableName = redirectionAwareTableHandle.redirectedTableName().orElse(originalTableName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,12 +145,12 @@ private void commentOnColumn(Comment statement, Session session)
if (view.isPresent()) {
ViewDefinition viewDefinition = view.get();
ViewColumn viewColumn = findAndCheckViewColumn(statement, session, viewDefinition, originalObjectName);
metadata.setViewColumnComment(session, originalObjectName, viewColumn.getName(), statement.getComment());
metadata.setViewColumnComment(session, originalObjectName, viewColumn.name(), statement.getComment());
}
else if (metadata.isMaterializedView(session, originalObjectName)) {
MaterializedViewDefinition materializedViewDefinition = metadata.getMaterializedView(session, originalObjectName).get();
ViewColumn viewColumn = findAndCheckViewColumn(statement, session, materializedViewDefinition, originalObjectName);
metadata.setMaterializedViewColumnComment(session, originalObjectName, viewColumn.getName(), statement.getComment());
metadata.setMaterializedViewColumnComment(session, originalObjectName, viewColumn.name(), statement.getComment());
}
else {
RedirectionAwareTableHandle redirectionAwareTableHandle = metadata.getRedirectionAwareTableHandle(session, originalObjectName);
Expand All @@ -175,7 +175,7 @@ private ViewColumn findAndCheckViewColumn(Comment statement, Session session, Vi
{
String columnName = statement.getName().getSuffix();
ViewColumn viewColumn = viewDefinition.getColumns().stream()
.filter(column -> column.getName().equals(columnName))
.filter(column -> column.name().equals(columnName))
.findAny()
.orElseThrow(() -> semanticException(COLUMN_NOT_FOUND, statement, "Column does not exist: %s", columnName));
accessControl.checkCanSetColumnComment(session.toSecurityContext(), originalObjectName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public ListenableFuture<Void> execute(
if (metadata.getTableHandle(session, target).isPresent()) {
throw semanticException(TABLE_ALREADY_EXISTS, statement, "Target table '%s' already exists", target);
}
if (!tableHandle.getCatalogHandle().getCatalogName().toString().equals(target.catalogName())) {
if (!tableHandle.catalogHandle().getCatalogName().toString().equals(target.catalogName())) {
throw semanticException(NOT_SUPPORTED, statement, "Table rename across catalogs is not supported");
}
accessControl.checkCanRenameTable(session.toSecurityContext(), source, target);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ private boolean shouldWaitForMinWorkers(Statement statement)
// Allow set session statements and queries on internal system connectors to run without waiting
Collection<TableHandle> tables = analysis.getTables();
return !tables.stream()
.map(TableHandle::getCatalogHandle)
.map(TableHandle::catalogHandle)
.allMatch(catalogName -> catalogName.getType().isInternal());
}
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ private static TableInfo extract(Session session, Metadata metadata, TableScanNo
CatalogSchemaTableName tableName = metadata.getTableName(session, node.getTable());
TableProperties tableProperties = metadata.getTableProperties(session, node.getTable());
Optional<String> connectorName = metadata.listCatalogs(session).stream()
.filter(catalogInfo -> catalogInfo.getCatalogName().equals(tableName.getCatalogName()))
.map(CatalogInfo::getConnectorName)
.filter(catalogInfo -> catalogInfo.catalogName().equals(tableName.getCatalogName()))
.map(CatalogInfo::connectorName)
.map(ConnectorName::toString)
.findFirst();
QualifiedObjectName objectName = new QualifiedObjectName(tableName.getCatalogName(), tableName.getSchemaTableName().getSchemaName(), tableName.getSchemaTableName().getTableName());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ private boolean isNoMemoryFragment(PlanFragment fragment, Function<PlanFragmentI

private static boolean isMetadataTableScan(TableScanNode tableScanNode)
{
return (tableScanNode.getTable().getConnectorHandle() instanceof InformationSchemaTableHandle) ||
(tableScanNode.getTable().getCatalogHandle().getCatalogName().toString().equals(GlobalSystemConnector.NAME) && (tableScanNode.getTable().getConnectorHandle() instanceof SystemTableHandle));
return (tableScanNode.getTable().connectorHandle() instanceof InformationSchemaTableHandle) ||
(tableScanNode.getTable().catalogHandle().getCatalogName().toString().equals(GlobalSystemConnector.NAME) && (tableScanNode.getTable().connectorHandle() instanceof SystemTableHandle));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,11 @@

import static java.util.Objects.requireNonNull;

public class AnalyzeMetadata
public record AnalyzeMetadata(TableStatisticsMetadata statisticsMetadata, TableHandle tableHandle)
{
private final TableStatisticsMetadata statisticsMetadata;
private final TableHandle tableHandle;

public AnalyzeMetadata(TableStatisticsMetadata statisticsMetadata, TableHandle tableHandle)
{
this.statisticsMetadata = requireNonNull(statisticsMetadata, "statisticsMetadata is null");
this.tableHandle = requireNonNull(tableHandle, "tableHandle is null");
}

public TableStatisticsMetadata getStatisticsMetadata()
{
return statisticsMetadata;
}

public TableHandle getTableHandle()
public AnalyzeMetadata
{
return tableHandle;
requireNonNull(statisticsMetadata, "statisticsMetadata is null");
requireNonNull(tableHandle, "tableHandle is null");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,70 +13,22 @@
*/
package io.trino.metadata;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.trino.spi.connector.CatalogHandle;
import io.trino.spi.connector.ConnectorTableHandle;
import io.trino.spi.connector.ConnectorTransactionHandle;

import java.util.Objects;

import static java.util.Objects.requireNonNull;

public class AnalyzeTableHandle
public record AnalyzeTableHandle(
CatalogHandle catalogHandle,
ConnectorTransactionHandle transactionHandle,
ConnectorTableHandle connectorHandle)
{
private final CatalogHandle catalogHandle;
private final ConnectorTransactionHandle transactionHandle;
private final ConnectorTableHandle connectorHandle;

@JsonCreator
public AnalyzeTableHandle(
@JsonProperty("catalogHandle") CatalogHandle catalogHandle,
@JsonProperty("transactionHandle") ConnectorTransactionHandle transactionHandle,
@JsonProperty("connectorHandle") ConnectorTableHandle connectorHandle)
{
this.catalogHandle = requireNonNull(catalogHandle, "catalogHandle is null");
this.transactionHandle = requireNonNull(transactionHandle, "transactionHandle is null");
this.connectorHandle = requireNonNull(connectorHandle, "connectorHandle is null");
}

@JsonProperty
public CatalogHandle getCatalogHandle()
{
return catalogHandle;
}

@JsonProperty
public ConnectorTableHandle getConnectorHandle()
{
return connectorHandle;
}

@JsonProperty
public ConnectorTransactionHandle getTransactionHandle()
{
return transactionHandle;
}

@Override
public boolean equals(Object o)
{
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
AnalyzeTableHandle that = (AnalyzeTableHandle) o;
return Objects.equals(catalogHandle, that.catalogHandle) &&
Objects.equals(transactionHandle, that.transactionHandle) &&
Objects.equals(connectorHandle, that.connectorHandle);
}

@Override
public int hashCode()
public AnalyzeTableHandle
{
return Objects.hash(catalogHandle, transactionHandle, connectorHandle);
requireNonNull(catalogHandle, "catalogHandle is null");
requireNonNull(transactionHandle, "transactionHandle is null");
requireNonNull(connectorHandle, "connectorHandle is null");
}

@Override
Expand Down
40 changes: 5 additions & 35 deletions core/trino-main/src/main/java/io/trino/metadata/CatalogInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,44 +16,14 @@
import io.trino.spi.connector.CatalogHandle;
import io.trino.spi.connector.ConnectorName;

import static com.google.common.base.MoreObjects.toStringHelper;
import static java.util.Objects.requireNonNull;

public class CatalogInfo
public record CatalogInfo(String catalogName, CatalogHandle catalogHandle, ConnectorName connectorName)
{
private final String catalogName;
private final CatalogHandle catalogHandle;
private final ConnectorName connectorName;

public CatalogInfo(String catalogName, CatalogHandle catalogHandle, ConnectorName connectorName)
{
this.catalogName = requireNonNull(catalogName, "catalogName is null");
this.catalogHandle = requireNonNull(catalogHandle, "catalogHandle is null");
this.connectorName = requireNonNull(connectorName, "connectorName is null");
}

public String getCatalogName()
{
return catalogName;
}

public CatalogHandle getCatalogHandle()
{
return catalogHandle;
}

public ConnectorName getConnectorName()
{
return connectorName;
}

@Override
public String toString()
public CatalogInfo
{
return toStringHelper(this)
.add("catalogName", catalogName)
.add("catalogHandle", catalogHandle)
.add("connectorName", connectorName)
.toString();
requireNonNull(catalogName, "catalogName is null");
requireNonNull(catalogHandle, "catalogHandle is null");
requireNonNull(connectorName, "connectorName is null");
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ private WindowFunctionSupplier getWindowFunctionSupplierInternal(ResolvedFunctio

public TableFunctionProcessorProvider getTableFunctionProcessorProvider(TableFunctionHandle tableFunctionHandle)
{
CatalogHandle catalogHandle = tableFunctionHandle.getCatalogHandle();
CatalogHandle catalogHandle = tableFunctionHandle.catalogHandle();

FunctionProvider provider;
if (catalogHandle.equals(GlobalSystemConnector.CATALOG_HANDLE)) {
Expand All @@ -170,7 +170,7 @@ public TableFunctionProcessorProvider getTableFunctionProcessorProvider(TableFun
checkArgument(provider != null, "No function provider for catalog: '%s'", catalogHandle);
}

return provider.getTableFunctionProcessorProvider(tableFunctionHandle.getFunctionHandle());
return provider.getTableFunctionProcessorProvider(tableFunctionHandle.functionHandle());
}

private FunctionDependencies getFunctionDependencies(ResolvedFunction resolvedFunction)
Expand Down
Loading