32.8. Fonctions internes
Les fonctions internes sont des fonctions écrites en C qui ont
été liées de façon statique dans le serveur PostgreSQL™. Le « corps » de la définition de la fonction
spécifie le nom en langage C de la fonction, qui n'est pas
obligatoirement le même que le nom déclaré pour l'utilisation
en SQL (pour des raisons de rétro compatibilité, un corps vide
est accepté pour signifier que le nom de la fonction en langage
C est le même que le nom SQL).
Normalement, toutes les fonctions internes présentes dans le
serveur sont déclarées pendant l'initialisation du groupe de
base de données (initdb) mais un utilisateur
peut utiliser la commande CREATE
FUNCTION pour créer des noms d'alias
supplémentaires pour une fonction interne. Les fonctions
internes sont déclarées dans la commande CREATE FUNCTION avec le nom
de langage internal. Par exemple, pour
créer un alias de la fonction sqrt :
CREATE FUNCTION racine_carree(double precision) RETURNS double precision AS
'dsqrt'
LANGUAGE internal STRICT;
(la plupart des fonctions internes doivent être déclarées
« STRICT »)
Note
Toutes les fonctions « prédéfinies » ne sont pas internes (au
sens explicité ci-dessus). Quelques fonctions prédéfinies
sont écrites en SQL.