Skip to content

Commit 78cd5f7

Browse files
chenjian2664ebyhr
andcommitted
Remove deprecated method getTableHandle from spi
Co-Authored-By: Yuya Ebihara <[email protected]>
1 parent debda27 commit 78cd5f7

File tree

59 files changed

+373
-241
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+373
-241
lines changed

core/trino-main/src/main/java/io/trino/connector/informationschema/InformationSchemaMetadata.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@
2222
import io.trino.metadata.Metadata;
2323
import io.trino.metadata.QualifiedObjectName;
2424
import io.trino.metadata.QualifiedTablePrefix;
25+
import io.trino.spi.TrinoException;
2526
import io.trino.spi.connector.ColumnHandle;
2627
import io.trino.spi.connector.ColumnMetadata;
2728
import io.trino.spi.connector.ConnectorMetadata;
2829
import io.trino.spi.connector.ConnectorSession;
2930
import io.trino.spi.connector.ConnectorTableHandle;
3031
import io.trino.spi.connector.ConnectorTableMetadata;
3132
import io.trino.spi.connector.ConnectorTableProperties;
33+
import io.trino.spi.connector.ConnectorTableVersion;
3234
import io.trino.spi.connector.Constraint;
3335
import io.trino.spi.connector.ConstraintApplicationResult;
3436
import io.trino.spi.connector.LimitApplicationResult;
@@ -62,6 +64,7 @@
6264
import static io.trino.connector.informationschema.InformationSchemaTable.TABLE_PRIVILEGES;
6365
import static io.trino.connector.informationschema.InformationSchemaTable.VIEWS;
6466
import static io.trino.metadata.MetadataUtil.findColumnMetadata;
67+
import static io.trino.spi.StandardErrorCode.NOT_SUPPORTED;
6568
import static io.trino.spi.type.VarcharType.createUnboundedVarcharType;
6669
import static java.util.Collections.emptyList;
6770
import static java.util.Locale.ENGLISH;
@@ -95,8 +98,12 @@ public List<String> listSchemaNames(ConnectorSession session)
9598
}
9699

97100
@Override
98-
public ConnectorTableHandle getTableHandle(ConnectorSession connectorSession, SchemaTableName tableName)
101+
public ConnectorTableHandle getTableHandle(ConnectorSession connectorSession, SchemaTableName tableName, Optional<ConnectorTableVersion> startVersion, Optional<ConnectorTableVersion> endVersion)
99102
{
103+
if (startVersion.isPresent() || endVersion.isPresent()) {
104+
throw new TrinoException(NOT_SUPPORTED, "This connector does not support versioned tables");
105+
}
106+
100107
return InformationSchemaTable.of(tableName)
101108
.map(table -> new InformationSchemaTableHandle(catalogName, table, defaultPrefixes(catalogName), OptionalLong.empty()))
102109
.orElse(null);

core/trino-main/src/main/java/io/trino/connector/system/SystemTablesMetadata.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.trino.spi.connector.ConnectorSession;
2424
import io.trino.spi.connector.ConnectorTableHandle;
2525
import io.trino.spi.connector.ConnectorTableMetadata;
26+
import io.trino.spi.connector.ConnectorTableVersion;
2627
import io.trino.spi.connector.Constraint;
2728
import io.trino.spi.connector.ConstraintApplicationResult;
2829
import io.trino.spi.connector.SchemaTableName;
@@ -39,6 +40,7 @@
3940
import static io.trino.connector.system.SystemColumnHandle.toSystemColumnHandles;
4041
import static io.trino.metadata.MetadataUtil.findColumnMetadata;
4142
import static io.trino.spi.StandardErrorCode.NOT_FOUND;
43+
import static io.trino.spi.StandardErrorCode.NOT_SUPPORTED;
4244
import static java.lang.String.format;
4345
import static java.util.Collections.singletonMap;
4446
import static java.util.Objects.requireNonNull;
@@ -63,12 +65,17 @@ public List<String> listSchemaNames(ConnectorSession session)
6365
}
6466

6567
@Override
66-
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName)
68+
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName, Optional<ConnectorTableVersion> startVersion, Optional<ConnectorTableVersion> endVersion)
6769
{
6870
Optional<SystemTable> table = tables.getSystemTable(session, tableName);
6971
if (table.isEmpty()) {
7072
return null;
7173
}
74+
75+
if (startVersion.isPresent() || endVersion.isPresent()) {
76+
throw new TrinoException(NOT_SUPPORTED, "This connector does not support versioned tables");
77+
}
78+
7279
return SystemTableHandle.fromSchemaTableName(tableName);
7380
}
7481

