Falls die MonetDB mit einer Funktion erweitert werden soll, die nicht aus den vorhandenen Funktionen hergeleitet werden kann, ist es notwendig, eine eigene UDF (User Defined Function) zu implementieren. Diese Seite baut auf den Informationen aus dem Kochbuch auf.

Als Beispiel dient die Funktion bitcount. Diese ist wie folgt definiert:

unsigned int bitcount(unsigned int value)

Es sei darauf hingewiesen, dass die Funktion nur auf 32-Bit Werten definiert ist.

<HTML><ol></HTML>

Test im mclient:

$ select bitcount(7);

sollte 3 zurückliefern. Es kann wie gewohnt auch mit der Funktion gerechnet werden:

$ select bitcount(7)+1;

sollte 4 zurückliefern.

Hinweis: Die erste Version ist langsamer, als eine direkte Implementierung in SQL. Hier gilt es noch zu evaluieren, wo der Bottleneck ist. Weiterhin führt der Datentyp 'wrd' scheinbar zu einem Überlauf.

Zeiten: