This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-03. For the latest, interactive version please visit https://mariadb.com/kb/.

Scrivere plugin per MariaDB

Panoramica

Generalmente parlando, scrivere plugin per MariaDB è molto simile a scriverli per MySQL.

Plugin di autenticazione

Si veda Pluggable Authentication.

Plugin di tipo Storage Engine

Gli Storage Engine possono estendere la sintassi di CREATE TABLE con clausole opzionali per i campi, gli indici e le tabelle. Si veda Estendere CREATE TABLE per ulteriori informazioni.

Struttura della dichiarazione dei plugin

In MariaDB 5.2 è stata introdotta una nuova dichiarazione dei plugin. Essa differisce da quella dei plugin di MySQL nei modi seguenti:

  1. non c'è l'inutile campo 'reserved' (l'ultimo nella dichiarazione dei plugin per MySQL)
  2. c'è una dichiarazione 'maturity'
  3. c'è un campo per la rappresentazione testuale vel campo version

MariaDB può caricare i plugin che hanno soltanto le dichiarazioni per MySQL, ma il numero di versione apparirà come '0', mentre maturity e author version appariranno come 'Unknown' nella tabella INFORMATION_SCHEMA.PLUGINS.

Per i plugin compilati (non caricati dinamicamente), la presenza della dichiarazione per MariaDB è obbligatoria.

Dichiarazione di esempio per un plugin

Ecco un esempio di dichiarazione per un plugin di MariaDB:

/* dichiarazione di un plugin per MariaDB */
maria_declare_plugin(example)
{
   MYSQL_STORAGE_ENGINE_PLUGIN, /* il tipo di plugin (vedi include/mysql/plugin.h) */
   &example_storage_engine_info, /* puntatore al descrittore del tipo specifico */
   "EXAMPLEDB", /* nome del plugin */
   "John Smith",  /* autore del plugin */
   "Example of plugin interface", /* descrizione del plugin */
   PLUGIN_LICENSE_GPL, /* licenza del plugin (vedi include/mysql/plugin.h) */
   example_init_func,   /* puntatore alla funzione di inizializzazione del plugin */
   example_deinit_func,  /* puntatore alla funzione di deinizializzazione */
   0x0001 /* versione numerica: 0xAABB significa AA.BB */,
   example_status_variables,  /* variabili di stato */
   example_system_variables,  /* variabili di sistema */
   "0.1 example",  /* rappresentazione stringa della versione */
   MariaDB_PLUGIN_MATURITY_EXPERIMENTAL /* maturità (vedi include/mysql/plugin.h)*/
}
maria_declare_plugin_end;
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.