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 @@ -258,6 +258,7 @@ public class LocalQueryRunner
private final ColumnPropertyManager columnPropertyManager;
private final TablePropertyManager tablePropertyManager;
private final MaterializedViewPropertyManager materializedViewPropertyManager;
private final AnalyzePropertyManager analyzePropertyManager;

private final PageFunctionCompiler pageFunctionCompiler;
private final ExpressionCompiler expressionCompiler;
Expand Down Expand Up @@ -361,7 +362,7 @@ private LocalQueryRunner(
this.columnPropertyManager = new ColumnPropertyManager();
this.tablePropertyManager = new TablePropertyManager();
this.materializedViewPropertyManager = new MaterializedViewPropertyManager();
AnalyzePropertyManager analyzePropertyManager = new AnalyzePropertyManager();
this.analyzePropertyManager = new AnalyzePropertyManager();
TableProceduresPropertyManager tableProceduresPropertyManager = new TableProceduresPropertyManager();

this.statementAnalyzerFactory = new StatementAnalyzerFactory(
Expand Down Expand Up @@ -562,6 +563,26 @@ public Metadata getMetadata()
return plannerContext.getMetadata();
}

public TablePropertyManager getTablePropertyManager()
{
return tablePropertyManager;
}

public ColumnPropertyManager getColumnPropertyManager()
{
return columnPropertyManager;
}

public MaterializedViewPropertyManager getMaterializedViewPropertyManager()
{
return materializedViewPropertyManager;
}

public AnalyzePropertyManager getAnalyzePropertyManager()
{
return analyzePropertyManager;
}

@Override
public TypeManager getTypeManager()
{
Expand Down
45 changes: 0 additions & 45 deletions core/trino-main/src/main/java/io/trino/testing/TestingSession.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,16 @@
*/
package io.trino.testing;

import com.google.common.collect.ImmutableSet;
import io.trino.Session;
import io.trino.Session.SessionBuilder;
import io.trino.connector.CatalogName;
import io.trino.connector.system.StaticSystemTablesProvider;
import io.trino.connector.system.SystemTablesMetadata;
import io.trino.execution.QueryIdGenerator;
import io.trino.metadata.Catalog;
import io.trino.metadata.Catalog.SecurityManagement;
import io.trino.metadata.SessionPropertyManager;
import io.trino.spi.connector.Connector;
import io.trino.spi.connector.ConnectorMetadata;
import io.trino.spi.connector.ConnectorTransactionHandle;
import io.trino.spi.security.Identity;
import io.trino.spi.transaction.IsolationLevel;
import io.trino.spi.type.TimeZoneKey;
import io.trino.sql.SqlPath;

import java.util.Optional;

import static io.trino.connector.CatalogName.createInformationSchemaCatalogName;
import static io.trino.connector.CatalogName.createSystemTablesCatalogName;
import static java.util.Locale.ENGLISH;

public final class TestingSession
Expand Down Expand Up @@ -73,37 +61,4 @@ public static SessionBuilder testSessionBuilder(SessionPropertyManager sessionPr
.setRemoteUserAddress("address")
.setUserAgent("agent");
}

public static Catalog createBogusTestingCatalog(String catalogName)
{
CatalogName catalog = new CatalogName(catalogName);
return new Catalog(
catalogName,
catalog,
"test",
createTestSessionConnector(),
SecurityManagement.CONNECTOR,
createInformationSchemaCatalogName(catalog),
createTestSessionConnector(),
createSystemTablesCatalogName(catalog),
createTestSessionConnector());
}

private static Connector createTestSessionConnector()
{
return new Connector()
{
@Override
public ConnectorTransactionHandle beginTransaction(IsolationLevel isolationLevel, boolean readOnly, boolean autoCommit)
{
return new ConnectorTransactionHandle() {};
}

@Override
public ConnectorMetadata getMetadata(ConnectorTransactionHandle transaction)
{
return new SystemTablesMetadata(new StaticSystemTablesProvider(ImmutableSet.of()));
}
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import io.airlift.slice.Slice;
import io.trino.connector.MockConnectorFactory.ApplyAggregation;
import io.trino.connector.MockConnectorFactory.ApplyFilter;
import io.trino.connector.MockConnectorFactory.ApplyJoin;
import io.trino.connector.MockConnectorFactory.ApplyProjection;
import io.trino.connector.MockConnectorFactory.ApplyTableScanRedirect;
import io.trino.connector.MockConnectorFactory.ApplyTopN;
import io.trino.connector.MockConnectorFactory.ListRoleGrants;
import io.trino.spi.HostAddress;
import io.trino.spi.Page;
import io.trino.spi.connector.AggregateFunction;
Expand All @@ -28,6 +35,7 @@
import io.trino.spi.connector.ConnectorInsertTableHandle;
import io.trino.spi.connector.ConnectorMaterializedViewDefinition;
import io.trino.spi.connector.ConnectorMetadata;
import io.trino.spi.connector.ConnectorNodePartitioningProvider;
import io.trino.spi.connector.ConnectorOutputMetadata;
import io.trino.spi.connector.ConnectorOutputTableHandle;
import io.trino.spi.connector.ConnectorPageSink;
Expand Down Expand Up @@ -122,14 +130,17 @@ public class MockConnector
private final BiFunction<ConnectorSession, ConnectorTableHandle, ConnectorTableProperties> getTableProperties;
private final Supplier<Iterable<EventListener>> eventListeners;
private final MockConnectorFactory.ListRoleGrants roleGrants;
private final Optional<ConnectorNodePartitioningProvider> partitioningProvider;
private final Optional<ConnectorAccessControl> accessControl;
private final Function<SchemaTableName, List<List<?>>> data;
private final Set<Procedure> procedures;
private final boolean allowMissingColumnsOnInsert;
private final Supplier<List<PropertyMetadata<?>>> schemaProperties;
private final Supplier<List<PropertyMetadata<?>>> tableProperties;
private final List<PropertyMetadata<?>> sessionProperties;

MockConnector(
List<PropertyMetadata<?>> sessionProperties,
Function<ConnectorSession, List<String>> listSchemaNames,
BiFunction<ConnectorSession, String, List<SchemaTableName>> listTables,
Optional<BiFunction<ConnectorSession, SchemaTablePrefix, Stream<TableColumnsMetadata>>> streamTableColumns,
Expand All @@ -140,25 +151,27 @@ public class MockConnector
BiFunction<ConnectorSession, SchemaTableName, CompletableFuture<?>> refreshMaterializedView,
BiFunction<ConnectorSession, SchemaTableName, ConnectorTableHandle> getTableHandle,
Function<SchemaTableName, List<ColumnMetadata>> getColumns,
MockConnectorFactory.ApplyProjection applyProjection,
MockConnectorFactory.ApplyAggregation applyAggregation,
MockConnectorFactory.ApplyJoin applyJoin,
MockConnectorFactory.ApplyTopN applyTopN,
MockConnectorFactory.ApplyFilter applyFilter,
MockConnectorFactory.ApplyTableScanRedirect applyTableScanRedirect,
ApplyProjection applyProjection,
ApplyAggregation applyAggregation,
ApplyJoin applyJoin,
ApplyTopN applyTopN,
ApplyFilter applyFilter,
ApplyTableScanRedirect applyTableScanRedirect,
BiFunction<ConnectorSession, SchemaTableName, Optional<CatalogSchemaTableName>> redirectTable,
BiFunction<ConnectorSession, SchemaTableName, Optional<ConnectorTableLayout>> getInsertLayout,
BiFunction<ConnectorSession, ConnectorTableMetadata, Optional<ConnectorTableLayout>> getNewTableLayout,
BiFunction<ConnectorSession, ConnectorTableHandle, ConnectorTableProperties> getTableProperties,
Supplier<Iterable<EventListener>> eventListeners,
MockConnectorFactory.ListRoleGrants roleGrants,
ListRoleGrants roleGrants,
Optional<ConnectorNodePartitioningProvider> partitioningProvider,
Optional<ConnectorAccessControl> accessControl,
Function<SchemaTableName, List<List<?>>> data,
Set<Procedure> procedures,
boolean allowMissingColumnsOnInsert,
Supplier<List<PropertyMetadata<?>>> schemaProperties,
Supplier<List<PropertyMetadata<?>>> tableProperties)
{
this.sessionProperties = ImmutableList.copyOf(requireNonNull(sessionProperties, "sessionProperties is null"));
this.listSchemaNames = requireNonNull(listSchemaNames, "listSchemaNames is null");
this.listTables = requireNonNull(listTables, "listTables is null");
this.streamTableColumns = requireNonNull(streamTableColumns, "streamTableColumns is null");
Expand All @@ -181,6 +194,7 @@ public class MockConnector
this.getTableProperties = requireNonNull(getTableProperties, "getTableProperties is null");
this.eventListeners = requireNonNull(eventListeners, "eventListeners is null");
this.roleGrants = requireNonNull(roleGrants, "roleGrants is null");
this.partitioningProvider = requireNonNull(partitioningProvider, "partitioningProvider is null");
this.accessControl = requireNonNull(accessControl, "accessControl is null");
this.data = requireNonNull(data, "data is null");
this.procedures = requireNonNull(procedures, "procedures is null");
Expand All @@ -189,6 +203,12 @@ public class MockConnector
this.tableProperties = requireNonNull(tableProperties, "tableProperties is null");
}

@Override
public List<PropertyMetadata<?>> getSessionProperties()
{
return sessionProperties;
}

@Override
public ConnectorTransactionHandle beginTransaction(IsolationLevel isolationLevel, boolean readOnly, boolean autoCommit)
{
Expand Down Expand Up @@ -226,6 +246,12 @@ public ConnectorSplitSource getSplits(ConnectorTransactionHandle transaction, Co
};
}

@Override
public ConnectorNodePartitioningProvider getNodePartitioningProvider()
{
return partitioningProvider.orElseThrow(UnsupportedOperationException::new);
}

@Override
public Iterable<EventListener> getEventListeners()
{
Expand Down
Loading