37.4. Données globales avec PL/Tcl
Quelque fois, il est utile d'avoir des données globales qui
sont conservées entre deux appels à une fonction ou qui sont
partagées entre plusieurs fonctions. Ceci peut être facilement
obtenu car toutes les fonctions PL/Tcl exécutées dans une
session partagent le même interpréteur Tcl sûr. Donc, toute
variable globale Tcl est accessible aux appels de fonctions
PL/Tcl et persisteront pour la durée de la session SQL (notez
que les fonctions PL/TclU
partagent de la même façon les données globales mais elles sont
dans un interpréteur Tcl différent et ne peuvent pas
communiquer avec les fonctions PL/Tcl).
Pour aider à la protection des fonctions PL/Tcl sur les
interférences non intentionnelles, un tableau global est rendu
disponible pour chaque fonction via la commande upvar. Le nom global de cette variable est le
nom interne de la fonction alors que le nom local est
GD. Il est recommandé d'utiliser
GD pour les données privées
persistantes d'une fonction. Utilisez les variables globales
Tcl uniquement pour les valeurs que vous avez l'intention de
partager avec les autres fonctions.
Un exemple de l'utilisation de GD
apparaît dans l'exemple spi_execp
ci-dessous.