#!!! notice !!!
# Any small change to this file in the main branch
# should be done or reviewed by the maintainer!
-diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
---- a/storage/innobase/handler/ha_innodb.cc 2010-12-03 17:32:15.624039043 +0900
-+++ b/storage/innobase/handler/ha_innodb.cc 2010-12-03 17:32:35.424957827 +0900
-@@ -11775,7 +11775,8 @@
+--- a/storage/innobase/handler/ha_innodb.cc
++++ b/storage/innobase/handler/ha_innodb.cc
+@@ -12041,7 +12041,8 @@
i_s_innodb_sys_foreign_cols,
i_s_innodb_sys_stats,
i_s_innodb_table_stats,
mysql_declare_plugin_end;
/** @brief Initialize the default value of innodb_commit_concurrency.
-diff -ruN a/storage/innobase/handler/i_s.cc b/storage/innobase/handler/i_s.cc
---- a/storage/innobase/handler/i_s.cc 2010-12-03 17:30:16.299955549 +0900
-+++ b/storage/innobase/handler/i_s.cc 2010-12-03 17:32:35.425989972 +0900
-@@ -4162,3 +4162,139 @@
- STRUCT_FLD(system_vars, NULL),
- STRUCT_FLD(__reserved1, NULL)
+--- a/storage/innobase/handler/i_s.cc
++++ b/storage/innobase/handler/i_s.cc
+@@ -4243,3 +4243,140 @@
+ STRUCT_FLD(__reserved1, NULL),
+ STRUCT_FLD(flags, 0UL)
};
+
+/***********************************************************************
+ STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN),
+ STRUCT_FLD(info, &i_s_info),
+ STRUCT_FLD(name, "XTRADB_ADMIN_COMMAND"),
-+ STRUCT_FLD(author, plugin_author),
++ STRUCT_FLD(author, "Percona"),
+ STRUCT_FLD(descr, "XtraDB specific command acceptor"),
+ STRUCT_FLD(license, PLUGIN_LICENSE_GPL),
+ STRUCT_FLD(init, i_s_innodb_admin_command_init),
+ STRUCT_FLD(version, 0x0100 /* 1.0 */),
+ STRUCT_FLD(status_vars, NULL),
+ STRUCT_FLD(system_vars, NULL),
-+ STRUCT_FLD(__reserved1, NULL)
++ STRUCT_FLD(__reserved1, NULL),
++ STRUCT_FLD(flags, 0UL)
+};
-diff -ruN a/storage/innobase/handler/i_s.h b/storage/innobase/handler/i_s.h
---- a/storage/innobase/handler/i_s.h 2010-12-03 17:30:16.301987692 +0900
-+++ b/storage/innobase/handler/i_s.h 2010-12-03 17:32:35.426954555 +0900
-@@ -44,5 +44,6 @@
+--- a/storage/innobase/handler/i_s.h
++++ b/storage/innobase/handler/i_s.h
+@@ -46,5 +46,6 @@
extern struct st_mysql_plugin i_s_innodb_sys_stats;
extern struct st_mysql_plugin i_s_innodb_table_stats;
extern struct st_mysql_plugin i_s_innodb_index_stats;
+extern struct st_mysql_plugin i_s_innodb_admin_command;
#endif /* i_s_h */
+--- /dev/null
++++ b/mysql-test/r/percona_xtradb_admin_command.result
+@@ -0,0 +1,6 @@
++select * from information_schema.XTRADB_ADMIN_COMMAND;
++result_message
++No XTRA_* command in the SQL statement. Please add /*!XTRA_xxxx*/ to the SQL.
++select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/;
++result_message
++Hello!
+--- /dev/null
++++ b/mysql-test/t/percona_xtradb_admin_command.test
+@@ -0,0 +1,3 @@
++--source include/have_innodb.inc
++select * from information_schema.XTRADB_ADMIN_COMMAND;
++select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/;
+--- a/mysql-test/r/mysqld--help-notwin.result
++++ b/mysql-test/r/mysqld--help-notwin.result
+@@ -733,6 +733,10 @@
+ -V, --version Output version information and exit.
+ --wait-timeout=# The number of seconds the server waits for activity on a
+ connection before closing it
++ --xtradb-admin-command[=name]
++ Enable or disable XTRADB_ADMIN_COMMAND plugin. Possible
++ values are ON, OFF, FORCE (don't start if the plugin
++ fails to load).
+
+ Variables (--variable-name=value)
+ abort-slave-event-count 0
+@@ -958,6 +962,7 @@
+ updatable-views-with-limit YES
+ verbose TRUE
+ wait-timeout 28800
++xtradb-admin-command ON
+
+ To see what values a running MySQL server is using, type
+ 'mysqladmin variables' instead of 'mysqld --verbose --help'.