ALTER OPERATOR — Modifier la définition d'un opérateur
ALTER OPERATORnom
( {type_gauche
| NONE } ,type_droit
) OWNER TO {nouveau_propriétaire
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER OPERATORnom
( {type_gauche
| NONE } ,type_droit
) SET SCHEMAnouveau_schema
ALTER OPERATORnom
( {type_gauche
| NONE } ,type_droit
) SET ( { RESTRICT = {proc_res
| NONE } | JOIN = {proc_join
| NONE } } [, ... ] )
ALTER OPERATOR
modifie la définition d'un opérateur.
Seul le propriétaire de l'opérateur peut utiliser
ALTER OPERATOR
. Pour modifier le propriétaire, il est nécessaire
d'être un membre direct ou indirect du nouveau rôle propriétaire, et ce
rôle doit avoir le droit CREATE
sur le schéma de
l'opérateur.
Ces restrictions assurent que la modification du propriétaire
produise le même résultat que la suppression et la re-création de
l'opérateur ; néanmoins, un super-utilisateur
peut modifier le propriétaire de n'importe quel opérateur.
nom
Le nom de l'opérateur (éventuellement qualifié du nom du schéma).
type_gauche
Le type de données de l'opérande gauche de l'opérateur ;
NONE
si l'opérateur n'a pas d'opérande gauche.
type_droit
Le type de données de l'opérande droit de l'opérateur.
nouveau_propriétaire
Le nouveau propriétaire de l'opérateur.
nouveau_schéma
Le nouveau schéma de l'opérateur.
proc_res
La fonction d'estimation de la sélectivité de restriction pour cet opérateur ; écrire NONE pour supprimer cet estimateur.
join_proc
La fonction d'estimation de la sélectivité de jointure pour cet opérateur ; écrire NONE pour supprimer cet estimateur.
Modifier le propriétaire d'un opérateur personnalisé
a @@ b
pour le type text
:
ALTER OPERATOR @@ (text, text) OWNER TO joe;
Modifier les fonctions de sélectivité de restriction et de jointure pour
un opérateur personnalisé a && b
pour le type int[]
:
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);
Il n'existe pas d'instructions ALTER OPERATOR
dans le
standard SQL.