Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Chapitre 36. PL/Tcl - Langage de procédures Tcl | Avance rapide | Suivant |
unknown
PL/Tcl dispose du support de chargement automatique de code Tcl lorsqu'il est utilisé. Il reconnaît une table spéciale, pltcl_modules, qui est présumée contenir les modules de code Tcl. Si cette table existe, le module unknown est récupéré de la table et chargé immédiatement dans l'interpréteur Tcl avant la première exécution d'une fonction PL/Tcl dans une session. (Ceci survient séparément pour PL/Tcl et PL/TclU, si les deux sont utilisés, car des interpréteurs séparés sont utilisés pour les deux langages.)
Alors que le module unknown pourrait réellement contenir
tout script d'initialisation dont vous avez besoin, il définit
normalement une procédure Tcl unknown
qui est appelée
lorsque Tcl ne reconnaît pas le nom de la procédure appelée. La version
standard de PL/Tcl essaie de trouver un module dans
pltcl_modules qui définira la procédure requis. Si une procédure
est trouvée, elle est chargée dans l'interpréteur, puis l'exécution est
permise avec l'appel original de la procédure. Une deuxième table
pltcl_modfuncs fournit un index des fonctions et des modules
qui les définissent, de façon à ce que la recherche soit rapide.
La distribution PostgreSQL inclut les scripts de support pour maintenir ces tables : pltcl_loadmod, pltcl_listmod, pltcl_delmod ainsi que le source pour le module standard unknown dans share/unknown.pltcl. Ce module doit être chargeable dans chaque base de données initialement pour supporter le mécanisme de chargement automatique.
Les tables pltcl_modules et pltcl_modfuncs doivent être lisibles par tous mais il est conseillé de les laisser modifiables uniquement par le propriétaire, administrateur de la base de données. Pour des raisons de sécurité, PL/Tcl ignorera pltcl_modules (et donc n'essaiera pas de charger le module unknown) sauf s'il appartient à un superutilisateur. Cependant, les droits de modification sur cette table peuvent être données à d'autres utilisateurs si vous avez suffisamment confiance en eux.
Précédent | Sommaire | Suivant |
Procédures pour déclencheurs en PL/Tcl | Niveau supérieur | Noms de procédure Tcl |