Catégories :

Fonctions contextuelles (Objet de session)

CURRENT_SECONDARY_ROLES

Renvoie le nom des rôles secondaires utilisés pour la session en cours.

Pour activer un ensemble différent de rôles secondaires pour la session, exécutez la commande USE SECONDARY ROLES.

Syntaxe

CURRENT_SECONDARY_ROLES()
Copy

Arguments

Aucun.

Renvoie

Renvoie une chaîne (VARCHAR) qui est un objet encodé JSON contenant les paires nom/valeur suivantes :

roles

Contient une liste des rôles secondaires activés. Cette liste inclut uniquement les rôles qui sont directement accordés à l’utilisateur ; les rôles inférieurs dans la hiérarchie de ces rôles ne sont pas répertoriés.

value

Contient une liste des rôles secondaires demandés, soit ceux demandés avec la propriété DEFAULT_SECONDARY_ROLES de l’utilisateur actuel ou avec la commande USE SECONDARY ROLES.

Notes sur l’utilisation

L’octroi d’un accès sur une UDF sécurisée ou une vue sécurisée contenant CURRENT_SECONDARY_ROLES à un partage est autorisé. Lorsque la vue ou l’UDF sécurisée est accessible à partir du compte client de partage de données, CURRENT_SECONDARY_ROLES renvoie toujours une valeur NULL.

Exemples

L’utilisateur actuel a DEFAULT_SECONDARY_ROLES=('ALL'). Les rôles personnalisés role1, role2 et role3 sont accordés à l’utilisateur actuel et sont actifs en tant que rôles secondaires :

SELECT CURRENT_SECONDARY_ROLES();
Copy
+------------------------------------------------------+
|           CURRENT_SECONDARY_ROLES()                  |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"}          |
+------------------------------------------------------+