diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/BridgingHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/BridgingHiveMetastore.java index db8d01f8b372..224689581120 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/BridgingHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/BridgingHiveMetastore.java @@ -81,13 +81,13 @@ public BridgingHiveMetastore(ThriftMetastore delegate, HiveIdentity identity) @Override public Optional getDatabase(String databaseName) { - return delegate.getDatabase(databaseName).map(ThriftMetastoreUtil::fromMetastoreApiDatabase); + return delegate.getDatabase(identity, databaseName).map(ThriftMetastoreUtil::fromMetastoreApiDatabase); } @Override public List getAllDatabases() { - return delegate.getAllDatabases(); + return delegate.getAllDatabases(identity); } @Override @@ -143,19 +143,19 @@ public void updatePartitionStatistics(Table table, Map getAllTables(String databaseName) { - return delegate.getAllTables(databaseName); + return delegate.getAllTables(identity, databaseName); } @Override public List getTablesWithParameter(String databaseName, String parameterKey, String parameterValue) { - return delegate.getTablesWithParameter(databaseName, parameterKey, parameterValue); + return delegate.getTablesWithParameter(identity, databaseName, parameterKey, parameterValue); } @Override public List getAllViews(String databaseName) { - return delegate.getAllViews(databaseName); + return delegate.getAllViews(identity, databaseName); } @Override @@ -173,12 +173,12 @@ public void dropDatabase(String databaseName, boolean deleteData) @Override public void renameDatabase(String databaseName, String newDatabaseName) { - org.apache.hadoop.hive.metastore.api.Database database = delegate.getDatabase(databaseName) + org.apache.hadoop.hive.metastore.api.Database database = delegate.getDatabase(identity, databaseName) .orElseThrow(() -> new SchemaNotFoundException(databaseName)); database.setName(newDatabaseName); delegate.alterDatabase(identity, databaseName, database); - delegate.getDatabase(databaseName).ifPresent(newDatabase -> { + delegate.getDatabase(identity, databaseName).ifPresent(newDatabase -> { if (newDatabase.getName().equals(databaseName)) { throw new TrinoException(NOT_SUPPORTED, "Hive metastore does not support renaming schemas"); } @@ -188,7 +188,7 @@ public void renameDatabase(String databaseName, String newDatabaseName) @Override public void setDatabaseOwner(String databaseName, HivePrincipal principal) { - Database database = fromMetastoreApiDatabase(delegate.getDatabase(databaseName) + Database database = fromMetastoreApiDatabase(delegate.getDatabase(identity, databaseName) .orElseThrow(() -> new SchemaNotFoundException(databaseName))); Database newDatabase = Database.builder(database) @@ -408,67 +408,67 @@ public void alterPartition(String databaseName, String tableName, PartitionWithS @Override public void createRole(String role, String grantor) { - delegate.createRole(role, grantor); + delegate.createRole(identity, role, grantor); } @Override public void dropRole(String role) { - delegate.dropRole(role); + delegate.dropRole(identity, role); } @Override public Set listRoles() { - return delegate.listRoles(); + return delegate.listRoles(identity); } @Override public void grantRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) { - delegate.grantRoles(roles, grantees, adminOption, grantor); + delegate.grantRoles(identity, roles, grantees, adminOption, grantor); } @Override public void revokeRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) { - delegate.revokeRoles(roles, grantees, adminOption, grantor); + delegate.revokeRoles(identity, roles, grantees, adminOption, grantor); } @Override public Set listGrantedPrincipals(String role) { - return delegate.listGrantedPrincipals(role); + return delegate.listGrantedPrincipals(identity, role); } @Override public Set listRoleGrants(HivePrincipal principal) { - return delegate.listRoleGrants(principal); + return delegate.listRoleGrants(identity, principal); } @Override public void grantTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) { - delegate.grantTablePrivileges(databaseName, tableName, tableOwner, grantee, grantor, privileges, grantOption); + delegate.grantTablePrivileges(identity, databaseName, tableName, tableOwner, grantee, grantor, privileges, grantOption); } @Override public void revokeTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) { - delegate.revokeTablePrivileges(databaseName, tableName, tableOwner, grantee, grantor, privileges, grantOption); + delegate.revokeTablePrivileges(identity, databaseName, tableName, tableOwner, grantee, grantor, privileges, grantOption); } @Override public Set listTablePrivileges(String databaseName, String tableName, Optional tableOwner, Optional principal) { - return delegate.listTablePrivileges(databaseName, tableName, tableOwner, principal); + return delegate.listTablePrivileges(identity, databaseName, tableName, tableOwner, principal); } @Override public Optional getConfigValue(String name) { - return delegate.getConfigValue(name); + return delegate.getConfigValue(identity, name); } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java index 6fca52c2dea9..15bd2c870b01 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java @@ -254,13 +254,13 @@ public ThriftMetastoreStats getStats() } @Override - public List getAllDatabases() + public List getAllDatabases(HiveIdentity identity) { try { return retry() .stopOnIllegalExceptions() .run("getAllDatabases", stats.getGetAllDatabases().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { return client.getAllDatabases(); } })); @@ -274,14 +274,14 @@ public List getAllDatabases() } @Override - public Optional getDatabase(String databaseName) + public Optional getDatabase(HiveIdentity identity, String databaseName) { try { return retry() .stopOn(NoSuchObjectException.class) .stopOnIllegalExceptions() .run("getDatabase", stats.getGetDatabase().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { return Optional.of(client.getDatabase(databaseName)); } })); @@ -298,14 +298,14 @@ public Optional getDatabase(String databaseName) } @Override - public List getAllTables(String databaseName) + public List getAllTables(HiveIdentity identity, String databaseName) { try { return retry() .stopOn(NoSuchObjectException.class) .stopOnIllegalExceptions() .run("getAllTables", () -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { return client.getAllTables(databaseName); } }); @@ -322,14 +322,14 @@ public List getAllTables(String databaseName) } @Override - public List getTablesWithParameter(String databaseName, String parameterKey, String parameterValue) + public List getTablesWithParameter(HiveIdentity identity, String databaseName, String parameterKey, String parameterValue) { try { return retry() .stopOn(UnknownDBException.class) .stopOnIllegalExceptions() .run("getTablesWithParameter", stats.getGetTablesWithParameter().wrap( - () -> doGetTablesWithParameter(databaseName, parameterKey, parameterValue))); + () -> doGetTablesWithParameter(identity, databaseName, parameterKey, parameterValue))); } catch (UnknownDBException e) { return ImmutableList.of(); @@ -751,14 +751,14 @@ private void setColumnStatistics(HiveIdentity identity, String objectName, List< } @Override - public void createRole(String role, String grantor) + public void createRole(HiveIdentity identity, String role, String grantor) { try { retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("createRole", stats.getCreateRole().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { client.createRole(role, grantor); return null; } @@ -773,14 +773,14 @@ public void createRole(String role, String grantor) } @Override - public void dropRole(String role) + public void dropRole(HiveIdentity identity, String role) { try { retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("dropRole", stats.getDropRole().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { client.dropRole(role); return null; } @@ -795,14 +795,14 @@ public void dropRole(String role) } @Override - public Set listRoles() + public Set listRoles(HiveIdentity identity) { try { return retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("listRoles", stats.getListRoles().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { return ImmutableSet.copyOf(client.getRoleNames()); } })); @@ -816,11 +816,12 @@ public Set listRoles() } @Override - public void grantRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) + public void grantRoles(HiveIdentity identity, Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) { for (HivePrincipal grantee : grantees) { for (String role : roles) { grantRole( + identity, role, grantee.getName(), fromTrinoPrincipalType(grantee.getType()), grantor.getName(), fromTrinoPrincipalType(grantor.getType()), @@ -829,14 +830,14 @@ public void grantRoles(Set roles, Set grantees, boolean a } } - private void grantRole(String role, String granteeName, PrincipalType granteeType, String grantorName, PrincipalType grantorType, boolean grantOption) + private void grantRole(HiveIdentity identity, String role, String granteeName, PrincipalType granteeType, String grantorName, PrincipalType grantorType, boolean grantOption) { try { retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("grantRole", stats.getGrantRole().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { client.grantRole(role, granteeName, granteeType, grantorName, grantorType, grantOption); return null; } @@ -851,11 +852,12 @@ private void grantRole(String role, String granteeName, PrincipalType granteeTyp } @Override - public void revokeRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) + public void revokeRoles(HiveIdentity identity, Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) { for (HivePrincipal grantee : grantees) { for (String role : roles) { revokeRole( + identity, role, grantee.getName(), fromTrinoPrincipalType(grantee.getType()), adminOption); @@ -863,14 +865,14 @@ public void revokeRoles(Set roles, Set grantees, boolean } } - private void revokeRole(String role, String granteeName, PrincipalType granteeType, boolean grantOption) + private void revokeRole(HiveIdentity identity, String role, String granteeName, PrincipalType granteeType, boolean grantOption) { try { retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("revokeRole", stats.getRevokeRole().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { client.revokeRole(role, granteeName, granteeType, grantOption); return null; } @@ -885,14 +887,14 @@ private void revokeRole(String role, String granteeName, PrincipalType granteeTy } @Override - public Set listGrantedPrincipals(String role) + public Set listGrantedPrincipals(HiveIdentity identity, String role) { try { return retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("listPrincipals", stats.getListGrantedPrincipals().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { return fromRolePrincipalGrants(client.listGrantedPrincipals(role)); } })); @@ -906,14 +908,14 @@ public Set listGrantedPrincipals(String role) } @Override - public Set listRoleGrants(HivePrincipal principal) + public Set listRoleGrants(HiveIdentity identity, HivePrincipal principal) { try { return retry() .stopOn(MetaException.class) .stopOnIllegalExceptions() .run("listRoleGrants", stats.getListRoleGrants().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { return fromRolePrincipalGrants(client.listRoleGrants(principal.getName(), fromTrinoPrincipalType(principal.getType()))); } })); @@ -927,7 +929,7 @@ public Set listRoleGrants(HivePrincipal principal) } @Override - public List getAllViews(String databaseName) + public List getAllViews(HiveIdentity identity, String databaseName) { try { return retry() @@ -936,14 +938,14 @@ public List getAllViews(String databaseName) .run("getAllViews", stats.getGetAllViews().wrap(() -> { if (translateHiveViews) { return alternativeCall( - this::createMetastoreClient, + () -> createMetastoreClient(identity), exception -> !isUnknownMethodExceptionalResponse(exception), chosesGetAllViewsAlternative, client -> client.getTableNamesByType(databaseName, TableType.VIRTUAL_VIEW.name()), // fallback to enumerating Presto views only (Hive views will still be executed, but will be listed as tables) - client -> doGetTablesWithParameter(databaseName, PRESTO_VIEW_FLAG, "true")); + client -> doGetTablesWithParameter(identity, databaseName, PRESTO_VIEW_FLAG, "true")); } - return doGetTablesWithParameter(databaseName, PRESTO_VIEW_FLAG, "true"); + return doGetTablesWithParameter(identity, databaseName, PRESTO_VIEW_FLAG, "true"); })); } catch (UnknownDBException e) { @@ -957,7 +959,7 @@ public List getAllViews(String databaseName) } } - private List doGetTablesWithParameter(String databaseName, String parameterKey, String parameterValue) + private List doGetTablesWithParameter(HiveIdentity identity, String databaseName, String parameterKey, String parameterValue) throws TException { checkArgument(TABLE_PARAMETER_SAFE_KEY_PATTERN.matcher(parameterKey).matches(), "Parameter key contains invalid characters: '%s'", parameterKey); @@ -978,7 +980,7 @@ private List doGetTablesWithParameter(String databaseName, String parame String filterWithLike = HIVE_FILTER_FIELD_PARAMS + parameterKey + " LIKE \"" + parameterValue + "\""; return alternativeCall( - this::createMetastoreClient, + () -> createMetastoreClient(identity), ThriftHiveMetastore::defaultIsValidExceptionalResponse, chosenTableParamAlternative, client -> client.getTableNamesByFilter(databaseName, filterWithEquals), @@ -1442,7 +1444,7 @@ public List getPartitionsByNames(HiveIdentity identity, String databa } @Override - public void grantTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) + public void grantTablePrivileges(HiveIdentity identity, String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) { Set requestedPrivileges = privileges.stream() .map(privilege -> new HivePrivilegeInfo(privilege, grantOption, grantor, grantee)) @@ -1454,8 +1456,8 @@ public void grantTablePrivileges(String databaseName, String tableName, String t retry() .stopOnIllegalExceptions() .run("grantTablePrivileges", stats.getGrantTablePrivileges().wrap(() -> { - try (ThriftMetastoreClient metastoreClient = createMetastoreClient()) { - Set existingPrivileges = listTablePrivileges(databaseName, tableName, Optional.of(tableOwner), Optional.of(grantee)); + try (ThriftMetastoreClient metastoreClient = createMetastoreClient(identity)) { + Set existingPrivileges = listTablePrivileges(identity, databaseName, tableName, Optional.of(tableOwner), Optional.of(grantee)); Set privilegesToGrant = new HashSet<>(requestedPrivileges); Iterator iterator = privilegesToGrant.iterator(); @@ -1494,7 +1496,7 @@ else if (existingPrivilege.isContainedIn(requestedPrivilege)) { } @Override - public void revokeTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) + public void revokeTablePrivileges(HiveIdentity identity, String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) { Set requestedPrivileges = privileges.stream() .map(privilege -> new HivePrivilegeInfo(privilege, grantOption, grantor, grantee)) @@ -1506,8 +1508,8 @@ public void revokeTablePrivileges(String databaseName, String tableName, String retry() .stopOnIllegalExceptions() .run("revokeTablePrivileges", stats.getRevokeTablePrivileges().wrap(() -> { - try (ThriftMetastoreClient metastoreClient = createMetastoreClient()) { - Set existingHivePrivileges = listTablePrivileges(databaseName, tableName, Optional.of(tableOwner), Optional.of(grantee)).stream() + try (ThriftMetastoreClient metastoreClient = createMetastoreClient(identity)) { + Set existingHivePrivileges = listTablePrivileges(identity, databaseName, tableName, Optional.of(tableOwner), Optional.of(grantee)).stream() .map(HivePrivilegeInfo::getHivePrivilege) .collect(toImmutableSet()); @@ -1533,13 +1535,13 @@ public void revokeTablePrivileges(String databaseName, String tableName, String } @Override - public Set listTablePrivileges(String databaseName, String tableName, Optional tableOwner, Optional principal) + public Set listTablePrivileges(HiveIdentity identity, String databaseName, String tableName, Optional tableOwner, Optional principal) { try { return retry() .stopOnIllegalExceptions() .run("listTablePrivileges", stats.getListTablePrivileges().wrap(() -> { - try (ThriftMetastoreClient client = createMetastoreClient()) { + try (ThriftMetastoreClient client = createMetastoreClient(identity)) { ImmutableSet.Builder privileges = ImmutableSet.builder(); List hiveObjectPrivilegeList; if (principal.isEmpty()) { @@ -1857,13 +1859,13 @@ public String getValidWriteIds(HiveIdentity identity, List tabl } @Override - public Optional getConfigValue(String name) + public Optional getConfigValue(HiveIdentity identity, String name) { try { return retry() .stopOnIllegalExceptions() .run("getConfigValueFromServer", () -> { - try (ThriftMetastoreClient metastoreClient = createMetastoreClient()) { + try (ThriftMetastoreClient metastoreClient = createMetastoreClient(identity)) { return Optional.ofNullable(metastoreClient.getConfigValue(name, null)); } }); diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftMetastore.java index b497b260d188..1b251b211d31 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftMetastore.java @@ -61,15 +61,15 @@ public interface ThriftMetastore void alterTransactionalTable(HiveIdentity identity, Table table, long transactionId, long writeId); - List getAllDatabases(); + List getAllDatabases(HiveIdentity identity); - List getAllTables(String databaseName); + List getAllTables(HiveIdentity identity, String databaseName); - List getTablesWithParameter(String databaseName, String parameterKey, String parameterValue); + List getTablesWithParameter(HiveIdentity identity, String databaseName, String parameterKey, String parameterValue); - List getAllViews(String databaseName); + List getAllViews(HiveIdentity identity, String databaseName); - Optional getDatabase(String databaseName); + Optional getDatabase(HiveIdentity identity, String databaseName); void addPartitions(HiveIdentity identity, String databaseName, String tableName, List partitions); @@ -95,29 +95,29 @@ public interface ThriftMetastore void updatePartitionStatistics(HiveIdentity identity, Table table, String partitionName, Function update); - void createRole(String role, String grantor); + void createRole(HiveIdentity identity, String role, String grantor); - void dropRole(String role); + void dropRole(HiveIdentity identity, String role); - Set listRoles(); + Set listRoles(HiveIdentity identity); - void grantRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor); + void grantRoles(HiveIdentity identity, Set roles, Set grantees, boolean adminOption, HivePrincipal grantor); - void revokeRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor); + void revokeRoles(HiveIdentity identity, Set roles, Set grantees, boolean adminOption, HivePrincipal grantor); - Set listGrantedPrincipals(String role); + Set listGrantedPrincipals(HiveIdentity identity, String role); - Set listRoleGrants(HivePrincipal principal); + Set listRoleGrants(HiveIdentity identity, HivePrincipal principal); - void grantTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption); + void grantTablePrivileges(HiveIdentity identity, String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption); - void revokeTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption); + void revokeTablePrivileges(HiveIdentity identity, String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption); /** * @param tableOwner * @param principal when empty, all table privileges are returned */ - Set listTablePrivileges(String databaseName, String tableName, Optional tableOwner, Optional principal); + Set listTablePrivileges(HiveIdentity identity, String databaseName, String tableName, Optional tableOwner, Optional principal); boolean isImpersonationEnabled(); @@ -171,7 +171,7 @@ default String getValidWriteIds(HiveIdentity identity, List tab throw new UnsupportedOperationException(); } - default Optional getConfigValue(String name) + default Optional getConfigValue(HiveIdentity identity, String name) { return Optional.empty(); } diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/thrift/InMemoryThriftMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/thrift/InMemoryThriftMetastore.java index 008fc5e3bd2c..b441285e388d 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/thrift/InMemoryThriftMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/thrift/InMemoryThriftMetastore.java @@ -137,7 +137,7 @@ public synchronized void dropDatabase(HiveIdentity identity, String databaseName if (!databases.containsKey(databaseName)) { throw new SchemaNotFoundException(databaseName); } - if (!getAllTables(databaseName).isEmpty()) { + if (!getAllTables(identity, databaseName).isEmpty()) { throw new TrinoException(SCHEMA_NOT_EMPTY, "Schema not empty: " + databaseName); } databases.remove(databaseName); @@ -171,7 +171,7 @@ public synchronized void alterDatabase(HiveIdentity identity, String databaseNam } @Override - public synchronized List getAllDatabases() + public synchronized List getAllDatabases(HiveIdentity identity) { return ImmutableList.copyOf(databases.keySet()); } @@ -292,7 +292,7 @@ public void alterTransactionalTable(HiveIdentity identity, Table table, long tra } @Override - public synchronized List getAllTables(String databaseName) + public synchronized List getAllTables(HiveIdentity identity, String databaseName) { ImmutableList.Builder tables = ImmutableList.builder(); for (SchemaTableName schemaTableName : this.relations.keySet()) { @@ -304,7 +304,7 @@ public synchronized List getAllTables(String databaseName) } @Override - public synchronized List getTablesWithParameter(String databaseName, String parameterKey, String parameterValue) + public synchronized List getTablesWithParameter(HiveIdentity identity, String databaseName, String parameterKey, String parameterValue) { requireNonNull(parameterKey, "parameterKey is null"); requireNonNull(parameterValue, "parameterValue is null"); @@ -317,7 +317,7 @@ public synchronized List getTablesWithParameter(String databaseName, Str } @Override - public synchronized List getAllViews(String databaseName) + public synchronized List getAllViews(HiveIdentity identity, String databaseName) { ImmutableList.Builder tables = ImmutableList.builder(); for (SchemaTableName schemaTableName : this.views.keySet()) { @@ -329,7 +329,7 @@ public synchronized List getAllViews(String databaseName) } @Override - public synchronized Optional getDatabase(String databaseName) + public synchronized Optional getDatabase(HiveIdentity identity, String databaseName) { return Optional.ofNullable(databases.get(databaseName)); } @@ -495,61 +495,61 @@ public synchronized void updatePartitionStatistics(HiveIdentity identity, Table } @Override - public void createRole(String role, String grantor) + public void createRole(HiveIdentity identity, String role, String grantor) { throw new UnsupportedOperationException(); } @Override - public void dropRole(String role) + public void dropRole(HiveIdentity identity, String role) { throw new UnsupportedOperationException(); } @Override - public Set listRoles() + public Set listRoles(HiveIdentity identity) { throw new UnsupportedOperationException(); } @Override - public void grantRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) + public void grantRoles(HiveIdentity identity, Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) { throw new UnsupportedOperationException(); } @Override - public void revokeRoles(Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) + public void revokeRoles(HiveIdentity identity, Set roles, Set grantees, boolean adminOption, HivePrincipal grantor) { throw new UnsupportedOperationException(); } @Override - public Set listGrantedPrincipals(String role) + public Set listGrantedPrincipals(HiveIdentity identity, String role) { throw new UnsupportedOperationException(); } @Override - public Set listRoleGrants(HivePrincipal principal) + public Set listRoleGrants(HiveIdentity identity, HivePrincipal principal) { throw new UnsupportedOperationException(); } @Override - public Set listTablePrivileges(String databaseName, String tableName, Optional tableOwner, Optional principal) + public Set listTablePrivileges(HiveIdentity identity, String databaseName, String tableName, Optional tableOwner, Optional principal) { return ImmutableSet.of(); } @Override - public void grantTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) + public void grantTablePrivileges(HiveIdentity identity, String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) { throw new UnsupportedOperationException(); } @Override - public void revokeTablePrivileges(String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) + public void revokeTablePrivileges(HiveIdentity identity, String databaseName, String tableName, String tableOwner, HivePrincipal grantee, HivePrincipal grantor, Set privileges, boolean grantOption) { throw new UnsupportedOperationException(); }