=== modified file 'configure.in'
--- configure.in	2009-10-23 19:26:26 +0000
+++ configure.in	2009-11-02 23:38:59 +0000
@@ -19,6 +19,7 @@
 AM_CONFIG_HEADER([include/config.h:config.h.in])
 
 PROTOCOL_VERSION=10
+MARIADB=5.1
 DOT_FRM_VERSION=6
 # See the libtool docs for information on how to do shared lib versions.
 SHARED_LIB_MAJOR_VERSION=16
@@ -81,6 +82,9 @@
 AC_SUBST(PROTOCOL_VERSION)
 AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION],
                    [mysql client protocol version])
+AC_SUBST(MARIADB)
+AC_DEFINE_UNQUOTED([MARIADB], [$MARIADB],
+                   [build for maria db])
 AC_SUBST(DOT_FRM_VERSION)
 AC_DEFINE_UNQUOTED([DOT_FRM_VERSION], [$DOT_FRM_VERSION],
                    [Version of .frm files])

=== modified file 'include/mysql/plugin.h'
--- include/mysql/plugin.h	2009-09-07 20:50:10 +0000
+++ include/mysql/plugin.h	2009-11-03 00:35:18 +0000
@@ -86,6 +86,19 @@
 #define PLUGIN_LICENSE_GPL_STRING "GPL"
 #define PLUGIN_LICENSE_BSD_STRING "BSD"
 
+/* definitions of code maturity for plugins */
+#define PLUGIN_MATURITY_TEST 0
+#define PLUGIN_MATURITY_ALPHA 1
+#define PLUGIN_MATURITY_BETA 2
+#define PLUGIN_MATURITY_GAMMA 3
+#define PLUGIN_MATURITY_RELEASE 4
+
+#define PLUGIN_MATURITY_TEST_STR "Test"
+#define PLUGIN_MATURITY_ALPHA_STR "Alpha"
+#define PLUGIN_MATURITY_BETA_STR "Beta"
+#define PLUGIN_MATURITY_GAMMA_STR "Gamma"
+#define PLUGIN_MATURITY_RELEASE_STR "Release"
+
 /*
   Macros for beginning and ending plugin declarations.  Between
   mysql_declare_plugin and mysql_declare_plugin_end there should
@@ -398,7 +411,9 @@
   const char *name;     /* plugin name                                  */
   const char *author;   /* plugin author (for SHOW PLUGINS)             */
   const char *descr;    /* general descriptive text (for SHOW PLUGINS ) */
+  const char *sversion; /* the plugin version string                    */
   int license;          /* the plugin license (PLUGIN_LICENSE_XXX)      */
+  int maturity;         /* the plugin maturity (PLUGIN_MATURITY_XXX)    */
   int (*init)(void *);  /* the function to invoke when plugin is loaded */
   int (*deinit)(void *);/* the function to invoke when plugin is unloaded */
   unsigned int version; /* plugin version (for SHOW PLUGINS)            */

=== modified file 'include/mysql/plugin.h.pp'
--- include/mysql/plugin.h.pp	2008-10-10 15:28:41 +0000
+++ include/mysql/plugin.h.pp	2009-11-03 00:35:33 +0000
@@ -38,7 +38,9 @@
   const char *name;
   const char *author;
   const char *descr;
+  const char *sversion;
   int license;
+  int maturity;
   int (*init)(void *);
   int (*deinit)(void *);
   unsigned int version;

=== modified file 'plugin/daemon_example/daemon_example.cc'
--- plugin/daemon_example/daemon_example.cc	2007-06-27 14:49:12 +0000
+++ plugin/daemon_example/daemon_example.cc	2009-11-03 00:40:26 +0000
@@ -191,7 +191,9 @@
   "daemon_example",
   "Brian Aker",
   "Daemon example, creates a heartbeat beat file in mysql-heartbeat.log",
