presto-main/src/main/java/io/prestosql/security/AccessControlManager.java/AccessControlManager/checkCanShowTablesMetadata
class AccessControlManager:    @Override
    public void checkCanShowTablesMetadata(SecurityContext context, CatalogSchemaName schema)
    {
        requireNonNull(context, "context is null");
        requireNonNull(schema, "schema is null");

        authenticationCheck(() -> checkCanAccessCatalog(context.getIdentity(), schema.getCatalogName()));

        authorizationCheck(() -> systemAccessControl.get().checkCanShowTablesMetadata(context.toSystemSecurityContext(), schema));

        CatalogAccessControlEntry entry = getConnectorAccessControl(context.getTransactionId(), schema.getCatalogName());
        if (entry != null) {
            authorizationCheck(() -> entry.getAccessControl().checkCanShowTablesMetadata(entry.toConnectorSecurityContext(context), schema.getSchemaName()));
        }
    }