Skip to content

Commit 6f127fc

Browse files
Catalog name to legacy
1 parent d0398e7 commit 6f127fc

File tree

10 files changed

+32
-24
lines changed

10 files changed

+32
-24
lines changed

presto-common/src/main/java/com/facebook/presto/common/QualifiedObjectName.java

+5
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ public String getLegacyObjectName()
7676
return objectName.toLowerCase(ENGLISH);
7777
}
7878

79+
public String getLegacyCatalogName()
80+
{
81+
return catalogName.toLowerCase(ENGLISH);
82+
}
83+
7984
public CatalogSchemaName getCatalogSchemaName()
8085
{
8186
return new CatalogSchemaName(catalogName, schemaName);

presto-main/src/main/java/com/facebook/presto/execution/AddColumnTask.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public ListenableFuture<?> execute(AddColumn statement, TransactionManager trans
7878
return immediateFuture(null);
7979
}
8080

81-
ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, tableName.getCatalogName());
81+
ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, tableName.getLegacyCatalogName());
8282

8383
accessControl.checkCanAddColumns(session.getRequiredTransactionId(), session.getIdentity(), session.getAccessControlContext(), tableName);
8484

@@ -108,14 +108,14 @@ public ListenableFuture<?> execute(AddColumn statement, TransactionManager trans
108108
Map<String, Expression> sqlProperties = mapFromProperties(element.getProperties());
109109
Map<String, Object> columnProperties = metadata.getColumnPropertyManager().getProperties(
110110
connectorId,
111-
tableName.getCatalogName(),
111+
tableName.getLegacyCatalogName(),
112112
sqlProperties,
113113
session,
114114
metadata,
115115
parameterExtractor(statement, parameters));
116116

117117
Identifier columnIdentifier = element.getName();
118-
String name = metadata.normalizeIdentifier(session, tableName.getCatalogName(), columnIdentifier.getValue(), columnIdentifier.isDelimited());
118+
String name = metadata.normalizeIdentifier(session, tableName.getLegacyCatalogName(), columnIdentifier.getValue(), columnIdentifier.isDelimited());
119119

120120
ColumnMetadata column = new ColumnMetadata(
121121
name,

presto-main/src/main/java/com/facebook/presto/execution/CallTask.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public ListenableFuture<?> execute(Call call, TransactionManager transactionMana
8282
}
8383

8484
QualifiedObjectName procedureName = createQualifiedObjectName(session, call, call.getName());
85-
ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, procedureName.getCatalogName(), call, catalogError);
85+
ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, procedureName.getLegacyCatalogName(), call, catalogError);
8686
Procedure procedure = metadata.getProcedureRegistry().resolve(connectorId, toSchemaTableName(procedureName, metadata, session));
8787

8888
// map declared argument names to positions

presto-main/src/main/java/com/facebook/presto/execution/CreateTableTask.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public ListenableFuture<?> internalExecute(CreateTable statement, Metadata metad
110110
return immediateFuture(null);
111111
}
112112

113-
ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, tableName.getCatalogName());
113+
ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, tableName.getLegacyCatalogName());
114114

