| createAccessController(ExternalCatalog, String, Map, boolean) |  | 0% |  | 0% | 7 | 7 | 24 | 24 | 1 | 1 |
| create(String, Map) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| getPluginIdentifierForAccessController(String) |  | 0% |  | 0% | 7 | 7 | 13 | 13 | 1 | 1 |
| loadAccessControllerPlugins() |   | 37% |   | 50% | 3 | 4 | 12 | 21 | 0 | 1 |
| loadAuthorizationPluginsFromDirectory() |   | 68% |   | 57% | 5 | 8 | 11 | 30 | 0 | 1 |
| registerLegacyFactory(AccessControllerFactory) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| lazyLoadCtlAccessController(ExternalCatalog) |   | 67% |   | 35% | 10 | 11 | 6 | 28 | 0 | 1 |
| loadAccessControllerOrThrow(String) |   | 25% |   | 25% | 2 | 3 | 8 | 10 | 0 | 1 |
| checkCtlPriv(UserIdentity, String, PrivPredicate) |   | 31% |   | 12% | 4 | 5 | 7 | 9 | 0 | 1 |
| apiVersionRejectionHint() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| checkPrivByAuthInfo(ConnectContext, AuthorizationInfo, PrivPredicate) |   | 71% |   | 58% | 5 | 7 | 4 | 11 | 0 | 1 |
| isKnownAuthorizationSource(String) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| checkColumnsPriv(UserIdentity, String, String, String, Set, PrivPredicate) |   | 57% |   | 50% | 1 | 2 | 2 | 7 | 0 | 1 |
| closeEntry(String, AccessControllerManager.CatalogAccessControllerEntry) |   | 35% |   | 50% | 2 | 4 | 2 | 4 | 0 | 1 |
| closeAccessController(String, AuthorizationPlugin) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| canSkipCatalogPrivCheck(PrivPredicate) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| isGlobalScopeAuthority(AuthorizationPlugin) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| checkStorageVaultPriv(UserIdentity, String, PrivPredicate) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| controllerOf(AuthorizedResource) |   | 81% |   | 83% | 1 | 6 | 1 | 7 | 0 | 1 |
| checkStorageVaultPriv(ConnectContext, String, PrivPredicate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| shouldSkipCatalogPrivCheck(PrivPredicate) |   | 40% |   | 25% | 2 | 3 | 0 | 1 | 0 | 1 |
| adapt(String, CatalogAccessController) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeAccessController(String, long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| decide(UserIdentity, AuthorizedResource, AccessRequirement) |   | 73% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| checkIfAccessControllerExist(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| pluginLocationHint() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| detachAccessController(String, long) |   | 94% |   | 62% | 3 | 5 | 1 | 7 | 0 | 1 |
| isCurrentCatalog(ExternalCatalog) |  | 94% |   | 50% | 2 | 3 | 0 | 2 | 0 | 1 |
| lambda$detachAccessController$0() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAccessControllerOrDefault(String) |  | 100% |   | 71% | 4 | 8 | 0 | 12 | 0 | 1 |
| AccessControllerManager(Auth) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| evalDataMaskPolicy(UserIdentity, String, String, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 11 | 0 | 1 |
| evalRowFilterPolicies(UserIdentity, String, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| registerPluginFactory(AuthorizationPluginFactory) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| decideColumns(UserIdentity, AuthorizedResource.Columns, AccessRequirement) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| checkTblPriv(ConnectContext, TableNameInfo, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| checkTblPriv(ConnectContext, String, String, String, PrivPredicate) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| checkColumnsPriv(ConnectContext, String, String, String, Set, PrivPredicate) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| ask(UserIdentity, AuthorizedResource, AccessRequirement) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| checkTblPriv(UserIdentity, String, String, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkCloudPriv(UserIdentity, String, PrivPredicate, ResourceTypeEnum) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| checkDbPriv(UserIdentity, String, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkDbPriv(ConnectContext, String, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkResourcePriv(UserIdentity, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| checkCloudPriv(ConnectContext, String, PrivPredicate, ResourceTypeEnum) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkWorkloadGroupPriv(UserIdentity, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| checkGlobalPriv(UserIdentity, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkCtlPriv(ConnectContext, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkResourcePriv(ConnectContext, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkWorkloadGroupPriv(ConnectContext, String, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkGlobalPriv(ConnectContext, PrivPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$detachAccessController$2(String, AccessControllerManager.CatalogAccessControllerEntry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAuth() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| systemScopeController() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$detachAccessController$1() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |