| mergeNotCheck(Role) |   | 55% |   | 58% | 8 | 13 | 26 | 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) |   | 41% |   | 42% | 4 | 6 | 11 | 21 | 0 | 1 |
| revokePrivs(ResourcePattern, PrivBitSet, boolean) |   | 37% |   | 33% | 5 | 7 | 9 | 18 | 0 | 1 |
| checkHasPriv(PrivPredicate, Auth.PrivLevel[]) |  | 0% |  | 0% | 8 | 8 | 9 | 9 | 1 | 1 |
| revokeResourcePrivs(String, ResourceTypeEnum, PrivBitSet) |   | 41% |   | 40% | 3 | 5 | 8 | 17 | 0 | 1 |
| Role(String, ResourcePattern, PrivBitSet) |   | 71% |   | 40% | 3 | 5 | 7 | 41 | 0 | 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 |