Every server plugin must have a general descriptor that provides
information to the plugin API, and a type-specific descriptor
that provides information about the plugin interface for a given
type of plugin. The structure of the general descriptor is the
same for all plugin types. The structure of the type-specific
descriptor varies among plugin types and is determined by the
requirements of what the given type needs to do. The server
plugin interface also enables plugins to expose status and
system variables. These variables become invisible through the
SHOW STATUS
and
SHOW VARIABLES
statements and
through the corresponding INFORMATION_SCHEMA
tables.
On the client side, the architecture is a bit different. Each plugin must have a descriptor, but there is no division into separate general and type-specific descriptors. Instead, the descriptor for all client plugin types begins with a common set of members, which are followed by any additional members required to implement speicific plugin types.