+  "1.0",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   daemon_example_plugin_init, /* Plugin Init */
   daemon_example_plugin_deinit, /* Plugin Deinit */
   0x0100 /* 1.0 */,

=== modified file 'sql/ha_partition.cc'
--- sql/ha_partition.cc	2009-10-26 11:35:42 +0000
+++ sql/ha_partition.cc	2009-11-03 00:43:50 +0000
@@ -6495,7 +6495,9 @@
   "partition",
   "Mikael Ronstrom, MySQL AB",
   "Partition Storage Engine Helper",
+  "5.1",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   partition_initialize, /* Plugin Init */
   NULL, /* Plugin Deinit */
   0x0100, /* 1.0 */

=== modified file 'sql/log.cc'
--- sql/log.cc	2009-10-26 11:35:42 +0000
+++ sql/log.cc	2009-11-03 00:42:42 +0000
@@ -5727,7 +5727,9 @@
   "binlog",
   "MySQL AB",
   "This is a pseudo storage engine to represent the binlog in a transaction",
+  "5.1",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   binlog_init, /* Plugin Init */
   NULL, /* Plugin Deinit */
   0x0100 /* 1.0 */,

=== modified file 'sql/sql_show.cc'
--- sql/sql_show.cc	2009-09-23 11:03:47 +0000
+++ sql/sql_show.cc	2009-11-03 00:59:40 +0000
@@ -186,6 +186,44 @@
   }
   table->field[9]->set_notnull();
 
+
+  switch (plug->maturity)
+  {
+  case PLUGIN_MATURITY_TEST:
+    table->field[10]->store(PLUGIN_MATURITY_TEST_STR,
+                            strlen(PLUGIN_MATURITY_TEST_STR), cs);
+    break;
+  case PLUGIN_MATURITY_ALPHA:
+    table->field[10]->store(PLUGIN_MATURITY_ALPHA_STR,
+                            strlen(PLUGIN_MATURITY_ALPHA_STR), cs);
+    break;
+  case PLUGIN_MATURITY_BETA:
+    table->field[10]->store(PLUGIN_MATURITY_BETA_STR,
+                            strlen(PLUGIN_MATURITY_BETA_STR), cs);
+    break;
+  case PLUGIN_MATURITY_GAMMA:
+    table->field[10]->store(PLUGIN_MATURITY_GAMMA_STR,
+                            strlen(PLUGIN_MATURITY_GAMMA_STR), cs);
+    break;
+  case PLUGIN_MATURITY_RELEASE:
+    table->field[10]->store(PLUGIN_MATURITY_RELEASE_STR,
+                            strlen(PLUGIN_MATURITY_RELEASE_STR), cs);
+    break;
+  default:
+    DBUG_ASSERT(0);
+    table->field[10]->store("Unknown", 7, cs);
+    break;
+  }
+  table->field[10]->set_notnull();
+
+  if (plug->sversion)
+  {
+    table->field[11]->store(plug->sversion, strlen(plug->sversion), cs);
+    table->field[11]->set_notnull();
+  }
+  else
+    table->field[11]->set_null();
+
   return schema_table_store_record(thd, table);
 }
 
@@ -6580,6 +6618,8 @@
   {"PLUGIN_AUTHOR", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0, SKIP_OPEN_TABLE},
   {"PLUGIN_DESCRIPTION", 65535, MYSQL_TYPE_STRING, 0, 1, 0, SKIP_OPEN_TABLE},
   {"PLUGIN_LICENSE", 80, MYSQL_TYPE_STRING, 0, 1, "License", SKIP_OPEN_TABLE},
+  {"PLUGIN_MATURITY", 7, MYSQL_TYPE_STRING, 0, 1, 0, SKIP_OPEN_TABLE},
+  {"PLUGIN_AUTH_VERSION", 80, MYSQL_TYPE_STRING, 0, 1, 0, SKIP_OPEN_TABLE},
   {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}
 };
 

