Extensions Image, Audio et Vidéo Administration et programmation

Fonctions UDF

Les fonctions utilisateur (ou fonctions UDF) permettent de créer des fonctions SQL, et d'enrichir ainsi le jeu de fonctions intégrées fourni par DB2. Vous pouvez notamment créer des fonctions UDF pour l'exécution d'opérations propres aux objets de type image, audio et vidéo. Vous pouvez créer, par exemple, une fonction UDF pour la détermination du format de compression des séquences vidéo, ou pour le calcul de la fréquence d'échantillonnage des séquences audio. Vous avez ainsi la possibilité de définir le comportement des objets d'un type particulier. Les objets vidéo, par exemple, se comportent conformément aux fonctions créées pour le type vidéo, et les objets image suivant celles créées pour le type image.

La création des fonctions UDF s'effectue par l'instruction SQL CREATE FUNCTION. Cette dernière spécifie notamment le type de données auquel s'applique la fonction. Dans l'exemple fourni ci-après, l'instruction crée une fonction UDF appelée échelle_carte qui calcule l'échelle des cartes. La fonction identifie par (carte) le type de données auquel elle peut s'appliquer. Le code mettant cette fonction en oeuvre est écrit en C et est identifié dans la clause EXTERNAL NAME :

CREATE FUNCTION Echelle_carte (carte)
  RETURNS SMALLINT
  EXTERNAL NAME 'scale!map'
  LANGUAGE C
  PARAMETER STYLE DB2SQL
  NO SQL
  DETERMINISTIC
  NO EXTERNAL ACTION

Les fonctions UDF peuvent être utilisées dans une instruction SQL de la même façon que les fonctions intégrées. Dans l'exemple qui suit, la fonction échelle_carte est appelée à partir d'une instruction SQL SELECT pour obtenir l'échelle d'une carte stockée dans la colonne appelée grille.

SELECT échelle_carte (grille)
  FROM communes
  WHERE emplacement='SAN JOSE, CALIFORNIE'

Chaque extension DB2 crée un ensemble de fonctions UDF qui lui sont propres (à savoir, des fonctions image, audio ou vidéo). Vous utilisez ces fonctions dans des instructions SQL pour exécuter des opérations propres aux extensions DB2, telles que le stockage d'une image dans une table, le calcul de la fréquence d'échantillonnage d'une vidéo, ou l'ajout de commentaires à une séquence audio.


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]