This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 56cc777087 [fix] 'SHOW ROLES' statement does not display resource
privilege (#14812) (#14897)
56cc777087 is described below
commit 56cc77708781669a4017362495404499f6d2c6c4
Author: xu tao <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]