asgard_nettoyage_roles

fonction d'actualisation des noms de rôles enregistrés dans la table de gestion (après changement de nom)

z_asgard.asgard_nettoyage_roles()

La fonction asgard_nettoyage_roles active la mise à jour des noms des rôles désignés dans la table de gestion[1] comme producteurs[2], éditeurs[3] et lecteurs[4], pour prendre en compte les changements de nom ou suppressions qui auraient pu avoir eu lieu :

  • lorsque le nom d’un rôle a été modifié, l’ancien nom est remplacé par le nouveau ;

  • lorsqu’un rôle n’existe plus, le champ lecteur ou éditeur est remis à NULL.

Pour plus de précisions, cf. Modification des rôles.

Dans la mesure où ne seront nettoyés que les enregistrements auxquels l’utilisateur a accès dans la vue utilisateur[5], il est fortement conseillé que cette fonction soit lancée par un membre de g_admin.

Schéma

z_asgard

Syntaxe

SELECT z_asgard.asgard_nettoyage_roles() ;

Arguments

Néant.

Résultat

« __ NETTOYAGE REUSSI. » si la requête s’est exécutée normalement.

Exemple

L’administrateur avait désigné le rôle de groupe g_ped comme producteur ou éditeur sur plusieurs schémas de la base. Ce rôle était nommé d’après le pôle « études et données », qui vient de changer de nom, devenant le pôle « connaissance des territoires ». Il décide de renommer le rôle de groupe en conséquence :

1
2
ALTER ROLE g_ped RENAME TO g_pct ;

Pour que ce changement devienne apparent dans la table de gestion, il exécute la fonction asgard_nettoyage_roles.

1
2
SELECT z_asgard.asgard_nettoyage_roles() ;
1
2
NOTICE: [table de gestion] Schéma w_snow. Mise à jour du libellé du rôle producteur, renommé entre temps.
3
DETAIL: Ancien nom "g_ped", nouveau nom "g_pct".
4
NOTICE: [table de gestion] Schéma c_bibliotheque. Mise à jour du libellé du rôle éditeur, renommé entre temps.
5
DETAIL: Ancien nom "g_ped", nouveau nom "g_pct".