Re : Utilisation des fonctions de l'API DataBlade
Posted in 1998
Translated from English by DrWatson — View original
Carlos (carlosfe@aludra.usc.edu) a écrit : : : Pouvons-nous ajouter ceci à la FAQ ? Q : J'écris une fonction définie par l'utilisateur en « C ». Les exemples de la documentation incluent tous des fichiers comme « mi.h ». Où se trouve milib.a ? R : Les différentes fonctions déclarées dans les en-têtes mi.h et décrites dans le DataBlade API Guide sont en réalité implémentées dans le noyau du serveur DBMS lui-même. Rappelez-vous le principe fondamental de l'extensibilité UDO : votre code s'exécute à l'intérieur du serveur. Lorsque vous écrivez votre fonction et que vous la compilez, vous devez créer un fichier de « bibliothèque partagée ». Dans une bibliothèque partagée, le compilateur stocke les noms des différentes fonctions que vous avez créées ainsi qu'une liste des fonctions qui doivent être résolues au moment de l'édition de liens. Lorsque UDO appelle votre fonction, il lie cette bibliothèque partagée au noyau et résout tous ces symboles. Ensuite, lors de l'exécution de votre UDR, celle-ci peut effectivement rappeler le serveur pour des opérations telles que la gestion de la mémoire, les fichiers ou l'émission d'appels SQL. Les modalités précises varient d'un compilateur à l'autre et d'une plate-forme à l'autre. La meilleure solution consiste à utiliser le DataBlade Developers Kit pour générer les fonctions et les makefiles, puis à les utiliser.