core/trino-main/src/main/java/io/trino/metadata/CatalogMetadata.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import io.trino.spi.connector.CatalogSchemaName;
2323
import io.trino.spi.connector.ConnectorCapabilities;
2424
import io.trino.spi.connector.ConnectorMetadata;
25+
import io.trino.spi.connector.ConnectorTableVersion;
2526
import io.trino.spi.connector.ConnectorTransactionHandle;
2627

2728
import java.util.List;
29+
import java.util.Optional;
2830
import java.util.Set;
2931

3032
import static com.google.common.base.MoreObjects.toStringHelper;
@@ -130,13 +132,14 @@ public CatalogHandle getConnectorHandleForSchema(CatalogSchemaName schema)
130132
return catalogTransaction.getCatalogHandle();
131133
}
132134

133-
public CatalogHandle getCatalogHandle(Session session, QualifiedObjectName table)
135+
public CatalogHandle getCatalogHandle(Session session, QualifiedObjectName table, Optional<ConnectorTableVersion> startVersion, Optional<ConnectorTableVersion> endVersion)
134136
{
135137
if (table.schemaName().equals(INFORMATION_SCHEMA_NAME)) {
136138
return informationSchemaTransaction.getCatalogHandle();
137139
}
138140

139-
if (systemTransaction.getConnectorMetadata(session).getTableHandle(session.toConnectorSession(systemTransaction.getCatalogHandle()), table.asSchemaTableName()) != null) {
141+
if (systemTransaction.getConnectorMetadata(session)
142+
.getTableHandle(session.toConnectorSession(systemTransaction.getCatalogHandle()), table.asSchemaTableName(), startVersion, endVersion) != null) {
140143
return systemTransaction.getCatalogHandle();
141144
}
142145

core/trino-main/src/main/java/io/trino/metadata/MetadataManager.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -275,16 +275,19 @@ public Optional<TableHandle> getTableHandle(Session session, QualifiedObjectName
275275
}
276276

277277
return getOptionalCatalogMetadata(session, table.catalogName()).flatMap(catalogMetadata -> {
278-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, table);
278+
Optional<ConnectorTableVersion> startTableVersion = toConnectorVersion(startVersion);
279+
Optional<ConnectorTableVersion> endTableVersion = toConnectorVersion(endVersion);
280+
281+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, table, startTableVersion, endTableVersion);
279282
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
280283

281284
ConnectorSession connectorSession = session.toConnectorSession(catalogHandle);
282285

283286
ConnectorTableHandle tableHandle = metadata.getTableHandle(
284287
connectorSession,
285288
table.asSchemaTableName(),
286-
toConnectorVersion(startVersion),
287-
toConnectorVersion(endVersion));
289+
startTableVersion,
290+
endTableVersion);
288291
return Optional.ofNullable(tableHandle)
289292
.map(connectorTableHandle -> new TableHandle(
290293
catalogHandle,
@@ -1496,7 +1499,7 @@ public Map<String, Object> getViewProperties(Session session, QualifiedObjectNam
14961499
Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, viewName.catalogName());
14971500
if (catalog.isPresent()) {
14981501
CatalogMetadata catalogMetadata = catalog.get();
1499-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName);
1502+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName, Optional.empty(), Optional.empty());
15001503
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
15011504

15021505
ConnectorSession connectorSession = session.toConnectorSession(catalogHandle);
@@ -1537,7 +1540,7 @@ private Optional<ConnectorViewDefinition> getViewInternal(Session session, Quali
15371540
Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, viewName.catalogName());
15381541
if (catalog.isPresent()) {
15391542
CatalogMetadata catalogMetadata = catalog.get();
1540-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName);
1543+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName, Optional.empty(), Optional.empty());
15411544
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
15421545

15431546
ConnectorSession connectorSession = session.toConnectorSession(catalogHandle);
@@ -1766,7 +1769,7 @@ private Optional<ConnectorMaterializedViewDefinition> getMaterializedViewInterna
17661769
Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, viewName.catalogName());
17671770
if (catalog.isPresent()) {
17681771
CatalogMetadata catalogMetadata = catalog.get();
1769-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName);
1772+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName, Optional.empty(), Optional.empty());
17701773
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
17711774

17721775
ConnectorSession connectorSession = session.toConnectorSession(catalogHandle);
@@ -1781,7 +1784,7 @@ public Map<String, Object> getMaterializedViewProperties(Session session, Qualif
17811784
Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, viewName.catalogName());
17821785
if (catalog.isPresent()) {
17831786
CatalogMetadata catalogMetadata = catalog.get();
1784-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName);
1787+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName, Optional.empty(), Optional.empty());
17851788
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
17861789

