@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GrantInfo grantInfo = (GrantInfo) o; return Objects.equals(privilegeInfo, grantInfo.getPrivilegeInfo()) && Objects.equals(grantee, grantInfo.getIdentity()) && Objects.equals(schemaTableName, grantInfo.getSchemaTableName()) && Objects.equals(grantor, grantInfo.getGrantor()) && Objects.equals(withHierarchy, grantInfo.getWithHierarchy()); } }
private InternalTable buildTablePrivileges(Session session, Set<QualifiedTablePrefix> prefixes) { InternalTable.Builder table = InternalTable.builder(informationSchemaTableColumns(TABLE_TABLE_PRIVILEGES)); for (QualifiedTablePrefix prefix : prefixes) { List<GrantInfo> grants = ImmutableList.copyOf(listTablePrivileges(session, metadata, accessControl, prefix)); for (GrantInfo grant : grants) { for (PrivilegeInfo privilegeInfo : grant.getPrivilegeInfo()) { table.add( grant.getGrantor().orElse(null), grant.getIdentity().getUser(), prefix.getCatalogName(), grant.getSchemaTableName().getSchemaName(), grant.getSchemaTableName().getTableName(), privilegeInfo.getPrivilege().name(), privilegeInfo.isGrantOption(), grant.getWithHierarchy().orElse(null)); } } } return table.build(); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GrantInfo grantInfo = (GrantInfo) o; return Objects.equals(privilegeInfo, grantInfo.getPrivilegeInfo()) && Objects.equals(grantee, grantInfo.getIdentity()) && Objects.equals(schemaTableName, grantInfo.getSchemaTableName()) && Objects.equals(grantor, grantInfo.getGrantor()) && Objects.equals(withHierarchy, grantInfo.getWithHierarchy()); } }