This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
commit fbab211d776a1990c9d63adeb8b2d9efdfad8da2 Author: xu tao <xutao_u...@163.com> AuthorDate: Thu Dec 8 10:22:09 2022 +0800 [fix] 'SHOW ROLES' statement does not display resource privilege (#14812) (#14897) --- .../java/org/apache/doris/mysql/privilege/RoleManager.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java index 09a7d3aadf..0a31786b84 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java @@ -145,9 +145,13 @@ public class RoleManager implements Writable { info.add(role.getRoleName()); info.add(Joiner.on(", ").join(role.getUsers())); - Map<PrivLevel, String> infoMap = role.getTblPatternToPrivs().entrySet().stream() - .collect(Collectors.groupingBy(entry -> entry.getKey().getPrivLevel())).entrySet().stream() - .collect(Collectors.toMap(Entry::getKey, entry -> { + Map<PrivLevel, String> infoMap = + Stream.concat( + role.getTblPatternToPrivs().entrySet().stream() + .collect(Collectors.groupingBy(entry -> entry.getKey().getPrivLevel())).entrySet().stream(), + role.getResourcePatternToPrivs().entrySet().stream() + .collect(Collectors.groupingBy(entry -> entry.getKey().getPrivLevel())).entrySet().stream() + ).collect(Collectors.toMap(Entry::getKey, entry -> { if (entry.getKey() == PrivLevel.GLOBAL) { return entry.getValue().stream().findFirst().map(priv -> priv.getValue().toString()) .orElse(FeConstants.null_string); @@ -156,7 +160,8 @@ public class RoleManager implements Writable { .map(priv -> priv.getKey() + ": " + priv.getValue()) .collect(Collectors.joining("; ")); } - })); + }, (s1, s2) -> s1 + " " + s2 + )); Stream.of(PrivLevel.GLOBAL, PrivLevel.CATALOG, PrivLevel.DATABASE, PrivLevel.TABLE, PrivLevel.RESOURCE) .forEach(level -> { String infoItem = infoMap.get(level); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org