=== modified file 'storage/archive/ha_archive.cc'
--- storage/archive/ha_archive.cc	2009-09-07 20:50:10 +0000
+++ storage/archive/ha_archive.cc	2009-11-02 23:11:08 +0000
@@ -1633,7 +1633,9 @@
   "ARCHIVE",
   "Brian Aker, MySQL AB",
   "Archive storage engine",
+  "3.0",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   archive_db_init, /* Plugin Init */
   archive_db_done, /* Plugin Deinit */
   0x0300 /* 3.0 */,

=== modified file 'storage/blackhole/ha_blackhole.cc'
--- storage/blackhole/ha_blackhole.cc	2008-11-10 20:21:49 +0000
+++ storage/blackhole/ha_blackhole.cc	2009-11-02 23:12:08 +0000
@@ -360,7 +360,9 @@
   "BLACKHOLE",
   "MySQL AB",
   "/dev/null storage engine (anything you write to it disappears)",
+  "1.0",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   blackhole_init, /* Plugin Init */
   blackhole_fini, /* Plugin Deinit */
   0x0100 /* 1.0 */,

=== modified file 'storage/csv/ha_tina.cc'
--- storage/csv/ha_tina.cc	2009-04-25 10:05:32 +0000
+++ storage/csv/ha_tina.cc	2009-11-02 23:13:32 +0000
@@ -1627,7 +1627,9 @@
   "CSV",
   "Brian Aker, MySQL AB",
   "CSV storage engine",
+  "1.0",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   tina_init_func, /* Plugin Init */
   tina_done_func, /* Plugin Deinit */
   0x0100 /* 1.0 */,

=== modified file 'storage/example/ha_example.cc'
--- storage/example/ha_example.cc	2008-02-24 13:12:17 +0000
+++ storage/example/ha_example.cc	2009-11-02 23:14:33 +0000
@@ -897,7 +897,9 @@
   "EXAMPLE",
   "Brian Aker, MySQL AB",
   "Example storage engine",
+  "0.1 maria",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_TEST,
   example_init_func,                            /* Plugin Init */
   example_done_func,                            /* Plugin Deinit */
   0x0001 /* 0.1 */,

=== modified file 'storage/federatedx/ha_federatedx.cc'
--- storage/federatedx/ha_federatedx.cc	2009-10-30 18:50:56 +0000
+++ storage/federatedx/ha_federatedx.cc	2009-11-02 23:40:07 +0000
@@ -3476,7 +3476,13 @@
   "FEDERATED",
   "Patrick Galbraith",
   "FederatedX pluggable storage engine",
+#ifdef MARIADB
+  "1.0 beta",
+#endif
   PLUGIN_LICENSE_GPL,
+#ifdef MARIADB
+  PLUGIN_MATURITY_BETA,
+#endif
   federatedx_db_init, /* Plugin Init */
   federatedx_done, /* Plugin Deinit */
   0x0100 /* 1.0 */,

=== modified file 'storage/heap/ha_heap.cc'
--- storage/heap/ha_heap.cc	2009-09-07 20:50:10 +0000
+++ storage/heap/ha_heap.cc	2009-11-02 23:17:46 +0000
@@ -758,7 +758,9 @@
   "MEMORY",
   "MySQL AB",
   "Hash based, stored in memory, useful for temporary tables",
+  "1.0",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   heap_init,
   NULL,
   0x0100, /* 1.0 */

=== modified file 'storage/maria/ha_maria.cc'
--- storage/maria/ha_maria.cc	2009-10-26 11:35:42 +0000
+++ storage/maria/ha_maria.cc	2009-11-02 23:19:29 +0000
@@ -3343,10 +3343,12 @@
   "MARIA",
   "MySQL AB",
   "Crash-safe tables with MyISAM heritage",
+  "1.5 gamma",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_GAMMA,
   ha_maria_init,              /* Plugin Init                     */
   NULL,                       /* Plugin Deinit                   */