115115
LinkedHashMap<String, ColumnMetadata> columns = new LinkedHashMap<>();
116116
Map<String, Object> inheritedProperties = ImmutableMap.of();
@@ -120,7 +120,7 @@ public ListenableFuture<?> internalExecute(CreateTable statement, Metadata metad
120120
if (element instanceof ColumnDefinition) {
121121
ColumnDefinition column = (ColumnDefinition) element;
122122
String columnName = column.getName().getValue();
123-
String name = metadata.normalizeIdentifier(session, tableName.getCatalogName(), columnName, column.getName().isDelimited());
123+
String name = metadata.normalizeIdentifier(session, tableName.getLegacyCatalogName(), columnName, column.getName().isDelimited());
124124
Type type;
125125
try {
126126
type = metadata.getType(parseTypeSignature(column.getType()));
@@ -141,7 +141,7 @@ public ListenableFuture<?> internalExecute(CreateTable statement, Metadata metad
141141
Map<String, Expression> sqlProperties = mapFromProperties(column.getProperties());
142142
Map<String, Object> columnProperties = metadata.getColumnPropertyManager().getProperties(
143143
connectorId,
144-
tableName.getCatalogName(),
144+
tableName.getLegacyCatalogName(),
145145
sqlProperties,
146146
session,
147147
metadata,
@@ -158,8 +158,8 @@ public ListenableFuture<?> internalExecute(CreateTable statement, Metadata metad
158158
else if (element instanceof LikeClause) {
159159
LikeClause likeClause = (LikeClause) element;
160160
QualifiedObjectName likeTableName = createQualifiedObjectName(session, statement, likeClause.getTableName());
161-
getConnectorIdOrThrow(session, metadata, likeTableName.getCatalogName(), statement, likeTableCatalogError);
162-
if (!tableName.getCatalogName().equals(likeTableName.getCatalogName())) {
161+
getConnectorIdOrThrow(session, metadata, likeTableName.getLegacyCatalogName(), statement, likeTableCatalogError);
162+
if (!tableName.getLegacyCatalogName().equals(likeTableName.getLegacyCatalogName())) {
163163
throw new SemanticException(NOT_SUPPORTED, statement, "LIKE table across catalogs is not supported");
164164
}
165165
TableHandle likeTable = metadata.getMetadataResolver(session).getTableHandle(likeTableName)
@@ -215,7 +215,7 @@ else if (element instanceof ConstraintSpecification) {
215215
Map<String, Expression> sqlProperties = mapFromProperties(statement.getProperties());
216216
Map<String, Object> properties = metadata.getTablePropertyManager().getProperties(
217217
connectorId,
218-
tableName.getCatalogName(),
218+
tableName.getLegacyCatalogName(),
219219
sqlProperties,
220220
session,
221221
metadata,
@@ -225,7 +225,7 @@ else if (element instanceof ConstraintSpecification) {
225225

226226
ConnectorTableMetadata tableMetadata = new ConnectorTableMetadata(toSchemaTableName(tableName, metadata, session), ImmutableList.copyOf(columns.values()), finalProperties, statement.getComment(), constraints, Collections.emptyMap());
227227
try {
228-
metadata.createTable(session, tableName.getCatalogName(), tableMetadata, statement.isNotExists());
228+
metadata.createTable(session, tableName.getLegacyCatalogName(), tableMetadata, statement.isNotExists());
229229
}
230230
catch (PrestoException e) {
231231
// connectors are not required to handle the ignoreExisting flag

presto-main/src/main/java/com/facebook/presto/execution/DropColumnTask.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public ListenableFuture<?> execute(DropColumn statement, TransactionManager tran
6969

7070
TableHandle tableHandle = tableHandleOptional.get();
7171
Identifier columnIdentifier = statement.getColumn();
72-
String column = metadata.normalizeIdentifier(session, tableName.getCatalogName(), columnIdentifier.getValue(), columnIdentifier.isDelimited());
72+
String column = metadata.normalizeIdentifier(session, tableName.getLegacyCatalogName(), columnIdentifier.getValue(), columnIdentifier.isDelimited());
7373

7474
accessControl.checkCanDropColumn(session.getRequiredTransactionId(), session.getIdentity(), session.getAccessControlContext(), tableName);
7575

presto-main/src/main/java/com/facebook/presto/execution/RenameColumnTask.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ public ListenableFuture<?> execute(RenameColumn statement, TransactionManager tr
7171
TableHandle tableHandle = tableHandleOptional.get();
7272

7373
Identifier sourceName = statement.getSource();
74-
String source = metadata.normalizeIdentifier(session, tableName.getCatalogName(), sourceName.getValue(), sourceName.isDelimited());
74+
String source = metadata.normalizeIdentifier(session, tableName.getLegacyCatalogName(), sourceName.getValue(), sourceName.isDelimited());
7575
Identifier targetName = statement.getTarget();
76-
String target = metadata.normalizeIdentifier(session, tableName.getCatalogName(), targetName.getValue(), targetName.isDelimited());
76+
String target = metadata.normalizeIdentifier(session, tableName.getLegacyCatalogName(), targetName.getValue(), targetName.isDelimited());
7777

7878
accessControl.checkCanRenameColumn(session.getRequiredTransactionId(), session.getIdentity(), session.getAccessControlContext(), tableName);
7979

presto-main/src/main/java/com/facebook/presto/execution/RenameTableTask.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public ListenableFuture<?> execute(RenameTable statement, TransactionManager tra
6767
}
6868

6969
QualifiedObjectName target = createQualifiedObjectName(session, statement, statement.getTarget());
70-
getConnectorIdOrThrow(session, metadata, target.getCatalogName(), statement, targetTableCatalogError);
70+
getConnectorIdOrThrow(session, metadata, target.getLegacyCatalogName(), statement, targetTableCatalogError);
7171
if (metadata.getMetadataResolver(session).getTableHandle(target).isPresent()) {
7272
throw new SemanticException(TABLE_ALREADY_EXISTS, statement, "Target table '%s' already exists", target);
7373
}
74-
if (!tableName.getCatalogName().equals(target.getCatalogName())) {
74+
if (!tableName.getLegacyCatalogName().equals(target.getLegacyCatalogName())) {
7575
throw new SemanticException(NOT_SUPPORTED, statement, "Table rename across catalogs is not supported");
7676
}
7777
accessControl.checkCanRenameTable(session.getRequiredTransactionId(), session.getIdentity(), session.getAccessControlContext(), tableName, target);

presto-main/src/main/java/com/facebook/presto/metadata/MetadataManager.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -550,13 +550,14 @@ public List<QualifiedObjectName> listTables(Session session, QualifiedTablePrefi
550550
Set<QualifiedObjectName> tables = new LinkedHashSet<>();
551551
if (catalog.isPresent()) {
552552
CatalogMetadata catalogMetadata = catalog.get();
553-
554553
for (ConnectorId connectorId : catalogMetadata.listConnectorIds()) {
555554
ConnectorMetadata metadata = catalogMetadata.getMetadataFor(connectorId);
556555
ConnectorSession connectorSession = session.toConnectorSession(connectorId);
557556
metadata.listTables(connectorSession, prefix.getSchemaName()).stream()
558557
.map(convertFromSchemaTableName(prefix.getCatalogName()))
559-
.filter(prefix::matches)
558+
.filter(name -> prefix.matches(new QualifiedObjectName(name.getCatalogName(),
559+
normalizeIdentifier(session, connectorId.getCatalogName(), name.getSchemaName(), identifier(name.getSchemaName()).isDelimited()),
560+
normalizeIdentifier(session, connectorId.getCatalogName(), name.getObjectName(), identifier(name.getObjectName()).isDelimited()))))
560561
.forEach(tables::add);
561562
}
562563
}
@@ -970,7 +971,9 @@ public List<QualifiedObjectName> listViews(Session session, QualifiedTablePrefix
970971
ConnectorSession connectorSession = session.toConnectorSession(connectorId);
971972
metadata.listViews(connectorSession, prefix.getSchemaName()).stream()
972973
.map(convertFromSchemaTableName(prefix.getCatalogName()))
973-
.filter(prefix::matches)
974+
.filter(name -> prefix.matches(new QualifiedObjectName(name.getCatalogName(),
975+
normalizeIdentifier(session, connectorId.getCatalogName(), name.getSchemaName(), identifier(name.getSchemaName()).isDelimited()),
976+
normalizeIdentifier(session, connectorId.getCatalogName(), name.getObjectName(), identifier(name.getObjectName()).isDelimited()))))
974977
.forEach(views::add);
975978
}
976979
}

presto-main/src/main/java/com/facebook/presto/metadata/QualifiedTablePrefix.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ else if (!tableName.isPresent()) {
120120

121121
public boolean matches(QualifiedObjectName objectName)
122122
{
123-
return Objects.equals(catalogName, objectName.getCatalogName())
123+
return Objects.equals(catalogName, objectName.getLegacyCatalogName())
124124
&& schemaName.map(schema -> Objects.equals(schema, objectName.getSchemaName())).orElse(true)
125125
&& tableName.map(table -> Objects.equals(table, objectName.getObjectName())).orElse(true);
126126
}

presto-main/src/main/java/com/facebook/presto/sql/rewrite/ShowQueriesRewrite.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -265,17 +265,17 @@ protected Node visitShowGrants(ShowGrants showGrants, Void context)
265265
throw new SemanticException(MISSING_TABLE, showGrants, "Table '%s' does not exist", tableName);
266266
}
267267

268-
catalogName = qualifiedTableName.getCatalogName();
268+
catalogName = qualifiedTableName.getLegacyCatalogName();
269269

270270
accessControl.checkCanShowTablesMetadata(
271271
session.getRequiredTransactionId(),
272272
session.getIdentity(),
273273
session.getAccessControlContext(),
274-
new CatalogSchemaName(catalogName, qualifiedTableName.getSchemaName()));
274+
new CatalogSchemaName(catalogName, qualifiedTableName.getLegacySchemaName()));
275275

276276
predicate = Optional.of(combineConjuncts(
277277
equal(identifier("table_schema"), new StringLiteral(qualifiedTableName.getSchemaName())),
278-
equal(identifier("table_name"), new StringLiteral(qualifiedTableName.getObjectName()))));
278+
equal(identifier("table_name"), new StringLiteral(qualifiedTableName.getLegacyObjectName()))));
279279
}
280280
else {
281281
if (catalogName == null) {
@@ -411,7 +411,7 @@ protected Node visitShowColumns(ShowColumns showColumns, Void context)
411411
aliasedName("data_type", "Type"),
412412
aliasedNullToEmpty("extra_info", "Extra"),
413413
aliasedNullToEmpty("comment", "Comment")),
414-
from(tableName.getCatalogName(), TABLE_COLUMNS),
414+
from(tableName.getLegacyCatalogName(), TABLE_COLUMNS),
415415
logicalAnd(
416416
equal(identifier("table_schema"), new StringLiteral(tableName.getLegacySchemaName())),
417417
equal(identifier("table_name"), new StringLiteral(tableName.getLegacyObjectName()))),

0 commit comments

Comments
 (0)