|
proname
|
name
|
|
Nom de la fonction
|
|
pronamespace
|
oid
|
pg_namespace
.oid
|
OID du
namespace
auquel appartient la
fonction
|
|
proowner
|
oid
|
pg_authid
.oid
|
Propriétaire de la fonction
|
|
prolang
|
oid
|
pg_language
.oid
|
Langage de codage ou interface d'appel de la fonction
|
|
proisagg
|
bool
|
|
Si vrai, la fonction est une fonction d'agrégat
|
|
prosecdef
|
bool
|
|
Si vrai, la fonction définit la sécurité (c'est une
fonction « setuid »)
|
|
proisstrict
|
bool
|
|
Si vrai, la fonction retourne NULL si l'un de ses arguments
est NULL. Dans ce cas, la fonction n'est en fait pas
appelée du tout. Les fonctions qui ne sont pas
« strictes » doivent
traiter les paramètres NULL.
|
|
proretset
|
bool
|
|
Si vrai, la fonction retourne un ensemble (c'est-à-dire des
valeurs multiples du type défini)
|
|
provolatile
|
char
|
|
Indique si le résultat de la fonction dépend uniquement de
ses arguments ou s'il est affecté par des facteurs
externes. Il vaut i pour les
fonctions « immuables », qui, pour un jeu de
paramètres identique en entrée, donnent toujours le même
résultat. Il vaut s pour les
fonctions « stables »,
dont le résultat (pour les mêmes paramètres en entrée) ne
change pas au cours du parcours (de table). Il vaut
v pour les fonctions
« volatiles », dont le
résultat peut varier à tout instant. (v est également utilisé pour les fonctions
qui ont des effets de bord, afin que les appels à ces
fonctions ne soient pas optimisés.)
|
|
pronargs
|
int2
|
|
Nombre d'arguments
|
|
prorettype
|
oid
|
pg_type
.oid
|
Type de données renvoyé
|
|
proargtypes
|
oidvector
|
pg_type
.oid
|
Un tableau contenant les types de données des arguments de
la fonction. Ceci n'inclut que les arguments en entrée
(dont les arguments INOUT) et
représente, du coup, la signature d'appel de la fonction.
|
|
proallargtypes
|
oid[]
|
pg_type
.oid
|
Un tableau contenant les types de données des arguments de
la fonction. Ceci inclut tous les arguments (y compris les
arguments OUT et INOUT) ; néanmoins, si tous les arguments
sont IN, ce champ est NULL.
L'indice commence à 1 alors que, pour des raisons
historiques,
proargtypes
commence à 0.
|
|
proargmodes
|
char[]
|
|
Un tableau contenant les modes des arguments de la
fonction, codés avec i pour les
arguments IN, o pour les arguments OUT, b pour les
arguments INOUT. Si tous les
arguments sont des arguments IN,
ce champ est NULL. Les indices correspondent aux positions
de
proallargtypes
, et
non à celles de
proargtypes
.
|
|
proargnames
|
text[]
|
|
Un tableau contenant les noms des arguments de la fonction.
Les arguments sans nom sont initialisés à des chaînes vides
dans le tableau. Si aucun des arguments n'a de nom, ce
champ est NULL. Les indices correspondent aux positions de
proallargtypes
, et
non à celles de
proargtypes
.
|
|
prosrc
|
text
|
|
Ce champ indique au gestionnaire de fonctions la façon
d'invoquer la fonction. Il peut s'agir du code source pour
un langage interprété, d'un symbole de lien, d'un nom de
fichier ou de toute autre chose, en fonction du langage ou
de la convention d'appel.
|
|
probin
|
bytea
|
|
Information supplémentaire sur la façon d'invoquer la
fonction. Encore une fois, l'interprétation dépend du
langage.
|
|
proacl
|
aclitem[]
|
|
Droits d'accès ; voir GRANT et REVOKE pour plus de
détails.
|