-  0x0100,                     /* 1.0                             */
+  0x0105,                     /* 1.5                             */
   status_variables,           /* status variables                */
   system_variables,           /* system variables                */
   NULL

=== modified file 'storage/myisam/ha_myisam.cc'
--- storage/myisam/ha_myisam.cc	2009-10-06 14:53:46 +0000
+++ storage/myisam/ha_myisam.cc	2009-11-02 23:09:41 +0000
@@ -2174,7 +2174,9 @@
   "MyISAM",
   "MySQL AB",
   "Default engine as of MySQL 3.23 with great performance",
+  "5.1 maria",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   myisam_init, /* Plugin Init */
   NULL, /* Plugin Deinit */
   0x0100, /* 1.0 */

=== modified file 'storage/myisammrg/ha_myisammrg.cc'
--- storage/myisammrg/ha_myisammrg.cc	2009-09-17 23:01:09 +0000
+++ storage/myisammrg/ha_myisammrg.cc	2009-11-02 23:47:25 +0000
@@ -1280,10 +1280,12 @@
   "MRG_MYISAM",
   "MySQL AB",
   "Collection of identical MyISAM tables",
+  "5.1",
   PLUGIN_LICENSE_GPL,
+  PLUGIN_MATURITY_RELEASE,
   myisammrg_init, /* Plugin Init */
   NULL, /* Plugin Deinit */
-  0x0100, /* 1.0 */
+  0x0501, /* 1.0 */
   NULL,                       /* status variables                */
   NULL,                       /* system variables                */
   NULL                        /* config options                  */

=== modified file 'storage/pbxt/src/ha_pbxt.cc'
--- storage/pbxt/src/ha_pbxt.cc	2009-09-03 06:15:03 +0000
+++ storage/pbxt/src/ha_pbxt.cc	2009-11-03 00:00:12 +0000
@@ -5468,7 +5468,13 @@
 #endif
 	"Paul McCullagh, PrimeBase Technologies GmbH",
 	"High performance, multi-versioning transactional engine",
+#ifdef MARIADB
+	"1.0",
+#endif
 	PLUGIN_LICENSE_GPL,
+#ifdef MARIADB
+	PLUGIN_MATURITY_RELEASE,
+#endif
 	pbxt_init, /* Plugin Init */
 	pbxt_end, /* Plugin Deinit */
 #ifndef DRIZZLED
@@ -5493,7 +5499,13 @@
 #endif
 	"Paul McCullagh, PrimeBase Technologies GmbH",
 	"PBXT internal system statitics",
+#ifdef MARIADB
+	"0.5",
+#endif
 	PLUGIN_LICENSE_GPL,
+#ifdef MARIADB
+	PLUGIN_MATURITY_BETA,
+#endif
 	pbxt_init_statitics,						/* plugin init */
 	pbxt_exit_statitics,						/* plugin deinit */
 #ifndef DRIZZLED

=== modified file 'storage/xtradb/handler/ha_innodb.cc'
--- storage/xtradb/handler/ha_innodb.cc	2009-09-09 21:06:57 +0000
+++ storage/xtradb/handler/ha_innodb.cc	2009-11-03 00:11:44 +0000
@@ -10506,7 +10506,13 @@
   innobase_hton_name,
   "Innobase Oy",
   "Supports transactions, row-level locking, and foreign keys",
+#ifdef MARIADB
+  INNODB_VERSION_STR,
+#endif
   PLUGIN_LICENSE_GPL,
+#ifdef MARIADB
+  PLUGIN_MATURITY_RELEASE,
+#endif
   innobase_init, /* Plugin Init */
   NULL, /* Plugin Deinit */
   INNODB_VERSION_SHORT,