17871790
ConnectorSession connectorSession = session.toConnectorSession(catalogHandle);
@@ -1799,7 +1802,7 @@ public MaterializedViewFreshness getMaterializedViewFreshness(Session session, Q
17991802
Optional<CatalogMetadata> catalog = getOptionalCatalogMetadata(session, viewName.catalogName());
18001803
if (catalog.isPresent()) {
18011804
CatalogMetadata catalogMetadata = catalog.get();
1802-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName);
1805+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, viewName, Optional.empty(), Optional.empty());
18031806
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
18041807

18051808
ConnectorSession connectorSession = session.toConnectorSession(catalogHandle);
@@ -1863,7 +1866,7 @@ public Optional<TableScanRedirectApplicationResult> applyTableScanRedirect(Sessi
18631866
return metadata.applyTableScanRedirect(connectorSession, tableHandle.connectorHandle());
18641867
}
18651868

1866-
private QualifiedObjectName getRedirectedTableName(Session session, QualifiedObjectName originalTableName)
1869+
private QualifiedObjectName getRedirectedTableName(Session session, QualifiedObjectName originalTableName, Optional<TableVersion> startVersion, Optional<TableVersion> endVersion)
18671870
{
18681871
requireNonNull(session, "session is null");
18691872
requireNonNull(originalTableName, "originalTableName is null");
@@ -1884,7 +1887,7 @@ private QualifiedObjectName getRedirectedTableName(Session session, QualifiedObj
18841887
}
18851888

18861889
CatalogMetadata catalogMetadata = catalog.get();
1887-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, tableName);
1890+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, tableName, toConnectorVersion(startVersion), toConnectorVersion(endVersion));
18881891
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
18891892

18901893
Optional<QualifiedObjectName> redirectedTableName = metadata.redirectTable(session.toConnectorSession(catalogHandle), tableName.asSchemaTableName())
@@ -1917,7 +1920,7 @@ public RedirectionAwareTableHandle getRedirectionAwareTableHandle(Session sessio
19171920
@Override
19181921
public RedirectionAwareTableHandle getRedirectionAwareTableHandle(Session session, QualifiedObjectName tableName, Optional<TableVersion> startVersion, Optional<TableVersion> endVersion)
19191922
{
1920-
QualifiedObjectName targetTableName = getRedirectedTableName(session, tableName);
1923+
QualifiedObjectName targetTableName = getRedirectedTableName(session, tableName, startVersion, endVersion);
19211924
if (targetTableName.equals(tableName)) {
19221925
return noRedirection(getTableHandle(session, tableName, startVersion, endVersion));
19231926
}
@@ -2426,7 +2429,7 @@ public List<GrantInfo> listTablePrivileges(Session session, QualifiedTablePrefix
24262429
ConnectorSession connectorSession = session.toConnectorSession(catalogMetadata.getCatalogHandle());
24272430

24282431
List<CatalogHandle> catalogHandles = prefix.asQualifiedObjectName()
2429-
.map(qualifiedTableName -> singletonList(catalogMetadata.getCatalogHandle(session, qualifiedTableName)))
2432+
.map(qualifiedTableName -> singletonList(catalogMetadata.getCatalogHandle(session, qualifiedTableName, Optional.empty(), Optional.empty())))
24302433
.orElseGet(catalogMetadata::listCatalogHandles);
24312434
for (CatalogHandle catalogHandle : catalogHandles) {
24322435
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
@@ -2778,7 +2781,7 @@ public OptionalInt getMaxWriterTasks(Session session, String catalogName)
27782781
public WriterScalingOptions getNewTableWriterScalingOptions(Session session, QualifiedObjectName tableName, Map<String, Object> tableProperties)
27792782
{
27802783
CatalogMetadata catalogMetadata = getCatalogMetadataForWrite(session, tableName.catalogName());
2781-
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, tableName);
2784+
CatalogHandle catalogHandle = catalogMetadata.getCatalogHandle(session, tableName, Optional.empty(), Optional.empty());
27822785
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(session, catalogHandle);
27832786
return metadata.getNewTableWriterScalingOptions(session.toConnectorSession(catalogHandle), tableName.asSchemaTableName(), tableProperties);
27842787
}

core/trino-main/src/main/java/io/trino/testing/TestingMetadata.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import io.trino.spi.connector.ConnectorTableHandle;
3333
import io.trino.spi.connector.ConnectorTableLayout;
3434
import io.trino.spi.connector.ConnectorTableMetadata;
35+
import io.trino.spi.connector.ConnectorTableVersion;
3536
import io.trino.spi.connector.ConnectorViewDefinition;
3637
import io.trino.spi.connector.MaterializedViewFreshness;
3738
import io.trino.spi.connector.MaterializedViewNotFoundException;
@@ -62,6 +63,7 @@
6263
import static com.google.common.base.MoreObjects.toStringHelper;
6364
import static com.google.common.base.Preconditions.checkArgument;
6465
import static io.trino.spi.StandardErrorCode.ALREADY_EXISTS;
66+
import static io.trino.spi.StandardErrorCode.NOT_SUPPORTED;
6567
import static io.trino.spi.connector.MaterializedViewFreshness.Freshness.FRESH;
6668
import static io.trino.spi.connector.MaterializedViewFreshness.Freshness.STALE;
6769
import static java.util.Collections.synchronizedSet;
@@ -90,8 +92,12 @@ public List<String> listSchemaNames(ConnectorSession session)
9092
}
9193

9294
@Override
93-
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName)
95+
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName, Optional<ConnectorTableVersion> startVersion, Optional<ConnectorTableVersion> endVersion)
9496
{
97+
if (startVersion.isPresent() || endVersion.isPresent()) {
98+
throw new TrinoException(NOT_SUPPORTED, "This connector does not support versioned tables");
99+
}
100+
95101
requireNonNull(tableName, "tableName is null");
96102
if (!tables.containsKey(tableName)) {
97103
return null;

core/trino-main/src/main/java/io/trino/tracing/TracingConnectorMetadata.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,6 @@ public List<String> listSchemaNames(ConnectorSession session)
132132
}
133133
}
134134

