Commit faff46ee authored by brian@zim.(none)'s avatar brian@zim.(none)

Added license information display to output of plugins schema, and tagged all...

Added license information display to output of plugins schema, and tagged all plugins with GPL flag. 
parent 4b51032f
...@@ -31,6 +31,15 @@ ...@@ -31,6 +31,15 @@
#define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */ #define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */
#define MYSQL_MAX_PLUGIN_TYPE_NUM 3 /* The number of plugin types */ #define MYSQL_MAX_PLUGIN_TYPE_NUM 3 /* The number of plugin types */
/* We use the following strings to define licenses for plugins */
#define PLUGIN_LICENSE_PROPRIETARY 0
#define PLUGIN_LICENSE_GPL 1
#define PLUGIN_LICENSE_BSD 2
#define PLUGIN_LICENSE_PROPRIETARY_STRING "PROPRIETARY"
#define PLUGIN_LICENSE_GPL_STRING "GPL"
#define PLUGIN_LICENSE_BSD_STRING "BSD"
/* /*
Macros for beginning and ending plugin declarations. Between Macros for beginning and ending plugin declarations. Between
mysql_declare_plugin and mysql_declare_plugin_end there should mysql_declare_plugin and mysql_declare_plugin_end there should
...@@ -88,6 +97,7 @@ struct st_mysql_plugin ...@@ -88,6 +97,7 @@ struct st_mysql_plugin
const char *name; /* plugin name */ const char *name; /* plugin name */
const char *author; /* plugin author (for SHOW PLUGINS) */ const char *author; /* plugin author (for SHOW PLUGINS) */
const char *descr; /* general descriptive text (for SHOW PLUGINS ) */ const char *descr; /* general descriptive text (for SHOW PLUGINS ) */
int license; /* the plugin type (a MYSQL_XXX_PLUGIN value) */
int (*init)(void *); /* the function to invoke when plugin is loaded */ int (*init)(void *); /* the function to invoke when plugin is loaded */
int (*deinit)(void *);/* the function to invoke when plugin is unloaded */ int (*deinit)(void *);/* the function to invoke when plugin is unloaded */
unsigned int version; /* plugin version (for SHOW PLUGINS) */ unsigned int version; /* plugin version (for SHOW PLUGINS) */
......
...@@ -226,6 +226,7 @@ mysql_declare_plugin(ftexample) ...@@ -226,6 +226,7 @@ mysql_declare_plugin(ftexample)
"simple_parser", /* name */ "simple_parser", /* name */
"MySQL AB", /* author */ "MySQL AB", /* author */
"Simple Full-Text Parser", /* description */ "Simple Full-Text Parser", /* description */
PLUGIN_LICENSE_GPL,
simple_parser_plugin_init, /* init function (when loaded) */ simple_parser_plugin_init, /* init function (when loaded) */
simple_parser_plugin_deinit,/* deinit function (when unloaded) */ simple_parser_plugin_deinit,/* deinit function (when unloaded) */
0x0001, /* version */ 0x0001, /* version */
......
...@@ -10773,6 +10773,7 @@ mysql_declare_plugin(ndbcluster) ...@@ -10773,6 +10773,7 @@ mysql_declare_plugin(ndbcluster)
ndbcluster_hton_name, ndbcluster_hton_name,
"MySQL AB", "MySQL AB",
"Clustered, fault-tolerant tables", "Clustered, fault-tolerant tables",
PLUGIN_LICENSE_GPL,
ndbcluster_init, /* Plugin Init */ ndbcluster_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -5643,6 +5643,7 @@ mysql_declare_plugin(partition) ...@@ -5643,6 +5643,7 @@ mysql_declare_plugin(partition)
"partition", "partition",
"Mikael Ronstrom, MySQL AB", "Mikael Ronstrom, MySQL AB",
"Partition Storage Engine Helper", "Partition Storage Engine Helper",
PLUGIN_LICENSE_GPL,
partition_initialize, /* Plugin Init */ partition_initialize, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100, /* 1.0 */ 0x0100, /* 1.0 */
......
...@@ -683,6 +683,7 @@ struct handlerton ...@@ -683,6 +683,7 @@ struct handlerton
const char *wild, bool dir, List<char> *files); const char *wild, bool dir, List<char> *files);
int (*table_exists_in_engine)(handlerton *hton, THD* thd, const char *db, int (*table_exists_in_engine)(handlerton *hton, THD* thd, const char *db,
const char *name); const char *name);
uint32 license; /* Flag for Engine License */
}; };
......
...@@ -4689,6 +4689,7 @@ mysql_declare_plugin(binlog) ...@@ -4689,6 +4689,7 @@ mysql_declare_plugin(binlog)
"binlog", "binlog",
"MySQL AB", "MySQL AB",
"This is a pseudo storage engine to represent the binlog in a transaction", "This is a pseudo storage engine to represent the binlog in a transaction",
PLUGIN_LICENSE_GPL,
binlog_init, /* Plugin Init */ binlog_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -211,6 +211,22 @@ static my_bool show_plugins(THD *thd, st_plugin_int *plugin, ...@@ -211,6 +211,22 @@ static my_bool show_plugins(THD *thd, st_plugin_int *plugin,
else else
table->field[8]->set_null(); table->field[8]->set_null();
switch (plug->license) {
case PLUGIN_LICENSE_GPL:
table->field[9]->store(PLUGIN_LICENSE_GPL_STRING,
strlen(PLUGIN_LICENSE_GPL_STRING), cs);
break;
case PLUGIN_LICENSE_BSD:
table->field[9]->store(PLUGIN_LICENSE_BSD_STRING,
strlen(PLUGIN_LICENSE_BSD_STRING), cs);
break;
default:
table->field[9]->store(PLUGIN_LICENSE_PROPRIETARY_STRING,
strlen(PLUGIN_LICENSE_PROPRIETARY_STRING), cs);
break;
}
table->field[9]->set_notnull();
return schema_table_store_record(thd, table); return schema_table_store_record(thd, table);
} }
...@@ -5579,6 +5595,7 @@ ST_FIELD_INFO plugin_fields_info[]= ...@@ -5579,6 +5595,7 @@ ST_FIELD_INFO plugin_fields_info[]=
{"PLUGIN_LIBRARY_VERSION", 20, MYSQL_TYPE_STRING, 0, 1, 0}, {"PLUGIN_LIBRARY_VERSION", 20, MYSQL_TYPE_STRING, 0, 1, 0},
{"PLUGIN_AUTHOR", NAME_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"PLUGIN_AUTHOR", NAME_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
{"PLUGIN_DESCRIPTION", 65535, MYSQL_TYPE_STRING, 0, 1, 0}, {"PLUGIN_DESCRIPTION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
{"PLUGIN_LICENSE", 80, MYSQL_TYPE_STRING, 0, 1, "License"},
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0} {0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
}; };
......
...@@ -1585,6 +1585,7 @@ mysql_declare_plugin(archive) ...@@ -1585,6 +1585,7 @@ mysql_declare_plugin(archive)
"ARCHIVE", "ARCHIVE",
"Brian Aker, MySQL AB", "Brian Aker, MySQL AB",
"Archive storage engine", "Archive storage engine",
PLUGIN_LICENSE_GPL,
archive_db_init, /* Plugin Init */ archive_db_init, /* Plugin Init */
archive_db_done, /* Plugin Deinit */ archive_db_done, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -223,6 +223,7 @@ mysql_declare_plugin(blackhole) ...@@ -223,6 +223,7 @@ mysql_declare_plugin(blackhole)
"BLACKHOLE", "BLACKHOLE",
"MySQL AB", "MySQL AB",
"/dev/null storage engine (anything you write to it disappears)", "/dev/null storage engine (anything you write to it disappears)",
PLUGIN_LICENSE_GPL,
blackhole_init, /* Plugin Init */ blackhole_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -1533,6 +1533,7 @@ mysql_declare_plugin(csv) ...@@ -1533,6 +1533,7 @@ mysql_declare_plugin(csv)
"CSV", "CSV",
"Brian Aker, MySQL AB", "Brian Aker, MySQL AB",
"CSV storage engine", "CSV storage engine",
PLUGIN_LICENSE_GPL,
tina_init_func, /* Plugin Init */ tina_init_func, /* Plugin Init */
tina_done_func, /* Plugin Deinit */ tina_done_func, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -717,6 +717,7 @@ mysql_declare_plugin(example) ...@@ -717,6 +717,7 @@ mysql_declare_plugin(example)
"EXAMPLE", "EXAMPLE",
"Brian Aker, MySQL AB", "Brian Aker, MySQL AB",
"Example storage engine", "Example storage engine",
PLUGIN_LICENSE_GPL,
example_init_func, /* Plugin Init */ example_init_func, /* Plugin Init */
example_done_func, /* Plugin Deinit */ example_done_func, /* Plugin Deinit */
0x0001 /* 0.1 */, 0x0001 /* 0.1 */,
......
...@@ -2895,6 +2895,7 @@ mysql_declare_plugin(federated) ...@@ -2895,6 +2895,7 @@ mysql_declare_plugin(federated)
"FEDERATED", "FEDERATED",
"Patrick Galbraith and Brian Aker, MySQL AB", "Patrick Galbraith and Brian Aker, MySQL AB",
"Federated MySQL storage engine", "Federated MySQL storage engine",
PLUGIN_LICENSE_GPL,
federated_db_init, /* Plugin Init */ federated_db_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -720,6 +720,7 @@ mysql_declare_plugin(heap) ...@@ -720,6 +720,7 @@ mysql_declare_plugin(heap)
"MEMORY", "MEMORY",
"MySQL AB", "MySQL AB",
"Hash based, stored in memory, useful for temporary tables", "Hash based, stored in memory, useful for temporary tables",
PLUGIN_LICENSE_GPL,
heap_init, heap_init,
NULL, NULL,
0x0100, /* 1.0 */ 0x0100, /* 1.0 */
......
...@@ -7640,6 +7640,7 @@ mysql_declare_plugin(innobase) ...@@ -7640,6 +7640,7 @@ mysql_declare_plugin(innobase)
innobase_hton_name, innobase_hton_name,
"Innobase OY", "Innobase OY",
"Supports transactions, row-level locking, and foreign keys", "Supports transactions, row-level locking, and foreign keys",
PLUGIN_LICENSE_GPL,
innobase_init, /* Plugin Init */ innobase_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100 /* 1.0 */, 0x0100 /* 1.0 */,
......
...@@ -1818,6 +1818,7 @@ mysql_declare_plugin(myisam) ...@@ -1818,6 +1818,7 @@ mysql_declare_plugin(myisam)
"MyISAM", "MyISAM",
"MySQL AB", "MySQL AB",
"Default engine as of MySQL 3.23 with great performance", "Default engine as of MySQL 3.23 with great performance",
PLUGIN_LICENSE_GPL,
myisam_init, /* Plugin Init */ myisam_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100, /* 1.0 */ 0x0100, /* 1.0 */
......
...@@ -582,6 +582,7 @@ mysql_declare_plugin(myisammrg) ...@@ -582,6 +582,7 @@ mysql_declare_plugin(myisammrg)
"MRG_MYISAM", "MRG_MYISAM",
"MySQL AB", "MySQL AB",
"Collection of identical MyISAM tables", "Collection of identical MyISAM tables",
PLUGIN_LICENSE_GPL,
myisammrg_init, /* Plugin Init */ myisammrg_init, /* Plugin Init */
NULL, /* Plugin Deinit */ NULL, /* Plugin Deinit */
0x0100, /* 1.0 */ 0x0100, /* 1.0 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment