asgard_sortie_gestion_schema
fonction de déréférencement, qui retire un schéma du périmètre sur lequel ASGARD assure la gestion des droits
z_asgard_admin.asgard_sortie_gestion_schema(n_schema text)
La fonction asgard_sortie_gestion_schema
permet de supprimer de la table de gestion[1] un schéma existant[2] (qui échappera alors aux mécanismes de gestion des droits), en outrepassant les règles qui veulent que seules les lignes avec creation
valant False
puisse être ciblées par des commandes DELETE
et que creation
ne puisse être mis à False
si le schéma existe.
Cf. Désactiver ASGARD ? pour une discussion sur les circonstances d’utilisation de cette fonction.
À noter que le déréférencement n’agit pas sur les droits. En particulier, les privilèges des éventuels ex-lecteur[3] et ex-éditeur[4] du schéma sont conservés si des rôles étaient encore désignés pour ces fonctions au moment du déréférencement.
Un schéma identifié comme appartenant à la nomenclature nationale[5] ne pourra pas être déréférencé. Il faudrait préalablement basculer sur False
le champ nomenclature
.
Syntaxe⚓
SELECT z_asgard_admin.asgard_sortie_gestion_schema('%n_schema') ;
Ou, en nommant l’argument :
SELECT z_asgard_admin.asgard_sortie_gestion_schema(n_schema := '%n_schema') ;
Argument⚓
n_schema
est une chaîne de caractères correspondant au nom d’un schéma présumé référencé dans la table de gestion (sinon la fonction n’aura pas d’effet).
Les valeurs de n_schema
s’écrivent sans les guillemets doubles nécessaires aux identifiants des commandes SQL, même s’il s’agit de noms non normalisés. Par exemple, on veillera bien à indiquer 'c_Bibliothèque' et non '"c_Bibliothèque"'.
Résultat⚓
« __ DEREFERENCEMENT REUSSI. » si la requête s’est exécutée normalement.
Exemple :
L’administrateur ne souhaite plus que les droits sur le schéma special
soit gérés par ASGARD. Il exécute la fonction asgard_sortie_gestion_schema
:
SELECT z_asgard_admin.asgard_sortie_gestion_schema('special') ;