135-
@Override
136-
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName)
137-
{
138-
Span span = startSpan("getTableHandle", tableName);
139-
try (var _ = scopedSpan(span)) {
140-
return delegate.getTableHandle(session, tableName);
141-
}
142-
}
143-
144135
@Override
145136
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName, Optional<ConnectorTableVersion> startVersion, Optional<ConnectorTableVersion> endVersion)
146137
{

core/trino-main/src/test/java/io/trino/connector/MockConnector.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.trino.connector.MockConnectorFactory.ApplyTopN;
2828
import io.trino.connector.MockConnectorFactory.ListRoleGrants;
2929
import io.trino.spi.Page;
30+
import io.trino.spi.TrinoException;
3031
import io.trino.spi.connector.AggregateFunction;
3132
import io.trino.spi.connector.AggregationApplicationResult;
3233
import io.trino.spi.connector.BeginTableExecuteResult;
@@ -58,6 +59,7 @@
5859
import io.trino.spi.connector.ConnectorTableLayout;
5960
import io.trino.spi.connector.ConnectorTableMetadata;
6061
import io.trino.spi.connector.ConnectorTableProperties;
62+
import io.trino.spi.connector.ConnectorTableVersion;
6163
import io.trino.spi.connector.ConnectorTransactionHandle;
6264
import io.trino.spi.connector.ConnectorViewDefinition;
6365
import io.trino.spi.connector.Constraint;
@@ -125,6 +127,7 @@
125127
import static com.google.common.collect.ImmutableMap.toImmutableMap;
126128
import static com.google.common.collect.ImmutableSet.toImmutableSet;
127129
import static io.trino.connector.MockConnector.MockConnectorSplit.MOCK_CONNECTOR_SPLIT;
130+
import static io.trino.spi.StandardErrorCode.NOT_SUPPORTED;
128131
import static io.trino.spi.connector.MaterializedViewFreshness.Freshness.FRESH;
129132
import static io.trino.spi.connector.MaterializedViewFreshness.Freshness.STALE;
130133
import static io.trino.spi.connector.RowChangeParadigm.DELETE_ROW_AND_INSERT_ROW;
@@ -535,8 +538,12 @@ public void setSchemaAuthorization(ConnectorSession session, String schemaName,
535538
public void dropSchema(ConnectorSession session, String schemaName, boolean cascade) {}
536539

537540
@Override
538-
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName)
541+
public ConnectorTableHandle getTableHandle(ConnectorSession session, SchemaTableName tableName, Optional<ConnectorTableVersion> startVersion, Optional<ConnectorTableVersion> endVersion)
539542
{
543+
if (startVersion.isPresent() || endVersion.isPresent()) {
544+
throw new TrinoException(NOT_SUPPORTED, "This connector does not support versioned tables");
545+
}
546+
540547
return getTableHandle.apply(session, tableName);
541548
}
542549

0 commit comments

Comments
 (0)