| mergeNotCheck(Role) |    | 46% |    | 50% | 9 | 13 | 30 | 50 | 0 | 1 | 
| rebuildPrivTables() |    | 53% |    | 50% | 6 | 9 | 28 | 50 | 0 | 1 | 
| compatibilityAuthIndexChange(PrivBitSet) |   | 0% |   | 0% | 9 | 9 | 18 | 18 | 1 | 1 | 
| revokeCols(Map) |   | 0% |   | 0% | 7 | 7 | 14 | 14 | 1 | 1 | 
| rectifyPrivs() |    | 41% |    | 42% | 5 | 8 | 14 | 24 | 0 | 1 | 
| Role() |   | 0% |  | n/a | 1 | 1 | 27 | 27 | 1 | 1 | 
| grantPrivs(ResourcePattern, PrivBitSet) |    | 32% |    | 28% | 5 | 6 | 13 | 21 | 0 | 1 | 
| revokePrivs(ResourcePattern, PrivBitSet, boolean) |    | 28% |    | 22% | 6 | 7 | 11 | 18 | 0 | 1 | 
| revokeResourcePrivs(String, ResourceTypeEnum, PrivBitSet) |    | 31% |    | 20% | 4 | 5 | 10 | 17 | 0 | 1 | 
| Role(String, ResourcePattern, PrivBitSet) |    | 66% |    | 20% | 4 | 5 | 9 | 41 | 0 | 1 | 
| checkHasPriv(PrivPredicate, Auth.PrivLevel[]) |   | 0% |   | 0% | 8 | 8 | 9 | 9 | 1 | 1 | 
| compatibilityErrEnum() |   | 0% |   | 0% | 5 | 5 | 11 | 11 | 1 | 1 | 
| grantCols(Map) |    | 23% |    | 33% | 3 | 4 | 5 | 8 | 0 | 1 | 
| mergeColPrivMap(Map, Map) |    | 21% |    | 25% | 2 | 3 | 4 | 6 | 0 | 1 | 
| checkWorkloadGroupPriv(String, PrivPredicate, PrivBitSet) |   | 0% |   | 0% | 5 | 5 | 8 | 8 | 1 | 1 | 
| checkStorageVaultPriv(String, PrivPredicate, PrivBitSet) |   | 0% |   | 0% | 4 | 4 | 6 | 6 | 1 | 1 | 
| revokePrivs(TablePattern, PrivBitSet, Map, boolean) |    | 55% |    | 37% | 4 | 5 | 4 | 12 | 0 | 1 | 
| checkAnyColPrivWithinTbl(String, String, String) |    | 46% |    | 12% | 4 | 5 | 4 | 9 | 0 | 1 | 
| grantCatalogPrivs(String, PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 
| revokeCatalogPrivs(String, PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 
| revokePrivs(WorkloadGroupPattern, PrivBitSet, boolean) |    | 47% |    | 25% | 2 | 3 | 3 | 8 | 0 | 1 | 
| checkAnyColPrivWithinDb(String, String) |    | 48% |    | 16% | 3 | 4 | 3 | 7 | 0 | 1 | 
| revokePrivs(TablePattern, PrivBitSet) |    | 62% |    | 40% | 3 | 5 | 5 | 13 | 0 | 1 | 
| grantPrivs(TablePattern, PrivBitSet) |    | 73% |    | 57% | 3 | 6 | 4 | 16 | 0 | 1 | 
| checkColPriv(String, String, String, String, PrivPredicate, PrivBitSet) |    | 70% |    | 66% | 2 | 4 | 1 | 5 | 0 | 1 | 
| checkAnyColPrivWithinCtl(String) |    | 52% |    | 25% | 2 | 3 | 3 | 6 | 0 | 1 | 
| revokeGlobalPrivs(PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| checkStorageVaultInternal(String, PrivPredicate, PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| checkWorkloadGroupInternal(String, PrivPredicate, PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| onlyCheckColPriv(String, String, String, String, Privilege) |    | 65% |    | 50% | 1 | 2 | 1 | 4 | 0 | 1 | 
| getCloudPrivTable(ResourceTypeEnum) |    | 42% |    | 25% | 2 | 3 | 3 | 5 | 0 | 1 | 
| checkResourcePriv(String, PrivPredicate, PrivBitSet) |    | 69% |    | 50% | 3 | 4 | 2 | 6 | 0 | 1 | 
| grantTblPrivs(String, String, String, PrivBitSet) |    | 68% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| grantDbPrivs(String, String, PrivBitSet) |    | 66% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| revokeTblPrivs(String, String, String, PrivBitSet) |    | 66% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| grantWorkloadGroupPrivs(String, PrivBitSet) |    | 65% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| revokeDbPrivs(String, String, PrivBitSet) |    | 65% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| revokeWorkloadGroupPrivs(String, PrivBitSet) |    | 63% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| gsonPostProcess() |   | 0% |  | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 
| checkCloudPriv(String, PrivPredicate, ResourceTypeEnum, PrivBitSet) |    | 85% |    | 75% | 2 | 5 | 2 | 10 | 0 | 1 | 
| removeClusterPrefix() |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| Role(String, List, PrivBitSet, WorkloadGroupPattern, PrivBitSet) |    | 94% |  | n/a | 0 | 1 | 2 | 34 | 0 | 1 | 
| static {...} |    | 88% |  | n/a | 0 | 1 | 2 | 11 | 0 | 1 | 
| lambda$new$0(PrivBitSet, TablePattern) |    | 72% |  | n/a | 0 | 1 | 2 | 6 | 0 | 1 | 
| revokePrivs(ResourcePattern, PrivBitSet) |    | 77% |    | 33% | 2 | 3 | 2 | 5 | 0 | 1 | 
| isDefaultRoleName(String) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| setComment(String) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| getUsers() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getResourcePatternToPrivs() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getStorageVaultPatternToPrivs() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getClusterPatternToPrivs() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getStagePatternToPrivs() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getWorkloadGroupPatternToPrivs() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getComment() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| lambda$compatibilityErrEnum$4(PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| lambda$compatibilityErrEnum$3(PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| lambda$compatibilityErrEnum$2(PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| lambda$compatibilityErrEnum$1(PrivBitSet) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| checkTblPriv(String, String, String, PrivPredicate, PrivBitSet) |   | 96% |    | 75% | 5 | 11 | 1 | 10 | 0 | 1 | 
| checkDbPriv(String, String, PrivPredicate, PrivBitSet) |   | 95% |    | 75% | 4 | 9 | 1 | 9 | 0 | 1 | 
| checkCtlPriv(String, PrivPredicate, PrivBitSet) |   | 94% |    | 66% | 4 | 7 | 1 | 8 | 0 | 1 | 
| checkAnyPrivWithinCatalog(String) |   | 88% |    | 50% | 3 | 4 | 0 | 3 | 0 | 1 | 
| checkAnyPrivWithinDb(String, String) |   | 86% |    | 50% | 2 | 3 | 0 | 1 | 0 | 1 | 
| checkCatalogInternal(String, PrivPredicate, PrivBitSet) |   | 84% |    | 50% | 1 | 2 | 1 | 4 | 0 | 1 | 
| grantPrivs(WorkloadGroupPattern, PrivBitSet) |   | 93% |    | 50% | 2 | 3 | 1 | 5 | 0 | 1 | 
| Role(String, TablePattern, PrivBitSet, Map) |   | 100% |  | n/a | 0 | 1 | 0 | 31 | 0 | 1 | 
| Role(String, TablePattern, PrivBitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 30 | 0 | 1 | 
| Role(String, WorkloadGroupPattern, PrivBitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 30 | 0 | 1 | 
| Role(String, String) |   | 100% |  | n/a | 0 | 1 | 0 | 29 | 0 | 1 | 
| toString() |   | 100% |  | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 
| checkCloudVirtualComputeGroup(String, PrivPredicate, PrivBitSet, ResourcePrivTable) |   | 100% |   | 100% | 0 | 2 | 0 | 6 | 0 | 1 | 
| checkDbInternal(String, String, PrivPredicate, PrivBitSet) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| checkGlobalInternal(PrivPredicate, PrivBitSet) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| grantGlobalPrivs(PrivBitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| checkTblInternal(String, String, String, PrivPredicate, PrivBitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| revokePrivs(WorkloadGroupPattern, PrivBitSet) |   | 100% |    | 50% | 1 | 2 | 0 | 3 | 0 | 1 | 
| merge(Role) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| checkResourceInternal(String, PrivPredicate, PrivBitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| checkCloudInternal(String, PrivPredicate, PrivBitSet, ResourcePrivTable, ResourceTypeEnum) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| Role(String) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| checkGlobalPriv(PrivPredicate, PrivBitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getRoleName() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getTblPatternToPrivs() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getGlobalPrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getCatalogPrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getDbPrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getTablePrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getColPrivMap() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getResourcePrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getStorageVaultPrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getCloudClusterPrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getCloudStagePrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getWorkloadGroupPrivTable() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |