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.

Schéma

z_asgard_admin

Seuls g_admin[6] et ses membres sont habilités à utiliser cette fonction.

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 :

1
2
SELECT z_asgard_admin.asgard_sortie_gestion_schema('special') ;