Jedes Plug-In muss eine allgemeine Plug-In-Deklaration
besitzen. Die Deklaration entspricht der
st_mysql_plugin
-Struktur in der
plugin.h
-Datei:
struct st_mysql_plugin { int type; /* Der Plug-In-Typ (ein MYSQL_XXX_PLUGIN-Wert) */ void *info; /* Zeiger auf den typspezifischen Plug-In-Deskriptor */ const char *name; /* Plug-In-Name */ const char *author; /* Plug-In-Autor (für SHOW PLUGINS) */ const char *descr; /* Allgemeine Beschreibung (für SHOW PLUGINS ) */ int (*init)(void); /* Die beim Laden des Plug-Ins aufgerufene Funktion */ int (*deinit)(void); /* Die beim Entladen des Plug-Ins aufgerufene Funktion */ };
Die st_mysql_plugin
-Struktur ist allen
Plug-In-Typen gemein. Ihre Bestandteile sollten
folgendermaßen ausgefüllt werden:
type
Der Plug-In-Typ. Dieser muss einer der Plug-In-Typwerte
aus plugin.h
sein. Für ein
Volltext-Parser-Plug-In ist der
type
-Wert
MYSQL_FTPARSER_PLUGIN
.
info
Ein Zeiger auf den Deskriptor für das Plug-In. Anders als die allgemeine Plug-In-Deklarationsstruktur hängt die Struktur dieses Deskriptors von dem konkreten Plug-In-Typ ab. Jeder Deskriptor hat eine Versionsnummer, die auf die API-Version für diesen Plug-In-Typ verweist, sowie andere erforderliche Bestandteile. Der Deskriptor für Volltext-Plug-Ins ist in Abschnitt 26.2.5.2, „Typspezifische Plug-In-Strukturen und -Funktionen“, beschrieben.
name
Der Name des Plug-Ins. Dieser wird in der
plugin
-Tabelle aufgeführt und in
SQL-Anweisungen wie INSTALL PLUGIN
und
UNINSTALL PLUGIN
zur Benennung des
Plug-Ins verwendet.
author
Der Autor des Plug-Ins. Kann alles sein, was Sie wollen.
desc
Eine allgemeine Beschreibung des Plug-Ins. Kann alles sein, was Sie wollen.
init
Eine nur einmalig benutzte Initialisierungsfunktion. Diese
wird ausgeführt, wenn das Plug-In geladen wird, was bei
INSTALL PLUGIN
oder für Plug-Ins aus
der plugin
-Tabelle beim Serverstart
geschieht. Diese Funktion hat keine Argumente und gibt bei
Erfolg null und bei Misserfolg einen von null
verschiedenen Wert zurück.
deinit
Eine nur einmalig benutzte Deinitialisierungsfunktion.
Diese wird ausgeführt, wenn das Plug-In entladen wird,
was bei UNINSTALL PLUGIN
oder für
Plug-Ins aus der plugin
-Tabelle beim
Server-Shutdown geschieht. Diese Funktion hat keine
Argumente und gibt bei Erfolg null und bei Misserfolg
einen von null verschiedenen Wert zurück
Die Funktionen init
und
deinit
in der allgemeinen
Plug-In-Deklaration werden nur beim Laden und Entladen des
Plug-Ins aufgerufen. Sie haben nichts mit einer Benutzung des
Plug-Ins zu tun, wie sie vorliegt, wenn eine SQL-Anweisung das
Plug-In aufruft.
Wenn eine init
- oder
deinit
-Funktion für ein Plug-In nicht
notwendig ist, kann sie in der
st_mysql_plugin
-Struktur mit 0 angegeben
werden.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.