=== modified file 'storage/xtradb/handler/i_s.cc'
--- storage/xtradb/handler/i_s.cc	2009-09-15 10:46:35 +0000
+++ storage/xtradb/handler/i_s.cc	2009-11-03 00:38:55 +0000
@@ -363,10 +363,22 @@
         /* const char* */
         STRUCT_FLD(descr, "Enhancements applied to InnoDB plugin"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
         /* the plugin license (PLUGIN_LICENSE_XXX) */
         /* int */
         STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
         /* the function to invoke when plugin is loaded */
         /* int (*)(void*); */
         STRUCT_FLD(init, innodb_patches_init),
@@ -1010,10 +1022,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB buffer pool pages"),
 
+#ifdef MARIADB
+	/* Text representation of version */
+	/* const char* */
+	STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_innodb_buffer_pool_pages_init),
@@ -1059,10 +1083,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB buffer pool index pages"),
 
+#ifdef MARIADB
+	/* Text representation of version */
+	/* const char* */
+	STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_innodb_buffer_pool_pages_index_init),
@@ -1108,10 +1144,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB buffer pool blob pages"),
 
+#ifdef MARIADB
+	/* Text representation of version */
+	/* const char* */
+	STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_innodb_buffer_pool_pages_blob_init),
@@ -1343,10 +1391,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB transactions"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, innodb_trx_init),
@@ -1618,10 +1678,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB conflicting locks"),
 
+#ifdef MARIADB
+	/* Text representation of version */
+	/* const char* */
+	STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, innodb_locks_init),
@@ -1801,10 +1873,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB which lock is blocking which"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, innodb_lock_waits_init),
@@ -2133,10 +2217,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "Statistics for the InnoDB compression"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_cmp_init),
@@ -2183,10 +2279,22 @@
 	STRUCT_FLD(descr, "Statistics for the InnoDB compression;"
 		   " reset cumulated counts"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_cmp_reset_init),
@@ -2401,10 +2509,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "Statistics for the InnoDB compressed buffer pool"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_cmpmem_init),
@@ -2451,10 +2571,22 @@
 	STRUCT_FLD(descr, "Statistics for the InnoDB compressed buffer pool;"
 		   " reset cumulated counts"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_cmpmem_reset_init),
@@ -2630,10 +2762,22 @@
 	/* const char* */
 	STRUCT_FLD(descr, "InnoDB rollback segment information"),
 
+#ifdef MARIADB
+        /* Text representation of version */
+        /* const char* */
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
+
 	/* the plugin license (PLUGIN_LICENSE_XXX) */
 	/* int */
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
 
+#ifdef MARIADB
+        /* the plugin maturity (PLUGIN_MATURITY_XXX) */
+        /* int */
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
+
 	/* the function to invoke when plugin is loaded */
 	/* int (*)(void*); */
 	STRUCT_FLD(init, i_s_innodb_rseg_init),
@@ -2928,7 +3072,13 @@
 	STRUCT_FLD(name, "INNODB_TABLE_STATS"),
 	STRUCT_FLD(author, plugin_author),
 	STRUCT_FLD(descr, "InnoDB table statistics in memory"),
+#ifdef MARIADB
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
+#ifdef MARIADB
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
 	STRUCT_FLD(init, i_s_innodb_table_stats_init),
 	STRUCT_FLD(deinit, i_s_common_deinit),
 	STRUCT_FLD(version, 0x0100 /* 1.0 */),
@@ -2944,7 +3094,13 @@
 	STRUCT_FLD(name, "INNODB_INDEX_STATS"),
 	STRUCT_FLD(author, plugin_author),
 	STRUCT_FLD(descr, "InnoDB index statistics in memory"),
+#ifdef MARIADB
+        STRUCT_FLD(sversion, INNODB_VERSION_STR),
+#endif
 	STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
+#ifdef MARIADB
+        STRUCT_FLD(maturity, PLUGIN_MATURITY_RELEASE),
+#endif
 	STRUCT_FLD(init, i_s_innodb_index_stats_init),
 	STRUCT_FLD(deinit, i_s_common_deinit),
 	STRUCT_FLD(version, 0x0100 /* 1.0 */),

