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 } | COMMUTATOR =op_com
| NEGATOR =op_neg
| HASHES | MERGES } [, ... ] )
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, vous devez être capable d'utiliser
SET ROLE
vers le 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 superutilisateur 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.
op_com
Le commutateur de cet opérateur. Peut seulement être modifié si l'opérateur n'a pas de commutateur existant.
op_neg
La négation de l'opérateur. Peut seulement être modifié si l'opérateur n'a pas de naégation existante.
HASHES
Précise si cette opérateur peut supporter une jointure par hachage. Peut seulement être activé, mais pas désactivé.
MERGES
Précise si cette opérateur peut supporter une jointure par assemblage. Peut seulement être activé, mais pas désactivé.
Référez-vous à Section 36.14 et Section 36.15 pour plus d'informations.
Comme les commutateurs arrivent par paires, chacun étant le commutateur de
l'autre, ALTER OPERATOR SET COMMUTATOR
va aussi
configurer le commutateur de op_com
pour être le commutateur cible. De
la même façon, ALTER OPERATOR SET NEGATOR
configurera
aussi le négatif de op_neg
comme opérateur cible. De ce fait, vous devez être le propriétaire de
l'opérateur commutateur ou négateur, ainsi que de l'opérateur cible.
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 && (int[], int[]) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);
Mark the &&
operator as being its own
commutator:
ALTER OPERATOR && (int[], int[]) SET (COMMUTATOR = &&);
Il n'existe pas d'instructions ALTER OPERATOR
dans le
standard SQL.