Nom |
Description |
TRUSTED |
Ce paramètre permet d'indiquer que le langage n'accorde pas l'accès aux données que l'utilisateur n'aurait pas autrement. Si ce mot clef est omis lors de l'enregistrement du langage, seuls les utilisateurs disposant du privilège de superutilisateur PostgreSQL peuvent utiliser ce langage pour créer de nouvelles fonctions. |
PROCEDURAL |
Ce paramètre est un mot de bruit. |
name |
Ce paramètre permet d'indiquer le nom du nouveau langage procédural. Le nom doit être unique parmi les langues de la base de données. Pour une compatibilité descendante, le nom peut être entouré de guillemets simples. |
HANDLER call_handler |
Ce paramètre permet d'indiquer le nom d'une fonction précédemment enregistrée étant appelée pour exécuter les fonctions du langage procédural. Le gestionnaire d'appel pour un langage procédural doit être écrit dans un langage compilé tel que C avec la convention d'appel de la version 1 et enregistré avec PostgreSQL en tant que fonction ne prenant aucun paramètre et renvoyant le type language_handler, un type d'espace réservé étant simplement utilisé pour identifier la fonction comme un gestionnaire d'appels. |
INLINE inline_handler |
Ce paramètre permet d'indiquer le nom d'une fonction précédemment enregistrée étant appelée pour exécuter un bloc de code anonyme (commande DO) dans ce langage. Si aucune fonction inline_handler n'est spécifiée, le langage ne prend pas en charge les blocs de code anonymes. La fonction de gestion doit prendre un paramètre de type internal, étant la représentation interne de la commande DO, et elle retournera généralement void. La valeur de retour du gestionnaire est ignorée. |
VALIDATOR valfunction |
Ce paramètre permet d'indiquer le nom d'une fonction précédemment enregistrée étant appelée lors de la création d'une nouvelle fonction dans le langage, pour valider la nouvelle fonction. Si aucune fonction de validation n'est spécifiée, une nouvelle fonction ne sera pas vérifiée lors de sa création. La fonction de validation doit prendre un paramètre de type oid, étant l'OID de la fonction à créer, et renverra généralement void. Une fonction de validation inspecte généralement le corps de la fonction pour l'exactitude syntaxique, mais elle peut également examiner d'autres propriétés de la fonction, par exemple si le langage ne peut pas gérer certains types de paramètres. Pour signaler une erreur, la fonction de validation doit utiliser la fonction ereport(). La valeur de retour de la fonction est ignorée. |
Cette instruction permet de définir un nouveau langage procédural.