From 15ac6c58677c833b6d4fd6a6b700dea8faf70f7f Mon Sep 17 00:00:00 2001 From: danielnachun Date: Mon, 16 Aug 2021 17:15:37 -0700 Subject: [PATCH 1/7] CMakeLists.txt: remove MYSQL_SOURCE_DIR from MYSQL_INCLUDE_DIRS --- storage/mroonga/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/storage/mroonga/CMakeLists.txt b/storage/mroonga/CMakeLists.txt index 6671b3a8d56..14250c99f84 100644 --- a/storage/mroonga/CMakeLists.txt +++ b/storage/mroonga/CMakeLists.txt @@ -219,8 +219,7 @@ set(MYSQL_INCLUDE_DIRS "${MYSQL_REGEX_INCLUDE_DIR}" "${MYSQL_RAPIDJSON_INCLUDE_DIR}" "${MYSQL_LIBBINLOGEVENTS_EXPORT_DIR}" - "${MYSQL_LIBBINLOGEVENTS_INCLUDE_DIR}" - "${MYSQL_SOURCE_DIR}") + "${MYSQL_LIBBINLOGEVENTS_INCLUDE_DIR}") if(MRN_BUNDLED) set(MYSQL_PLUGIN_DIR "${INSTALL_PLUGINDIR}") From 0b2241aebcc786923e7093dd4edb2c03bf74aca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Fri, 20 Aug 2021 11:14:36 +0300 Subject: [PATCH 2/7] MDEV-26443 HAVE_C99_INITIALIZERS is not applicable to C++ Designated initializers were introduced in ISO/IEC 9899:1999 (C99), but the C code base of MariaDB is supposed to be compatible with the 1990 version of the standard. The InnoDB code based was switched from C to C++ in MySQL 5.6 and MariaDB 10.0. C++ did not introduce syntax for designated initializers until ISO/IEC 14882:2020. Our C++ code base is still stuck with the 2011 or earlier version of that standard. Therefore, this check as well as the macro STRUCT_FLD are best removed. --- storage/innobase/handler/i_s.cc | 3554 +++++++++---------------------- storage/innobase/handler/i_s.h | 19 +- storage/innobase/innodb.cmake | 5 - 3 files changed, 1007 insertions(+), 2571 deletions(-) diff --git a/storage/innobase/handler/i_s.cc b/storage/innobase/handler/i_s.cc index 531a2936f0b..03c0efff027 100644 --- a/storage/innobase/handler/i_s.cc +++ b/storage/innobase/handler/i_s.cc @@ -302,218 +302,103 @@ field_store_ulint( #endif /* Fields of the dynamic table INFORMATION_SCHEMA.innodb_trx */ -static ST_FIELD_INFO innodb_trx_fields_info[] = +static ST_FIELD_INFO innodb_trx_fields_info[]= { #define IDX_TRX_ID 0 - {STRUCT_FLD(field_name, "trx_id"), - STRUCT_FLD(field_length, TRX_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_id", TRX_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_STATE 1 - {STRUCT_FLD(field_name, "trx_state"), - STRUCT_FLD(field_length, TRX_QUE_STATE_STR_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_state", TRX_QUE_STATE_STR_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_STARTED 2 - {STRUCT_FLD(field_name, "trx_started"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_started", 0, MYSQL_TYPE_DATETIME, 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_REQUESTED_LOCK_ID 3 - {STRUCT_FLD(field_name, "trx_requested_lock_id"), - STRUCT_FLD(field_length, TRX_I_S_LOCK_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_requested_lock_id", TRX_I_S_LOCK_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_TRX_WAIT_STARTED 4 - {STRUCT_FLD(field_name, "trx_wait_started"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_wait_started", 0, MYSQL_TYPE_DATETIME, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_TRX_WEIGHT 5 - {STRUCT_FLD(field_name, "trx_weight"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_weight",MY_INT64_NUM_DECIMAL_DIGITS,MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_MYSQL_THREAD_ID 6 - {STRUCT_FLD(field_name, "trx_mysql_thread_id"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_mysql_thread_id",MY_INT64_NUM_DECIMAL_DIGITS,MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_QUERY 7 - {STRUCT_FLD(field_name, "trx_query"), - STRUCT_FLD(field_length, TRX_I_S_TRX_QUERY_MAX_LEN), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_query", TRX_I_S_TRX_QUERY_MAX_LEN, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_TRX_OPERATION_STATE 8 - {STRUCT_FLD(field_name, "trx_operation_state"), - STRUCT_FLD(field_length, TRX_I_S_TRX_OP_STATE_MAX_LEN), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_operation_state", TRX_I_S_TRX_OP_STATE_MAX_LEN, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_TRX_TABLES_IN_USE 9 - {STRUCT_FLD(field_name, "trx_tables_in_use"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_tables_in_use", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_TABLES_LOCKED 10 - {STRUCT_FLD(field_name, "trx_tables_locked"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_tables_locked", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_LOCK_STRUCTS 11 - {STRUCT_FLD(field_name, "trx_lock_structs"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_lock_structs", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_LOCK_MEMORY_BYTES 12 - {STRUCT_FLD(field_name, "trx_lock_memory_bytes"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_lock_memory_bytes", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_ROWS_LOCKED 13 - {STRUCT_FLD(field_name, "trx_rows_locked"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_rows_locked", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_ROWS_MODIFIED 14 - {STRUCT_FLD(field_name, "trx_rows_modified"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_rows_modified", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_CONNCURRENCY_TICKETS 15 - {STRUCT_FLD(field_name, "trx_concurrency_tickets"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_concurrency_tickets", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_TRX_ISOLATION_LEVEL 16 - {STRUCT_FLD(field_name, "trx_isolation_level"), - STRUCT_FLD(field_length, TRX_I_S_TRX_ISOLATION_LEVEL_MAX_LEN), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_isolation_level", TRX_I_S_TRX_ISOLATION_LEVEL_MAX_LEN, + MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_UNIQUE_CHECKS 17 - {STRUCT_FLD(field_name, "trx_unique_checks"), - STRUCT_FLD(field_length, 1), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 1), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_unique_checks", 1, MYSQL_TYPE_LONG, + 1, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_FOREIGN_KEY_CHECKS 18 - {STRUCT_FLD(field_name, "trx_foreign_key_checks"), - STRUCT_FLD(field_length, 1), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 1), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_foreign_key_checks", 1, MYSQL_TYPE_LONG, + 1, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_LAST_FOREIGN_KEY_ERROR 19 - {STRUCT_FLD(field_name, "trx_last_foreign_key_error"), - STRUCT_FLD(field_length, TRX_I_S_TRX_FK_ERROR_MAX_LEN), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_last_foreign_key_error", TRX_I_S_TRX_FK_ERROR_MAX_LEN, + MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #ifdef BTR_CUR_HASH_ADAPT #define IDX_TRX_ADAPTIVE_HASH_LATCHED 20 - {STRUCT_FLD(field_name, "trx_adaptive_hash_latched"), - STRUCT_FLD(field_length, 1), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_adaptive_hash_latched", 1, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #endif /* BTR_CUR_HASH_ADAPT */ #define IDX_TRX_READ_ONLY 20 + I_S_AHI - {STRUCT_FLD(field_name, "trx_is_read_only"), - STRUCT_FLD(field_length, 1), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_is_read_only", 1, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_TRX_AUTOCOMMIT_NON_LOCKING 21 + I_S_AHI - {STRUCT_FLD(field_name, "trx_autocommit_non_locking"), - STRUCT_FLD(field_length, 1), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"trx_autocommit_non_locking", 1, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -701,146 +586,97 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_trx = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_TRX"), + "INNODB_TRX", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB transactions"), + "InnoDB transactions", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_trx_init), + innodb_trx_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.innodb_locks */ -static ST_FIELD_INFO innodb_locks_fields_info[] = +static ST_FIELD_INFO innodb_locks_fields_info[]= { #define IDX_LOCK_ID 0 - {STRUCT_FLD(field_name, "lock_id"), - STRUCT_FLD(field_length, TRX_I_S_LOCK_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_id", TRX_I_S_LOCK_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_TRX_ID 1 - {STRUCT_FLD(field_name, "lock_trx_id"), - STRUCT_FLD(field_length, TRX_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_trx_id", TRX_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_MODE 2 - {STRUCT_FLD(field_name, "lock_mode"), - /* S[,GAP] X[,GAP] IS[,GAP] IX[,GAP] AUTO_INC UNKNOWN */ - STRUCT_FLD(field_length, 32), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_mode", + /* S[,GAP] X[,GAP] IS[,GAP] IX[,GAP] AUTO_INC UNKNOWN */ + 32, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_TYPE 3 - {STRUCT_FLD(field_name, "lock_type"), - STRUCT_FLD(field_length, 32 /* RECORD|TABLE|UNKNOWN */), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_type", 32 /* RECORD|TABLE|UNKNOWN */, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_TABLE 4 - {STRUCT_FLD(field_name, "lock_table"), - STRUCT_FLD(field_length, 1024), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_table", 1024, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_INDEX 5 - {STRUCT_FLD(field_name, "lock_index"), - STRUCT_FLD(field_length, 1024), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_index", 1024, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_SPACE 6 - {STRUCT_FLD(field_name, "lock_space"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_space", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_PAGE 7 - {STRUCT_FLD(field_name, "lock_page"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_page", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_REC 8 - {STRUCT_FLD(field_name, "lock_rec"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_rec", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_LOCK_DATA 9 - {STRUCT_FLD(field_name, "lock_data"), - STRUCT_FLD(field_length, TRX_I_S_LOCK_DATA_MAX_LEN), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"lock_data", TRX_I_S_LOCK_DATA_MAX_LEN, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -956,91 +792,71 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_locks = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_LOCKS"), + "INNODB_LOCKS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB conflicting locks"), + "InnoDB conflicting locks", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_locks_init), + innodb_locks_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.innodb_lock_waits */ -static ST_FIELD_INFO innodb_lock_waits_fields_info[] = +static ST_FIELD_INFO innodb_lock_waits_fields_info[]= { #define IDX_REQUESTING_TRX_ID 0 - {STRUCT_FLD(field_name, "requesting_trx_id"), - STRUCT_FLD(field_length, TRX_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"requesting_trx_id", TRX_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_REQUESTED_LOCK_ID 1 - {STRUCT_FLD(field_name, "requested_lock_id"), - STRUCT_FLD(field_length, TRX_I_S_LOCK_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"requested_lock_id", TRX_I_S_LOCK_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BLOCKING_TRX_ID 2 - {STRUCT_FLD(field_name, "blocking_trx_id"), - STRUCT_FLD(field_length, TRX_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"blocking_trx_id", TRX_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BLOCKING_LOCK_ID 3 - {STRUCT_FLD(field_name, "blocking_lock_id"), - STRUCT_FLD(field_length, TRX_I_S_LOCK_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"blocking_lock_id", TRX_I_S_LOCK_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -1139,49 +955,49 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_lock_waits = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_LOCK_WAITS"), + "INNODB_LOCK_WAITS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB which lock is blocking which"), + "InnoDB which lock is blocking which", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_lock_waits_init), + innodb_lock_waits_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /*******************************************************************//** @@ -1284,60 +1100,21 @@ trx_i_s_common_fill_table( } /* Fields of the dynamic table information_schema.innodb_cmp. */ -static ST_FIELD_INFO i_s_cmp_fields_info[] = +static ST_FIELD_INFO i_s_cmp_fields_info[]= { - {STRUCT_FLD(field_name, "page_size"), - STRUCT_FLD(field_length, 5), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Compressed Page Size"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "compress_ops"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Number of Compressions"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "compress_ops_ok"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Number of" - " Successful Compressions"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "compress_time"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Duration of Compressions," - " in Seconds"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "uncompress_ops"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Number of Decompressions"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "uncompress_time"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Duration of Decompressions," - " in Seconds"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"page_size", 5, MYSQL_TYPE_LONG, + 0, 0, "Compressed Page Size", SKIP_OPEN_TABLE}, + {"compress_ops", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Total Number of Compressions", SKIP_OPEN_TABLE}, + {"compress_ops_ok", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Total Number of Successful Compressions", SKIP_OPEN_TABLE}, + {"compress_time", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Total Duration of Compressions, in Seconds", SKIP_OPEN_TABLE}, + {"uncompress_ops", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Total Number of Decompressions", SKIP_OPEN_TABLE}, + {"uncompress_time", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Total Duration of Decompressions, in Seconds", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; @@ -1467,179 +1244,139 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_cmp = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_CMP"), + "INNODB_CMP", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Statistics for the InnoDB compression"), + "Statistics for the InnoDB compression", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_cmp_init), + i_s_cmp_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; UNIV_INTERN struct st_maria_plugin i_s_innodb_cmp_reset = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_CMP_RESET"), + "INNODB_CMP_RESET", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Statistics for the InnoDB compression;" - " reset cumulated counts"), + "Statistics for the InnoDB compression;" + " reset cumulated counts", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_cmp_reset_init), + i_s_cmp_reset_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic tables information_schema.innodb_cmp_per_index and information_schema.innodb_cmp_per_index_reset. */ -static ST_FIELD_INFO i_s_cmp_per_index_fields_info[] = +static ST_FIELD_INFO i_s_cmp_per_index_fields_info[]= { #define IDX_DATABASE_NAME 0 - {STRUCT_FLD(field_name, "database_name"), - STRUCT_FLD(field_length, 192), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"database_name", 192, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_TABLE_NAME 1 - {STRUCT_FLD(field_name, "table_name"), - STRUCT_FLD(field_length, 192), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"table_name", 192, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_INDEX_NAME 2 - {STRUCT_FLD(field_name, "index_name"), - STRUCT_FLD(field_length, 192), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"index_name", 192, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_COMPRESS_OPS 3 - {STRUCT_FLD(field_name, "compress_ops"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"compress_ops", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_COMPRESS_OPS_OK 4 - {STRUCT_FLD(field_name, "compress_ops_ok"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"compress_ops_ok", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_COMPRESS_TIME 5 - {STRUCT_FLD(field_name, "compress_time"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"compress_time", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_UNCOMPRESS_OPS 6 - {STRUCT_FLD(field_name, "uncompress_ops"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"uncompress_ops", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_UNCOMPRESS_TIME 7 - {STRUCT_FLD(field_name, "uncompress_time"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"uncompress_time", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -1817,154 +1554,117 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_cmp_per_index = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_CMP_PER_INDEX"), + "INNODB_CMP_PER_INDEX", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Statistics for the InnoDB compression (per index)"), + "Statistics for the InnoDB compression (per index)", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_cmp_per_index_init), + i_s_cmp_per_index_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; UNIV_INTERN struct st_maria_plugin i_s_innodb_cmp_per_index_reset = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_CMP_PER_INDEX_RESET"), + "INNODB_CMP_PER_INDEX_RESET", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Statistics for the InnoDB compression (per index);" - " reset cumulated counts"), + "Statistics for the InnoDB compression (per index);" + " reset cumulated counts", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_cmp_per_index_reset_init), + i_s_cmp_per_index_reset_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table information_schema.innodb_cmpmem. */ -static ST_FIELD_INFO i_s_cmpmem_fields_info[] = +static ST_FIELD_INFO i_s_cmpmem_fields_info[]= { - {STRUCT_FLD(field_name, "page_size"), - STRUCT_FLD(field_length, 5), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Buddy Block Size"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "buffer_pool_instance"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Buffer Pool Id"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "pages_used"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Currently in Use"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "pages_free"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Currently Available"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "relocation_ops"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Number of Relocations"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - {STRUCT_FLD(field_name, "relocation_time"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, "Total Duration of Relocations," - " in Seconds"), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"page_size", 5, MYSQL_TYPE_LONG, + 0, 0, "Buddy Block Size", SKIP_OPEN_TABLE}, + {"buffer_pool_instance", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Buffer Pool Id", SKIP_OPEN_TABLE}, + {"pages_used", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Currently in Use", SKIP_OPEN_TABLE}, + {"pages_free", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Currently Available", SKIP_OPEN_TABLE}, + {"relocation_ops", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, 0, "Total Number of Relocations", SKIP_OPEN_TABLE}, + {"relocation_time", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "Total Duration of Relocations, in Seconds", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -2114,258 +1814,155 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_cmpmem = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_CMPMEM"), + "INNODB_CMPMEM", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Statistics for the InnoDB compressed buffer pool"), + "Statistics for the InnoDB compressed buffer pool", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_cmpmem_init), + i_s_cmpmem_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; UNIV_INTERN struct st_maria_plugin i_s_innodb_cmpmem_reset = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_CMPMEM_RESET"), + "INNODB_CMPMEM_RESET", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Statistics for the InnoDB compressed buffer pool;" - " reset cumulated counts"), + "Statistics for the InnoDB compressed buffer pool;" + " reset cumulated counts", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_cmpmem_reset_init), + i_s_cmpmem_reset_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.innodb_metrics */ -static ST_FIELD_INFO innodb_metrics_fields_info[] = +static ST_FIELD_INFO innodb_metrics_fields_info[]= { #define METRIC_NAME 0 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define METRIC_SUBSYS 1 - {STRUCT_FLD(field_name, "SUBSYSTEM"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SUBSYSTEM", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define METRIC_VALUE_START 2 - {STRUCT_FLD(field_name, "COUNT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"COUNT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define METRIC_MAX_VALUE_START 3 - {STRUCT_FLD(field_name, "MAX_COUNT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MAX_COUNT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_MIN_VALUE_START 4 - {STRUCT_FLD(field_name, "MIN_COUNT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MIN_COUNT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_AVG_VALUE_START 5 - {STRUCT_FLD(field_name, "AVG_COUNT"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"AVG_COUNT", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_VALUE_RESET 6 - {STRUCT_FLD(field_name, "COUNT_RESET"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"COUNT_RESET", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define METRIC_MAX_VALUE_RESET 7 - {STRUCT_FLD(field_name, "MAX_COUNT_RESET"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MAX_COUNT_RESET", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_MIN_VALUE_RESET 8 - {STRUCT_FLD(field_name, "MIN_COUNT_RESET"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MIN_COUNT_RESET", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_AVG_VALUE_RESET 9 - {STRUCT_FLD(field_name, "AVG_COUNT_RESET"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"AVG_COUNT_RESET", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_START_TIME 10 - {STRUCT_FLD(field_name, "TIME_ENABLED"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TIME_ENABLED", 0, MYSQL_TYPE_DATETIME, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_STOP_TIME 11 - {STRUCT_FLD(field_name, "TIME_DISABLED"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TIME_DISABLED", 0, MYSQL_TYPE_DATETIME, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_TIME_ELAPSED 12 - {STRUCT_FLD(field_name, "TIME_ELAPSED"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TIME_ELAPSED", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_RESET_TIME 13 - {STRUCT_FLD(field_name, "TIME_RESET"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TIME_RESET", 0, MYSQL_TYPE_DATETIME, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define METRIC_STATUS 14 - {STRUCT_FLD(field_name, "STATUS"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"STATUS", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define METRIC_TYPE 15 - {STRUCT_FLD(field_name, "TYPE"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TYPE", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define METRIC_DESC 16 - {STRUCT_FLD(field_name, "COMMENT"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"COMMENT", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -2689,63 +2286,56 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_metrics = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_METRICS"), + "INNODB_METRICS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB Metrics Info"), + "InnoDB Metrics Info", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_metrics_init), + innodb_metrics_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.innodb_ft_default_stopword */ -static ST_FIELD_INFO i_s_stopword_fields_info[] = +static ST_FIELD_INFO i_s_stopword_fields_info[]= { #define STOPWORD_VALUE 0 - {STRUCT_FLD(field_name, "value"), - STRUCT_FLD(field_length, TRX_ID_MAX_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"value", TRX_ID_MAX_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -2802,65 +2392,59 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_ft_default_stopword = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_FT_DEFAULT_STOPWORD"), + "INNODB_FT_DEFAULT_STOPWORD", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "Default stopword list for InnoDB Full Text Search"), + "Default stopword list for InnoDB Full Text Search", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_stopword_init), + i_s_stopword_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED */ -static ST_FIELD_INFO i_s_fts_doc_fields_info[] = +static ST_FIELD_INFO i_s_fts_doc_fields_info[]= { #define I_S_FTS_DOC_ID 0 - {STRUCT_FLD(field_name, "DOC_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"DOC_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -2982,49 +2566,49 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_ft_deleted = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_FT_DELETED"), + "INNODB_FT_DELETED", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "INNODB AUXILIARY FTS DELETED TABLE"), + "INNODB AUXILIARY FTS DELETED TABLE", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_fts_deleted_init), + i_s_fts_deleted_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /*******************************************************************//** @@ -3065,110 +2649,74 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_ft_being_deleted = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_FT_BEING_DELETED"), + "INNODB_FT_BEING_DELETED", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "INNODB AUXILIARY FTS BEING DELETED TABLE"), + "INNODB AUXILIARY FTS BEING DELETED TABLE", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_fts_being_deleted_init), + i_s_fts_being_deleted_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHED and INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE */ -static ST_FIELD_INFO i_s_fts_index_fields_info[] = +static ST_FIELD_INFO i_s_fts_index_fields_info[]= { #define I_S_FTS_WORD 0 - {STRUCT_FLD(field_name, "WORD"), - STRUCT_FLD(field_length, FTS_MAX_WORD_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"WORD", FTS_MAX_WORD_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define I_S_FTS_FIRST_DOC_ID 1 - {STRUCT_FLD(field_name, "FIRST_DOC_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FIRST_DOC_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define I_S_FTS_LAST_DOC_ID 2 - {STRUCT_FLD(field_name, "LAST_DOC_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"LAST_DOC_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define I_S_FTS_DOC_COUNT 3 - {STRUCT_FLD(field_name, "DOC_COUNT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"DOC_COUNT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define I_S_FTS_ILIST_DOC_ID 4 - {STRUCT_FLD(field_name, "DOC_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"DOC_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define I_S_FTS_ILIST_DOC_POS 5 - {STRUCT_FLD(field_name, "POSITION"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"POSITION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -3369,49 +2917,49 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_ft_index_cache = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_FT_INDEX_CACHE"), + "INNODB_FT_INDEX_CACHE", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "INNODB AUXILIARY FTS INDEX CACHED"), + "INNODB AUXILIARY FTS INDEX CACHED", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_fts_index_cache_init), + i_s_fts_index_cache_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /*******************************************************************//** @@ -3809,73 +3357,59 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_ft_index_table = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_FT_INDEX_TABLE"), + "INNODB_FT_INDEX_TABLE", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "INNODB AUXILIARY FTS INDEX TABLE"), + "INNODB AUXILIARY FTS INDEX TABLE", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_fts_index_table_init), + i_s_fts_index_table_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_FT_CONFIG */ -static ST_FIELD_INFO i_s_fts_config_fields_info[] = +static ST_FIELD_INFO i_s_fts_config_fields_info[]= { #define FTS_CONFIG_KEY 0 - {STRUCT_FLD(field_name, "KEY"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"KEY", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define FTS_CONFIG_VALUE 1 - {STRUCT_FLD(field_name, "VALUE"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"VALUE", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; static const char* fts_config_key[] = { @@ -4017,343 +3551,154 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_ft_config = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_FT_CONFIG"), + "INNODB_FT_CONFIG", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "INNODB AUXILIARY FTS CONFIG TABLE"), + "INNODB AUXILIARY FTS CONFIG TABLE", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_fts_config_init), + i_s_fts_config_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INNODB_BUFFER_POOL_STATS. */ -static ST_FIELD_INFO i_s_innodb_buffer_stats_fields_info[] = +static ST_FIELD_INFO i_s_innodb_buffer_stats_fields_info[]= { #define IDX_BUF_STATS_POOL_ID 0 - {STRUCT_FLD(field_name, "POOL_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"POOL_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_POOL_SIZE 1 - {STRUCT_FLD(field_name, "POOL_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"POOL_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_FREE_BUFFERS 2 - {STRUCT_FLD(field_name, "FREE_BUFFERS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FREE_BUFFERS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_LRU_LEN 3 - {STRUCT_FLD(field_name, "DATABASE_PAGES"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"DATABASE_PAGES", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_OLD_LRU_LEN 4 - {STRUCT_FLD(field_name, "OLD_DATABASE_PAGES"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"OLD_DATABASE_PAGES", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_FLUSH_LIST_LEN 5 - {STRUCT_FLD(field_name, "MODIFIED_DATABASE_PAGES"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MODIFIED_DATABASE_PAGES", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PENDING_ZIP 6 - {STRUCT_FLD(field_name, "PENDING_DECOMPRESS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PENDING_DECOMPRESS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PENDING_READ 7 - {STRUCT_FLD(field_name, "PENDING_READS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PENDING_READS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_FLUSH_LRU 8 - {STRUCT_FLD(field_name, "PENDING_FLUSH_LRU"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PENDING_FLUSH_LRU", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_FLUSH_LIST 9 - {STRUCT_FLD(field_name, "PENDING_FLUSH_LIST"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PENDING_FLUSH_LIST", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_YOUNG 10 - {STRUCT_FLD(field_name, "PAGES_MADE_YOUNG"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_MADE_YOUNG", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_NOT_YOUNG 11 - {STRUCT_FLD(field_name, "PAGES_NOT_MADE_YOUNG"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_NOT_MADE_YOUNG", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_YOUNG_RATE 12 - {STRUCT_FLD(field_name, "PAGES_MADE_YOUNG_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_MADE_YOUNG_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_NOT_YOUNG_RATE 13 - {STRUCT_FLD(field_name, "PAGES_MADE_NOT_YOUNG_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_MADE_NOT_YOUNG_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_READ 14 - {STRUCT_FLD(field_name, "NUMBER_PAGES_READ"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_PAGES_READ", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_CREATED 15 - {STRUCT_FLD(field_name, "NUMBER_PAGES_CREATED"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_PAGES_CREATED", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_WRITTEN 16 - {STRUCT_FLD(field_name, "NUMBER_PAGES_WRITTEN"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_PAGES_WRITTEN", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_READ_RATE 17 - {STRUCT_FLD(field_name, "PAGES_READ_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_READ_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_CREATE_RATE 18 - {STRUCT_FLD(field_name, "PAGES_CREATE_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_CREATE_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_PAGE_WRITTEN_RATE 19 - {STRUCT_FLD(field_name, "PAGES_WRITTEN_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGES_WRITTEN_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_GET 20 - {STRUCT_FLD(field_name, "NUMBER_PAGES_GET"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_PAGES_GET", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_HIT_RATE 21 - {STRUCT_FLD(field_name, "HIT_RATE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"HIT_RATE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_MADE_YOUNG_PCT 22 - {STRUCT_FLD(field_name, "YOUNG_MAKE_PER_THOUSAND_GETS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"YOUNG_MAKE_PER_THOUSAND_GETS", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_NOT_MADE_YOUNG_PCT 23 - {STRUCT_FLD(field_name, "NOT_YOUNG_MAKE_PER_THOUSAND_GETS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NOT_YOUNG_MAKE_PER_THOUSAND_GETS", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_READ_AHREAD 24 - {STRUCT_FLD(field_name, "NUMBER_PAGES_READ_AHEAD"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_PAGES_READ_AHEAD", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_READ_AHEAD_EVICTED 25 - {STRUCT_FLD(field_name, "NUMBER_READ_AHEAD_EVICTED"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_READ_AHEAD_EVICTED", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_READ_AHEAD_RATE 26 - {STRUCT_FLD(field_name, "READ_AHEAD_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"READ_AHEAD_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_READ_AHEAD_EVICT_RATE 27 - {STRUCT_FLD(field_name, "READ_AHEAD_EVICTED_RATE"), - STRUCT_FLD(field_length, MAX_FLOAT_STR_LENGTH), - STRUCT_FLD(field_type, MYSQL_TYPE_FLOAT), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"READ_AHEAD_EVICTED_RATE", MAX_FLOAT_STR_LENGTH, MYSQL_TYPE_FLOAT, + 0, 0, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_LRU_IO_SUM 28 - {STRUCT_FLD(field_name, "LRU_IO_TOTAL"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"LRU_IO_TOTAL", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_LRU_IO_CUR 29 - {STRUCT_FLD(field_name, "LRU_IO_CURRENT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"LRU_IO_CURRENT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_UNZIP_SUM 30 - {STRUCT_FLD(field_name, "UNCOMPRESS_TOTAL"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"UNCOMPRESS_TOTAL", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_STATS_UNZIP_CUR 31 - {STRUCT_FLD(field_name, "UNCOMPRESS_CURRENT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"UNCOMPRESS_CURRENT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -4564,237 +3909,117 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_buffer_stats = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_BUFFER_POOL_STATS"), + "INNODB_BUFFER_POOL_STATS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB Buffer Pool Statistics Information "), + "InnoDB Buffer Pool Statistics Information ", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_innodb_buffer_pool_stats_init), + i_s_innodb_buffer_pool_stats_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /* Fields of the dynamic table INNODB_BUFFER_POOL_PAGE. */ -static ST_FIELD_INFO i_s_innodb_buffer_page_fields_info[] = +static ST_FIELD_INFO i_s_innodb_buffer_page_fields_info[]= { #define IDX_BUFFER_POOL_ID 0 - {STRUCT_FLD(field_name, "POOL_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"POOL_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_BLOCK_ID 1 - {STRUCT_FLD(field_name, "BLOCK_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"BLOCK_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_SPACE 2 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_NUM 3 - {STRUCT_FLD(field_name, "PAGE_NUMBER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_NUMBER", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_TYPE 4 - {STRUCT_FLD(field_name, "PAGE_TYPE"), - STRUCT_FLD(field_length, 64), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_TYPE", 64, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_FLUSH_TYPE 5 - {STRUCT_FLD(field_name, "FLUSH_TYPE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FLUSH_TYPE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_FIX_COUNT 6 - {STRUCT_FLD(field_name, "FIX_COUNT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FIX_COUNT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #ifdef BTR_CUR_HASH_ADAPT -#define IDX_BUFFER_PAGE_HASHED 7 - {STRUCT_FLD(field_name, "IS_HASHED"), - STRUCT_FLD(field_length, 3), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, +# define IDX_BUFFER_PAGE_HASHED 7 + {"IS_HASHED", 3, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #endif /* BTR_CUR_HASH_ADAPT */ - #define IDX_BUFFER_PAGE_NEWEST_MOD 7 + I_S_AHI - {STRUCT_FLD(field_name, "NEWEST_MODIFICATION"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NEWEST_MODIFICATION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_OLDEST_MOD 8 + I_S_AHI - {STRUCT_FLD(field_name, "OLDEST_MODIFICATION"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"OLDEST_MODIFICATION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_ACCESS_TIME 9 + I_S_AHI - {STRUCT_FLD(field_name, "ACCESS_TIME"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ACCESS_TIME", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_TABLE_NAME 10 + I_S_AHI - {STRUCT_FLD(field_name, "TABLE_NAME"), - STRUCT_FLD(field_length, 1024), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_NAME", 1024, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_INDEX_NAME 11 + I_S_AHI - {STRUCT_FLD(field_name, "INDEX_NAME"), - STRUCT_FLD(field_length, 1024), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"INDEX_NAME", 1024, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_NUM_RECS 12 + I_S_AHI - {STRUCT_FLD(field_name, "NUMBER_RECORDS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_RECORDS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_DATA_SIZE 13 + I_S_AHI - {STRUCT_FLD(field_name, "DATA_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"DATA_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_ZIP_SIZE 14 + I_S_AHI - {STRUCT_FLD(field_name, "COMPRESSED_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"COMPRESSED_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_STATE 15 + I_S_AHI - {STRUCT_FLD(field_name, "PAGE_STATE"), - STRUCT_FLD(field_length, 64), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_STATE", 64, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_IO_FIX 16 + I_S_AHI - {STRUCT_FLD(field_name, "IO_FIX"), - STRUCT_FLD(field_length, 64), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"IO_FIX", 64, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_IS_OLD 17 + I_S_AHI - {STRUCT_FLD(field_name, "IS_OLD"), - STRUCT_FLD(field_length, 3), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"IS_OLD", 3, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUFFER_PAGE_FREE_CLOCK 18 + I_S_AHI - {STRUCT_FLD(field_name, "FREE_PAGE_CLOCK"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"FREE_PAGE_CLOCK", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -5293,236 +4518,116 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_buffer_page = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_BUFFER_PAGE"), + "INNODB_BUFFER_PAGE", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB Buffer Page Information"), + "InnoDB Buffer Page Information", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_innodb_buffer_page_init), + i_s_innodb_buffer_page_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; -static ST_FIELD_INFO i_s_innodb_buf_page_lru_fields_info[] = +static ST_FIELD_INFO i_s_innodb_buf_page_lru_fields_info[]= { #define IDX_BUF_LRU_POOL_ID 0 - {STRUCT_FLD(field_name, "POOL_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"POOL_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_POS 1 - {STRUCT_FLD(field_name, "LRU_POSITION"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"LRU_POSITION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_SPACE 2 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_NUM 3 - {STRUCT_FLD(field_name, "PAGE_NUMBER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_NUMBER", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_TYPE 4 - {STRUCT_FLD(field_name, "PAGE_TYPE"), - STRUCT_FLD(field_length, 64), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_TYPE", 64, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_FLUSH_TYPE 5 - {STRUCT_FLD(field_name, "FLUSH_TYPE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FLUSH_TYPE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_FIX_COUNT 6 - {STRUCT_FLD(field_name, "FIX_COUNT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FIX_COUNT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #ifdef BTR_CUR_HASH_ADAPT -#define IDX_BUF_LRU_PAGE_HASHED 7 - {STRUCT_FLD(field_name, "IS_HASHED"), - STRUCT_FLD(field_length, 3), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, +# define IDX_BUF_LRU_PAGE_HASHED 7 + {"IS_HASHED", 3, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #endif /* BTR_CUR_HASH_ADAPT */ - #define IDX_BUF_LRU_PAGE_NEWEST_MOD 7 + I_S_AHI - {STRUCT_FLD(field_name, "NEWEST_MODIFICATION"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NEWEST_MODIFICATION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_OLDEST_MOD 8 + I_S_AHI - {STRUCT_FLD(field_name, "OLDEST_MODIFICATION"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"OLDEST_MODIFICATION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_ACCESS_TIME 9 + I_S_AHI - {STRUCT_FLD(field_name, "ACCESS_TIME"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ACCESS_TIME", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_TABLE_NAME 10 + I_S_AHI - {STRUCT_FLD(field_name, "TABLE_NAME"), - STRUCT_FLD(field_length, 1024), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_NAME", 1024, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_INDEX_NAME 11 + I_S_AHI - {STRUCT_FLD(field_name, "INDEX_NAME"), - STRUCT_FLD(field_length, 1024), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"INDEX_NAME", 1024, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_NUM_RECS 12 + I_S_AHI - {STRUCT_FLD(field_name, "NUMBER_RECORDS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUMBER_RECORDS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_DATA_SIZE 13 + I_S_AHI - {STRUCT_FLD(field_name, "DATA_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"DATA_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_ZIP_SIZE 14 + I_S_AHI - {STRUCT_FLD(field_name, "COMPRESSED_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"COMPRESSED_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_STATE 15 + I_S_AHI - {STRUCT_FLD(field_name, "COMPRESSED"), - STRUCT_FLD(field_length, 3), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"COMPRESSED", 3, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_IO_FIX 16 + I_S_AHI - {STRUCT_FLD(field_name, "IO_FIX"), - STRUCT_FLD(field_length, 64), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"IO_FIX", 64, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_IS_OLD 17 + I_S_AHI - {STRUCT_FLD(field_name, "IS_OLD"), - STRUCT_FLD(field_length, 3), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"IS_OLD", 3, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define IDX_BUF_LRU_PAGE_FREE_CLOCK 18 + I_S_AHI - {STRUCT_FLD(field_name, "FREE_PAGE_CLOCK"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"FREE_PAGE_CLOCK", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -5844,49 +4949,49 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_buffer_page_lru = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_BUFFER_PAGE_LRU"), + "INNODB_BUFFER_PAGE_LRU", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB Buffer Page in LRU"), + "InnoDB Buffer Page in LRU", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, i_s_innodb_buffer_page_lru_init), + i_s_innodb_buffer_page_lru_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /*******************************************************************//** @@ -5907,90 +5012,36 @@ i_s_common_deinit( /** SYS_TABLES ***************************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.SYS_TABLES */ -static ST_FIELD_INFO innodb_sys_tables_fields_info[] = +static ST_FIELD_INFO innodb_sys_tables_fields_info[]= { #define SYS_TABLES_ID 0 - {STRUCT_FLD(field_name, "TABLE_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, MAX_FULL_NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", MAX_FULL_NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_FLAG 2 - {STRUCT_FLD(field_name, "FLAG"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FLAG", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_NUM_COLUMN 3 - {STRUCT_FLD(field_name, "N_COLS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"N_COLS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_SPACE 4 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_FILE_FORMAT 5 - {STRUCT_FLD(field_name, "FILE_FORMAT"), - STRUCT_FLD(field_length, 10), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FILE_FORMAT", 10, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_ROW_FORMAT 6 - {STRUCT_FLD(field_name, "ROW_FORMAT"), - STRUCT_FLD(field_length, 12), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ROW_FORMAT", 12, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_ZIP_PAGE_SIZE 7 - {STRUCT_FLD(field_name, "ZIP_PAGE_SIZE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ZIP_PAGE_SIZE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLES_SPACE_TYPE 8 - {STRUCT_FLD(field_name, "SPACE_TYPE"), - STRUCT_FLD(field_length, 10), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"SPACE_TYPE", 10, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -6159,137 +5210,84 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_tables = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_TABLES"), + "INNODB_SYS_TABLES", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_TABLES"), + "InnoDB SYS_TABLES", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_tables_init), + innodb_sys_tables_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_TABLESTATS ***********************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.SYS_TABLESTATS */ -static ST_FIELD_INFO innodb_sys_tablestats_fields_info[] = +static ST_FIELD_INFO innodb_sys_tablestats_fields_info[]= { #define SYS_TABLESTATS_ID 0 - {STRUCT_FLD(field_name, "TABLE_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_INIT 2 - {STRUCT_FLD(field_name, "STATS_INITIALIZED"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"STATS_INITIALIZED", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_NROW 3 - {STRUCT_FLD(field_name, "NUM_ROWS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NUM_ROWS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_CLUST_SIZE 4 - {STRUCT_FLD(field_name, "CLUST_INDEX_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"CLUST_INDEX_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_INDEX_SIZE 5 - {STRUCT_FLD(field_name, "OTHER_INDEX_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"OTHER_INDEX_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_MODIFIED 6 - {STRUCT_FLD(field_name, "MODIFIED_COUNTER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MODIFIED_COUNTER", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_AUTONINC 7 - {STRUCT_FLD(field_name, "AUTOINC"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"AUTOINC", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESTATS_TABLE_REF_COUNT 8 - {STRUCT_FLD(field_name, "REF_COUNT"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"REF_COUNT", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, - END_OF_ST_FIELD_INFO + END_OF_ST_FIELD_INFO }; /** Populate information_schema.innodb_sys_tablestats table with information @@ -6470,128 +5468,80 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_tablestats = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_TABLESTATS"), + "INNODB_SYS_TABLESTATS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_TABLESTATS"), + "InnoDB SYS_TABLESTATS", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_tablestats_init), + innodb_sys_tablestats_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_INDEXES **************************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.SYS_INDEXES */ -static ST_FIELD_INFO innodb_sysindex_fields_info[] = +static ST_FIELD_INFO innodb_sysindex_fields_info[]= { #define SYS_INDEX_ID 0 - {STRUCT_FLD(field_name, "INDEX_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"INDEX_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_TABLE_ID 2 - {STRUCT_FLD(field_name, "TABLE_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_TYPE 3 - {STRUCT_FLD(field_name, "TYPE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TYPE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_NUM_FIELDS 4 - {STRUCT_FLD(field_name, "N_FIELDS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"N_FIELDS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_PAGE_NO 5 - {STRUCT_FLD(field_name, "PAGE_NO"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_NO", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_SPACE 6 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_INDEX_MERGE_THRESHOLD 7 - {STRUCT_FLD(field_name, "MERGE_THRESHOLD"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"MERGE_THRESHOLD", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -6741,110 +5691,74 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_indexes = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_INDEXES"), + "INNODB_SYS_INDEXES", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_INDEXES"), + "InnoDB SYS_INDEXES", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_indexes_init), + innodb_sys_indexes_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_COLUMNS **************************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_COLUMNS */ -static ST_FIELD_INFO innodb_sys_columns_fields_info[] = +static ST_FIELD_INFO innodb_sys_columns_fields_info[]= { #define SYS_COLUMN_TABLE_ID 0 - {STRUCT_FLD(field_name, "TABLE_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_COLUMN_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_COLUMN_POSITION 2 - {STRUCT_FLD(field_name, "POS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"POS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_COLUMN_MTYPE 3 - {STRUCT_FLD(field_name, "MTYPE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MTYPE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_COLUMN__PRTYPE 4 - {STRUCT_FLD(field_name, "PRTYPE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PRTYPE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_COLUMN_COLUMN_LEN 5 - {STRUCT_FLD(field_name, "LEN"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"LEN", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, 0, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -6987,83 +5901,65 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_columns = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_COLUMNS"), + "INNODB_SYS_COLUMNS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_COLUMNS"), + "InnoDB SYS_COLUMNS", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_columns_init), + innodb_sys_columns_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_VIRTUAL **************************************************/ /** Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_VIRTUAL */ -static ST_FIELD_INFO innodb_sys_virtual_fields_info[] = +static ST_FIELD_INFO innodb_sys_virtual_fields_info[]= { #define SYS_VIRTUAL_TABLE_ID 0 - {STRUCT_FLD(field_name, "TABLE_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"TABLE_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_VIRTUAL_POS 1 - {STRUCT_FLD(field_name, "POS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"POS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_VIRTUAL_BASE_POS 2 - {STRUCT_FLD(field_name, "BASE_POS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"BASE_POS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /** Function to populate the information_schema.innodb_sys_virtual with @@ -7195,82 +6091,64 @@ struct st_maria_plugin i_s_innodb_sys_virtual = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_VIRTUAL"), + "INNODB_SYS_VIRTUAL", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_VIRTUAL"), + "InnoDB SYS_VIRTUAL", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_virtual_init), + innodb_sys_virtual_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_FIELDS ***************************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_FIELDS */ -static ST_FIELD_INFO innodb_sys_fields_fields_info[] = +static ST_FIELD_INFO innodb_sys_fields_fields_info[]= { #define SYS_FIELD_INDEX_ID 0 - {STRUCT_FLD(field_name, "INDEX_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"INDEX_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_FIELD_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FIELD_POS 2 - {STRUCT_FLD(field_name, "POS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"POS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -7404,101 +6282,68 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_fields = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_FIELDS"), + "INNODB_SYS_FIELDS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_FIELDS"), + "InnoDB SYS_FIELDS", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_fields_init), + innodb_sys_fields_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_FOREIGN ********************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_FOREIGN */ -static ST_FIELD_INFO innodb_sys_foreign_fields_info[] = +static ST_FIELD_INFO innodb_sys_foreign_fields_info[]= { #define SYS_FOREIGN_ID 0 - {STRUCT_FLD(field_name, "ID"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ID", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_FOR_NAME 1 - {STRUCT_FLD(field_name, "FOR_NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FOR_NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_REF_NAME 2 - {STRUCT_FLD(field_name, "REF_NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"REF_NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_NUM_COL 3 - {STRUCT_FLD(field_name, "N_COLS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"N_COLS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_TYPE 4 - {STRUCT_FLD(field_name, "TYPE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"TYPE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -7629,92 +6474,65 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_foreign = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_FOREIGN"), + "INNODB_SYS_FOREIGN", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_FOREIGN"), + "InnoDB SYS_FOREIGN", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_foreign_init), + innodb_sys_foreign_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_FOREIGN_COLS ********************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS */ -static ST_FIELD_INFO innodb_sys_foreign_cols_fields_info[] = +static ST_FIELD_INFO innodb_sys_foreign_cols_fields_info[]= { #define SYS_FOREIGN_COL_ID 0 - {STRUCT_FLD(field_name, "ID"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ID", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_COL_FOR_NAME 1 - {STRUCT_FLD(field_name, "FOR_COL_NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FOR_COL_NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_COL_REF_NAME 2 - {STRUCT_FLD(field_name, "REF_COL_NAME"), - STRUCT_FLD(field_length, NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"REF_COL_NAME", NAME_LEN + 1, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_FOREIGN_COL_POS 3 - {STRUCT_FLD(field_name, "POS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"POS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -7846,156 +6664,89 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_foreign_cols = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_FOREIGN_COLS"), + "INNODB_SYS_FOREIGN_COLS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_FOREIGN_COLS"), + "InnoDB SYS_FOREIGN_COLS", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_foreign_cols_init), + innodb_sys_foreign_cols_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_TABLESPACES ********************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES */ -static ST_FIELD_INFO innodb_sys_tablespaces_fields_info[] = +static ST_FIELD_INFO innodb_sys_tablespaces_fields_info[]= { #define SYS_TABLESPACES_SPACE 0 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, MAX_FULL_NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", MAX_FULL_NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_FLAGS 2 - {STRUCT_FLD(field_name, "FLAG"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FLAG", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_FILE_FORMAT 3 - {STRUCT_FLD(field_name, "FILE_FORMAT"), - STRUCT_FLD(field_length, 10), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FILE_FORMAT", 10, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_ROW_FORMAT 4 - {STRUCT_FLD(field_name, "ROW_FORMAT"), - STRUCT_FLD(field_length, 22), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ROW_FORMAT", 22, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_PAGE_SIZE 5 - {STRUCT_FLD(field_name, "PAGE_SIZE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"PAGE_SIZE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_ZIP_PAGE_SIZE 6 - {STRUCT_FLD(field_name, "ZIP_PAGE_SIZE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ZIP_PAGE_SIZE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_SPACE_TYPE 7 - {STRUCT_FLD(field_name, "SPACE_TYPE"), - STRUCT_FLD(field_length, 10), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE_TYPE", 10, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_FS_BLOCK_SIZE 8 - {STRUCT_FLD(field_name, "FS_BLOCK_SIZE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FS_BLOCK_SIZE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_FILE_SIZE 9 - {STRUCT_FLD(field_name, "FILE_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"FILE_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_TABLESPACES_ALLOC_SIZE 10 - {STRUCT_FLD(field_name, "ALLOCATED_SIZE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO - + {"ALLOCATED_SIZE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -8215,74 +6966,61 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_tablespaces = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_TABLESPACES"), + "INNODB_SYS_TABLESPACES", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_TABLESPACES"), + "InnoDB SYS_TABLESPACES", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_tablespaces_init), + innodb_sys_tablespaces_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_DATAFILES ************************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_DATAFILES */ -static ST_FIELD_INFO innodb_sys_datafiles_fields_info[] = +static ST_FIELD_INFO innodb_sys_datafiles_fields_info[]= { #define SYS_DATAFILES_SPACE 0 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define SYS_DATAFILES_PATH 1 - {STRUCT_FLD(field_name, "PATH"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"PATH", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -8404,146 +7142,88 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_datafiles = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_DATAFILES"), + "INNODB_SYS_DATAFILES", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_DATAFILES"), + "InnoDB SYS_DATAFILES", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_datafiles_init), + innodb_sys_datafiles_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** TABLESPACES_ENCRYPTION ********************************************/ /* Fields of the table INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION */ -static ST_FIELD_INFO innodb_tablespaces_encryption_fields_info[] = +static ST_FIELD_INFO innodb_tablespaces_encryption_fields_info[]= { #define TABLESPACES_ENCRYPTION_SPACE 0 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, MAX_FULL_NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", MAX_FULL_NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_ENCRYPTION_SCHEME 2 - {STRUCT_FLD(field_name, "ENCRYPTION_SCHEME"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"ENCRYPTION_SCHEME", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_KEYSERVER_REQUESTS 3 - {STRUCT_FLD(field_name, "KEYSERVER_REQUESTS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"KEYSERVER_REQUESTS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_MIN_KEY_VERSION 4 - {STRUCT_FLD(field_name, "MIN_KEY_VERSION"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"MIN_KEY_VERSION", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_CURRENT_KEY_VERSION 5 - {STRUCT_FLD(field_name, "CURRENT_KEY_VERSION"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"CURRENT_KEY_VERSION", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_KEY_ROTATION_PAGE_NUMBER 6 - {STRUCT_FLD(field_name, "KEY_ROTATION_PAGE_NUMBER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"KEY_ROTATION_PAGE_NUMBER", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_KEY_ROTATION_MAX_PAGE_NUMBER 7 - {STRUCT_FLD(field_name, "KEY_ROTATION_MAX_PAGE_NUMBER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"KEY_ROTATION_MAX_PAGE_NUMBER", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_CURRENT_KEY_ID 8 - {STRUCT_FLD(field_name, "CURRENT_KEY_ID"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"CURRENT_KEY_ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_ENCRYPTION_ROTATING_OR_FLUSHING 9 - {STRUCT_FLD(field_name, "ROTATING_OR_FLUSHING"), - STRUCT_FLD(field_length, 1), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"ROTATING_OR_FLUSHING", 1, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -8678,128 +7358,83 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_tablespaces_encryption = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_TABLESPACES_ENCRYPTION"), + "INNODB_TABLESPACES_ENCRYPTION", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, "Google Inc"), + "Google Inc", /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB TABLESPACES_ENCRYPTION"), + "InnoDB TABLESPACES_ENCRYPTION", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_BSD), + PLUGIN_LICENSE_BSD, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_tablespaces_encryption_init), + innodb_tablespaces_encryption_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE) + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE }; /** TABLESPACES_SCRUBBING ********************************************/ /* Fields of the table INFORMATION_SCHEMA.INNODB_TABLESPACES_SCRUBBING */ -static ST_FIELD_INFO innodb_tablespaces_scrubbing_fields_info[] = +static ST_FIELD_INFO innodb_tablespaces_scrubbing_fields_info[]= { #define TABLESPACES_SCRUBBING_SPACE 0 - {STRUCT_FLD(field_name, "SPACE"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"SPACE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_NAME 1 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, MAX_FULL_NAME_LEN + 1), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"NAME", MAX_FULL_NAME_LEN + 1, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_COMPRESSED 2 - {STRUCT_FLD(field_name, "COMPRESSED"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"COMPRESSED", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_LAST_SCRUB_COMPLETED 3 - {STRUCT_FLD(field_name, "LAST_SCRUB_COMPLETED"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"LAST_SCRUB_COMPLETED", 0, MYSQL_TYPE_DATETIME, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_CURRENT_SCRUB_STARTED 4 - {STRUCT_FLD(field_name, "CURRENT_SCRUB_STARTED"), - STRUCT_FLD(field_length, 0), - STRUCT_FLD(field_type, MYSQL_TYPE_DATETIME), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"CURRENT_SCRUB_STARTED", 0, MYSQL_TYPE_DATETIME, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_CURRENT_SCRUB_ACTIVE_THREADS 5 - {STRUCT_FLD(field_name, "CURRENT_SCRUB_ACTIVE_THREADS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"CURRENT_SCRUB_ACTIVE_THREADS", MY_INT32_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED | MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_CURRENT_SCRUB_PAGE_NUMBER 6 - {STRUCT_FLD(field_name, "CURRENT_SCRUB_PAGE_NUMBER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - + {"CURRENT_SCRUB_PAGE_NUMBER", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define TABLESPACES_SCRUBBING_CURRENT_SCRUB_MAX_PAGE_NUMBER 7 - {STRUCT_FLD(field_name, "CURRENT_SCRUB_MAX_PAGE_NUMBER"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"CURRENT_SCRUB_MAX_PAGE_NUMBER", MY_INT64_NUM_DECIMAL_DIGITS, + MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /**********************************************************************//** @@ -8940,89 +7575,67 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_tablespaces_scrubbing = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_TABLESPACES_SCRUBBING"), + "INNODB_TABLESPACES_SCRUBBING", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, "Google Inc"), + "Google Inc", /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB TABLESPACES_SCRUBBING"), + "InnoDB TABLESPACES_SCRUBBING", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_BSD), + PLUGIN_LICENSE_BSD, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_tablespaces_scrubbing_init), + innodb_tablespaces_scrubbing_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE) + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE }; /** INNODB_MUTEXES *********************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_MUTEXES */ -static ST_FIELD_INFO innodb_mutexes_fields_info[] = +static ST_FIELD_INFO innodb_mutexes_fields_info[]= { #define MUTEXES_NAME 0 - {STRUCT_FLD(field_name, "NAME"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"NAME", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE}, #define MUTEXES_CREATE_FILE 1 - {STRUCT_FLD(field_name, "CREATE_FILE"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, 0), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"CREATE_FILE", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, 0, "", SKIP_OPEN_TABLE}, #define MUTEXES_CREATE_LINE 2 - {STRUCT_FLD(field_name, "CREATE_LINE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, + {"CREATE_LINE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, #define MUTEXES_OS_WAITS 3 - {STRUCT_FLD(field_name, "OS_WAITS"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"OS_WAITS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; /*******************************************************************//** @@ -9184,258 +7797,103 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_mutexes = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_MUTEXES"), + "INNODB_MUTEXES", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, plugin_author), + plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_DATAFILES"), + "InnoDB SYS_DATAFILES", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_mutexes_init), + innodb_mutexes_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; /** SYS_SEMAPHORE_WAITS ************************************************/ /* Fields of the dynamic table INFORMATION_SCHEMA.INNODB_SYS_SEMAPHORE_WAITS */ -static ST_FIELD_INFO innodb_sys_semaphore_waits_fields_info[] = +static ST_FIELD_INFO innodb_sys_semaphore_waits_fields_info[]= { - // SYS_SEMAPHORE_WAITS_THREAD_ID 0 - {STRUCT_FLD(field_name, "THREAD_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_OBJECT_NAME 1 - {STRUCT_FLD(field_name, "OBJECT_NAME"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_FILE 2 - {STRUCT_FLD(field_name, "FILE"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_LINE 3 - {STRUCT_FLD(field_name, "LINE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_WAIT_TIME 4 - {STRUCT_FLD(field_name, "WAIT_TIME"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_WAIT_OBJECT 5 - {STRUCT_FLD(field_name, "WAIT_OBJECT"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_WAIT_TYPE 6 - {STRUCT_FLD(field_name, "WAIT_TYPE"), - STRUCT_FLD(field_length, 16), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_HOLDER_THREAD_ID 7 - {STRUCT_FLD(field_name, "HOLDER_THREAD_ID"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_HOLDER_FILE 8 - {STRUCT_FLD(field_name, "HOLDER_FILE"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_HOLDER_LINE 9 - {STRUCT_FLD(field_name, "HOLDER_LINE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_CREATED_FILE 10 - {STRUCT_FLD(field_name, "CREATED_FILE"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_CREATED_LINE 11 - {STRUCT_FLD(field_name, "CREATED_LINE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_WRITER_THREAD 12 - {STRUCT_FLD(field_name, "WRITER_THREAD"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_RESERVATION_MODE 13 - {STRUCT_FLD(field_name, "RESERVATION_MODE"), - STRUCT_FLD(field_length, 16), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_READERS 14 - {STRUCT_FLD(field_name, "READERS"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_WAITERS_FLAG 15 - {STRUCT_FLD(field_name, "WAITERS_FLAG"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_LOCK_WORD 16 - {STRUCT_FLD(field_name, "LOCK_WORD"), - STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_LAST_READER_FILE 17 - {STRUCT_FLD(field_name, "LAST_READER_FILE"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_LAST_READER_LINE 18 - {STRUCT_FLD(field_name, "LAST_READER_LINE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_LAST_WRITER_FILE 19 - {STRUCT_FLD(field_name, "LAST_WRITER_FILE"), - STRUCT_FLD(field_length, OS_FILE_MAX_PATH), - STRUCT_FLD(field_type, MYSQL_TYPE_STRING), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_LAST_WRITER_LINE 20 - {STRUCT_FLD(field_name, "LAST_WRITER_LINE"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - // SYS_SEMAPHORE_WAITS_OS_WAIT_COUNT 21 - {STRUCT_FLD(field_name, "OS_WAIT_COUNT"), - STRUCT_FLD(field_length, MY_INT32_NUM_DECIMAL_DIGITS), - STRUCT_FLD(field_type, MYSQL_TYPE_LONG), - STRUCT_FLD(value, 0), - STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), - STRUCT_FLD(old_name, ""), - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}, - - END_OF_ST_FIELD_INFO + {"THREAD_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"OBJECT_NAME", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"FILE", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"LINE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"WAIT_TIME", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"WAIT_OBJECT", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"WAIT_TYPE", 16, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"HOLDER_THREAD_ID", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"HOLDER_FILE", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"HOLDER_LINE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"CREATED_FILE", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"CREATED_LINE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"WRITER_THREAD", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"RESERVATION_MODE", 16, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"READERS", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"WAITERS_FLAG", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"LOCK_WORD", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"LAST_READER_FILE", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"LAST_READER_LINE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"LAST_WRITER_FILE", OS_FILE_MAX_PATH, MYSQL_TYPE_STRING, + 0, MY_I_S_MAYBE_NULL, "", SKIP_OPEN_TABLE}, + {"LAST_WRITER_LINE", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + {"OS_WAIT_COUNT", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, + 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE}, + END_OF_ST_FIELD_INFO }; - /*******************************************************************//** Bind the dynamic table INFORMATION_SCHEMA.INNODB_SYS_SEMAPHORE_WAITS @return 0 on success */ @@ -9461,47 +7919,47 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_semaphore_waits = { /* the plugin type (a MYSQL_XXX_PLUGIN value) */ /* int */ - STRUCT_FLD(type, MYSQL_INFORMATION_SCHEMA_PLUGIN), + MYSQL_INFORMATION_SCHEMA_PLUGIN, /* pointer to type-specific plugin descriptor */ /* void* */ - STRUCT_FLD(info, &i_s_info), + &i_s_info, /* plugin name */ /* const char* */ - STRUCT_FLD(name, "INNODB_SYS_SEMAPHORE_WAITS"), + "INNODB_SYS_SEMAPHORE_WAITS", /* plugin author (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(author, maria_plugin_author), + maria_plugin_author, /* general descriptive text (for SHOW PLUGINS) */ /* const char* */ - STRUCT_FLD(descr, "InnoDB SYS_SEMAPHORE_WAITS"), + "InnoDB SYS_SEMAPHORE_WAITS", /* the plugin license (PLUGIN_LICENSE_XXX) */ /* int */ - STRUCT_FLD(license, PLUGIN_LICENSE_GPL), + PLUGIN_LICENSE_GPL, /* the function to invoke when plugin is loaded */ /* int (*)(void*); */ - STRUCT_FLD(init, innodb_sys_semaphore_waits_init), + innodb_sys_semaphore_waits_init, /* the function to invoke when plugin is unloaded */ /* int (*)(void*); */ - STRUCT_FLD(deinit, i_s_common_deinit), + i_s_common_deinit, /* plugin version (for SHOW PLUGINS) */ /* unsigned int */ - STRUCT_FLD(version, INNODB_VERSION_SHORT), + INNODB_VERSION_SHORT, /* struct st_mysql_show_var* */ - STRUCT_FLD(status_vars, NULL), + NULL, /* struct st_mysql_sys_var** */ - STRUCT_FLD(system_vars, NULL), + NULL, /* Maria extension */ - STRUCT_FLD(version_info, INNODB_VERSION_STR), - STRUCT_FLD(maturity, MariaDB_PLUGIN_MATURITY_STABLE), + INNODB_VERSION_STR, + MariaDB_PLUGIN_MATURITY_STABLE, }; diff --git a/storage/innobase/handler/i_s.h b/storage/innobase/handler/i_s.h index ed4165bdeeb..e83a0df332f 100644 --- a/storage/innobase/handler/i_s.h +++ b/storage/innobase/handler/i_s.h @@ -92,26 +92,9 @@ do { \ } \ } while (0) -#if !defined __STRICT_ANSI__ && defined __GNUC__ && (__GNUC__) > 2 && !defined __INTEL_COMPILER && !defined __clang__ -#ifdef HAVE_C99_INITIALIZERS -#define STRUCT_FLD(name, value) .name = value -#else -#define STRUCT_FLD(name, value) name: value -#endif /* HAVE_C99_INITIALIZERS */ -#else -#define STRUCT_FLD(name, value) value -#endif - /* Don't use a static const variable here, as some C++ compilers (notably HPUX aCC: HP ANSI C++ B3910B A.03.65) can't handle it. */ -#define END_OF_ST_FIELD_INFO \ - {STRUCT_FLD(field_name, NULL), \ - STRUCT_FLD(field_length, 0), \ - STRUCT_FLD(field_type, MYSQL_TYPE_NULL), \ - STRUCT_FLD(value, 0), \ - STRUCT_FLD(field_flags, 0), \ - STRUCT_FLD(old_name, ""), \ - STRUCT_FLD(open_method, SKIP_OPEN_TABLE)} +#define END_OF_ST_FIELD_INFO {NULL,0,MYSQL_TYPE_NULL,0,0,"",SKIP_OPEN_TABLE} /** Fields on INFORMATION_SCHEMA.SYS_SEMAMPHORE_WAITS table */ #define SYS_SEMAPHORE_WAITS_THREAD_ID 0 diff --git a/storage/innobase/innodb.cmake b/storage/innobase/innodb.cmake index e2e74951f67..b6276f73e31 100644 --- a/storage/innobase/innodb.cmake +++ b/storage/innobase/innodb.cmake @@ -228,11 +228,6 @@ ENDIF(NOT MSVC) CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF) -CHECK_CXX_SOURCE_COMPILES("struct t1{ int a; char *b; }; struct t1 c= { .a=1, .b=0 }; main() { }" HAVE_C99_INITIALIZERS) -IF(HAVE_C99_INITIALIZERS) - ADD_DEFINITIONS(-DHAVE_C99_INITIALIZERS) -ENDIF() - SET(MUTEXTYPE "event" CACHE STRING "Mutex type: event, sys or futex") IF(MUTEXTYPE MATCHES "event") From 557bb344e44d1fdba13325c1e3bfa8c775851f07 Mon Sep 17 00:00:00 2001 From: Faustin Lammler Date: Fri, 20 Aug 2021 12:43:28 +0300 Subject: [PATCH 3/7] Unused flag creates cleaning issue (piuparts) The "$mysql_statedir/debian-$MAJOR_VER.flag" is not used by any maintainer script ("$mysql_datadir/debian-$MAJOR_VER.flag" is used, https://github.com/MariaDB/server/blob/10.6/debian/mariadb-server-10.6.postinst#L164). See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985870 Fix also some minor typo. --- debian/mariadb-server-10.2.postinst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/debian/mariadb-server-10.2.postinst b/debian/mariadb-server-10.2.postinst index 057b1bf540e..14b2053b3a0 100644 --- a/debian/mariadb-server-10.2.postinst +++ b/debian/mariadb-server-10.2.postinst @@ -117,7 +117,7 @@ EOF if [ ! -d "$mysql_datadir" -a ! -L "$mysql_datadir" ]; then mkdir "$mysql_datadir" ; fi if [ ! -d "$mysql_logdir" -a ! -L "$mysql_logdir" ]; then mkdir "$mysql_logdir" ; fi # When creating an ext3 jounal on an already mounted filesystem like e.g. - # /var/lib/mysql, you get a .journal file that is not modifyable by chown. + # /var/lib/mysql, you get a .journal file that is not modifiable by chown. # The mysql_statedir must not be writable by the mysql user under any # circumstances as it contains scripts that are executed by root. set +e @@ -147,10 +147,6 @@ EOF bash /usr/bin/mysql_install_db --rpm --cross-bootstrap --user=mysql --disable-log-bin 2>&1 | $ERR_LOGGER set -e - - # To avoid downgrades. - touch $mysql_statedir/debian-$MAJOR_VER.flag - ## On every reconfiguration the maintenance user is recreated. # # - It is easier to regenerate the password every time but as people @@ -259,7 +255,7 @@ EOF ;; esac -db_stop # in case invoke failes +db_stop # in case invoke fails # dh_systemd_start doesn't emit anything since we still ship /etc/init.d/mysql. # Thus MariaDB server is started via init.d script, which in turn redirects to From 08e5a3d2e3e0ee98a22f58adb9f76c686ba94a8a Mon Sep 17 00:00:00 2001 From: Thirunarayanan Balathandayuthapani Date: Thu, 19 Aug 2021 16:46:01 +0530 Subject: [PATCH 4/7] MDEV-26383 ASAN heap-use-after-free failure in btr_search_lazy_free Problem: ======= The last AHI page for two indexes of an dropped table is being freed at the same time by two threads. One thread frees the table heap and other thread tries to access table heap again. It leads to asan failure in btr_search_lazy_free(). Solution: ======== InnoDB uses autoinc_mutex to avoid the race condition in btr_search_lazy_free() --- storage/innobase/btr/btr0sea.cc | 18 +++++++++++++++++- storage/innobase/dict/dict0dict.cc | 2 +- storage/innobase/include/dict0mem.h | 1 - 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/storage/innobase/btr/btr0sea.cc b/storage/innobase/btr/btr0sea.cc index 7b80d22c778..2e572fe32a8 100644 --- a/storage/innobase/btr/btr0sea.cc +++ b/storage/innobase/btr/btr0sea.cc @@ -253,6 +253,16 @@ ATTRIBUTE_COLD static void btr_search_lazy_free(dict_index_t *index) { ut_ad(index->freed()); dict_table_t *table= index->table; + bool non_exist_table= (table->id == 0); + + if (non_exist_table) + { + /* autoinc_mutex should be acquired to avoid the race condition + in case of multiple threads accessing the evicted table + or dropped table. */ + mysql_mutex_lock(&table->autoinc_mutex); + } + /* Perform the skipped steps of dict_index_remove_from_cache_low(). */ UT_LIST_REMOVE(table->freed_indexes, index); rw_lock_free(&index->lock); @@ -261,9 +271,15 @@ ATTRIBUTE_COLD static void btr_search_lazy_free(dict_index_t *index) if (!UT_LIST_GET_LEN(table->freed_indexes) && !UT_LIST_GET_LEN(table->indexes)) { - ut_ad(table->id == 0); + ut_ad(non_exist_table); + mysql_mutex_unlock(&table->autoinc_mutex); + mysql_mutex_destroy(&table->autoinc_mutex); dict_mem_table_free(table); + return; } + + if (non_exist_table) + mysql_mutex_unlock(&table->autoinc_mutex); } /** Clear the adaptive hash index on all pages in the buffer pool. */ diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc index 48c37855d3e..8243cf51526 100644 --- a/storage/innobase/dict/dict0dict.cc +++ b/storage/innobase/dict/dict0dict.cc @@ -1960,7 +1960,6 @@ dict_table_remove_from_cache_low( UT_DELETE(table->vc_templ); } - mysql_mutex_destroy(&table->autoinc_mutex); #ifdef BTR_CUR_HASH_ADAPT if (UNIV_UNLIKELY(UT_LIST_GET_LEN(table->freed_indexes) != 0)) { if (table->fts) { @@ -1975,6 +1974,7 @@ dict_table_remove_from_cache_low( } #endif /* BTR_CUR_HASH_ADAPT */ + mysql_mutex_destroy(&table->autoinc_mutex); dict_mem_table_free(table); } diff --git a/storage/innobase/include/dict0mem.h b/storage/innobase/include/dict0mem.h index 5424b38a927..78244e2f6cb 100644 --- a/storage/innobase/include/dict0mem.h +++ b/storage/innobase/include/dict0mem.h @@ -1912,7 +1912,6 @@ struct dict_table_t { determine whether we can evict the table from the dictionary cache. It is protected by lock_sys->mutex. */ ulint n_rec_locks; - private: /** Count of how many handles are opened to this table. Dropping of the table is NOT allowed until this count gets to zero. MySQL does NOT From 8a33d36dac5330336eca0543d814fa5d97a46361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 23 Aug 2021 09:00:37 +0300 Subject: [PATCH 5/7] Fix GCC 11.2.0 -Wmaybe-uninitialized TABLE_LIST::calc_md5(): Remove an untruthful const qualifier. thd_get_query_start_data(): Pass empty_clex_str instead of an uninitialized LEX_CSTRING. --- sql/sql_class.cc | 4 ++-- sql/sql_view.cc | 4 ++-- sql/table.cc | 6 +++--- sql/table.h | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index d9fb8181cd8..d3c090c3308 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -5156,8 +5156,8 @@ extern "C" bool thd_is_strict_mode(const MYSQL_THD thd) */ void thd_get_query_start_data(THD *thd, char *buf) { - LEX_CSTRING field_name; - Field_timestampf f((uchar *)buf, NULL, 0, Field::NONE, &field_name, NULL, 6); + Field_timestampf f((uchar *)buf, NULL, 0, Field::NONE, &empty_clex_str, + NULL, 6); f.store_TIME(thd->query_start(), thd->query_start_sec_part()); } diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 8b398bf3996..258e6e2ca4e 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2004, 2013, Oracle and/or its affiliates. - Copyright (c) 2011, 2016, MariaDB Corporation + Copyright (c) 2011, 2021, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -836,7 +836,7 @@ int mariadb_fix_view(THD *thd, TABLE_LIST *view, bool wrong_checksum, if ((view->md5.str= (char *)thd->alloc(32 + 1)) == NULL) DBUG_RETURN(HA_ADMIN_FAILED); } - view->calc_md5(view->md5.str); + view->calc_md5(const_cast(view->md5.str)); view->md5.length= 32; } view->mariadb_version= MYSQL_VERSION_ID; diff --git a/sql/table.cc b/sql/table.cc index be734b734bc..18bb28e0863 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2017, Oracle and/or its affiliates. - Copyright (c) 2008, 2020, MariaDB + Copyright (c) 2008, 2021, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -4879,12 +4879,12 @@ void TABLE::reset_item_list(List *item_list, uint skip) const buffer buffer for md5 writing */ -void TABLE_LIST::calc_md5(const char *buffer) +void TABLE_LIST::calc_md5(char *buffer) { uchar digest[16]; compute_md5_hash(digest, select_stmt.str, select_stmt.length); - sprintf((char *) buffer, + sprintf(buffer, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", digest[0], digest[1], digest[2], digest[3], digest[4], digest[5], digest[6], digest[7], diff --git a/sql/table.h b/sql/table.h index 53403bd00fe..8e036e5a8ab 100644 --- a/sql/table.h +++ b/sql/table.h @@ -1,7 +1,7 @@ #ifndef TABLE_INCLUDED #define TABLE_INCLUDED /* Copyright (c) 2000, 2017, Oracle and/or its affiliates. - Copyright (c) 2009, 2020, MariaDB + Copyright (c) 2009, 2021, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2562,7 +2562,7 @@ struct TABLE_LIST List *partition_names; #endif /* WITH_PARTITION_STORAGE_ENGINE */ - void calc_md5(const char *buffer); + void calc_md5(char *buffer); int view_check_option(THD *thd, bool ignore_failure); bool create_field_translation(THD *thd); bool setup_underlying(THD *thd); From 7b492d6a70b78ad811cb5e81e1684f1b8e454690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 23 Aug 2021 09:13:55 +0300 Subject: [PATCH 6/7] MDEV-26458 Crash on ALTER TABLE after DISCARD TABLESPACE ha_innobase::check_if_supported_inplace_alter(): Do not invoke innobase_table_is_empty() if the tablespace has been discarded. That is, native ALTER TABLE in InnoDB will treat an empty table in the same way as a tablespace whose tablespace has been discarded. (Note: ALTER TABLE...ALGORITHM=COPY will fail if the tablespace has been discarded.) This fixes a crash that was introduced in commit c755974775a7a7f4fc24abeacd2fc9ea7bf0c247 (MDEV-19611). --- .../suite/innodb/r/innodb-alter-timestamp.result | 12 ++++++++++++ .../suite/innodb/t/innodb-alter-timestamp.test | 12 ++++++++++++ storage/innobase/handler/handler0alter.cc | 1 + 3 files changed, 25 insertions(+) diff --git a/mysql-test/suite/innodb/r/innodb-alter-timestamp.result b/mysql-test/suite/innodb/r/innodb-alter-timestamp.result index 6934484a488..280ab3ebee4 100644 --- a/mysql-test/suite/innodb/r/innodb-alter-timestamp.result +++ b/mysql-test/suite/innodb/r/innodb-alter-timestamp.result @@ -139,3 +139,15 @@ ALTER TABLE t1 ADD f3 DATE NOT NULL, ALGORITHM=INPLACE; ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY DROP TABLE t1; disconnect purge_control; +# +# MDEV-26458 SIGSEGV in innobase_table_is_empty() on ALTER TABLE +# +CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB; +ALTER TABLE t DISCARD TABLESPACE; +SET sql_mode='NO_ZERO_DATE'; +ALTER TABLE t ADD c DATE NOT NULL; +Warnings: +Warning 1814 Tablespace has been discarded for table `t` +SET sql_mode=DEFAULT; +DROP TABLE t; +# End of 10.3 tests diff --git a/mysql-test/suite/innodb/t/innodb-alter-timestamp.test b/mysql-test/suite/innodb/t/innodb-alter-timestamp.test index 28b09b18e10..e1c263dc5d0 100644 --- a/mysql-test/suite/innodb/t/innodb-alter-timestamp.test +++ b/mysql-test/suite/innodb/t/innodb-alter-timestamp.test @@ -103,3 +103,15 @@ INSERT INTO t1 VALUES (1, now()); ALTER TABLE t1 ADD f3 DATE NOT NULL, ALGORITHM=INPLACE; DROP TABLE t1; disconnect purge_control; + +--echo # +--echo # MDEV-26458 SIGSEGV in innobase_table_is_empty() on ALTER TABLE +--echo # +CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB; +ALTER TABLE t DISCARD TABLESPACE; +SET sql_mode='NO_ZERO_DATE'; +ALTER TABLE t ADD c DATE NOT NULL; +SET sql_mode=DEFAULT; +DROP TABLE t; + +--echo # End of 10.3 tests diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index ff7c355f2dd..8418ad7316c 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -1164,6 +1164,7 @@ ha_innobase::check_if_supported_inplace_alter( /* '0000-00-00' value isn't allowed for datetime datatype for newly added column when table is not empty */ if (ha_alter_info->error_if_not_empty + && m_prebuilt->table->space && !innobase_table_is_empty(m_prebuilt->table)) { DBUG_RETURN(HA_ALTER_INPLACE_NOT_SUPPORTED); } From ca89489716890ebab5b207e49f3b157e78e0f8e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 23 Aug 2021 10:06:21 +0300 Subject: [PATCH 7/7] MDEV-26383 fixup: Consistently protect freed_indexes with autoinc_mutex To avoid potential race conditions between concurrent access to dict_table_t::freed_indexes, let us consistently use dict_table_t::autoinc_mutex. dict_table_remove_from_cache_low(): To avoid extensive hold time of table->autoinc_mutex, unconditionally free the FTS data structures. --- storage/innobase/btr/btr0sea.cc | 15 +++------------ storage/innobase/dict/dict0dict.cc | 28 +++++++++++++++++++--------- storage/innobase/include/dict0mem.h | 5 +++-- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/storage/innobase/btr/btr0sea.cc b/storage/innobase/btr/btr0sea.cc index 2e572fe32a8..0b8036c4fdf 100644 --- a/storage/innobase/btr/btr0sea.cc +++ b/storage/innobase/btr/btr0sea.cc @@ -253,15 +253,7 @@ ATTRIBUTE_COLD static void btr_search_lazy_free(dict_index_t *index) { ut_ad(index->freed()); dict_table_t *table= index->table; - bool non_exist_table= (table->id == 0); - - if (non_exist_table) - { - /* autoinc_mutex should be acquired to avoid the race condition - in case of multiple threads accessing the evicted table - or dropped table. */ - mysql_mutex_lock(&table->autoinc_mutex); - } + mysql_mutex_lock(&table->autoinc_mutex); /* Perform the skipped steps of dict_index_remove_from_cache_low(). */ UT_LIST_REMOVE(table->freed_indexes, index); @@ -271,15 +263,14 @@ ATTRIBUTE_COLD static void btr_search_lazy_free(dict_index_t *index) if (!UT_LIST_GET_LEN(table->freed_indexes) && !UT_LIST_GET_LEN(table->indexes)) { - ut_ad(non_exist_table); + ut_ad(!table->id); mysql_mutex_unlock(&table->autoinc_mutex); mysql_mutex_destroy(&table->autoinc_mutex); dict_mem_table_free(table); return; } - if (non_exist_table) - mysql_mutex_unlock(&table->autoinc_mutex); + mysql_mutex_unlock(&table->autoinc_mutex); } /** Clear the adaptive hash index on all pages in the buffer pool. */ diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc index 8243cf51526..d0f8185b927 100644 --- a/storage/innobase/dict/dict0dict.cc +++ b/storage/innobase/dict/dict0dict.cc @@ -2,7 +2,7 @@ Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2012, Facebook Inc. -Copyright (c) 2013, 2020, MariaDB Corporation. +Copyright (c) 2013, 2021, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -1258,6 +1258,7 @@ dict_index_t *dict_index_t::clone_if_needed() return this; dict_index_t *prev= UT_LIST_GET_PREV(indexes, this); + mysql_mutex_lock(&table->autoinc_mutex); UT_LIST_REMOVE(table->indexes, this); UT_LIST_ADD_LAST(table->freed_indexes, this); dict_index_t *index= clone(); @@ -1266,6 +1267,7 @@ dict_index_t *dict_index_t::clone_if_needed() UT_LIST_INSERT_AFTER(table->indexes, prev, index); else UT_LIST_ADD_FIRST(table->indexes, index); + mysql_mutex_unlock(&table->autoinc_mutex); return index; } #endif /* BTR_CUR_HASH_ADAPT */ @@ -1961,15 +1963,21 @@ dict_table_remove_from_cache_low( } #ifdef BTR_CUR_HASH_ADAPT - if (UNIV_UNLIKELY(UT_LIST_GET_LEN(table->freed_indexes) != 0)) { - if (table->fts) { - fts_optimize_remove_table(table); - fts_free(table); - table->fts = NULL; - } + if (table->fts) { + fts_optimize_remove_table(table); + fts_free(table); + table->fts = NULL; + } - table->vc_templ = NULL; - table->id = 0; + mysql_mutex_lock(&table->autoinc_mutex); + + ulint freed = UT_LIST_GET_LEN(table->freed_indexes); + + table->vc_templ = NULL; + table->id = 0; + mysql_mutex_unlock(&table->autoinc_mutex); + + if (UNIV_UNLIKELY(freed != 0)) { return; } #endif /* BTR_CUR_HASH_ADAPT */ @@ -2244,8 +2252,10 @@ dict_index_remove_from_cache_low( zero. See also: dict_table_can_be_evicted() */ if (index->n_ahi_pages()) { + mysql_mutex_lock(&table->autoinc_mutex); index->set_freed(); UT_LIST_ADD_LAST(table->freed_indexes, index); + mysql_mutex_unlock(&table->autoinc_mutex); return; } #endif /* BTR_CUR_HASH_ADAPT */ diff --git a/storage/innobase/include/dict0mem.h b/storage/innobase/include/dict0mem.h index 78244e2f6cb..5fc0e3ebe15 100644 --- a/storage/innobase/include/dict0mem.h +++ b/storage/innobase/include/dict0mem.h @@ -1713,7 +1713,8 @@ struct dict_table_t { UT_LIST_BASE_NODE_T(dict_index_t) indexes; #ifdef BTR_CUR_HASH_ADAPT /** List of detached indexes that are waiting to be freed along with - the last adaptive hash index entry */ + the last adaptive hash index entry. + Protected by autoinc_mutex (sic!) */ UT_LIST_BASE_NODE_T(dict_index_t) freed_indexes; #endif /* BTR_CUR_HASH_ADAPT */ @@ -1880,7 +1881,7 @@ struct dict_table_t { from a select. */ lock_t* autoinc_lock; - /** Mutex protecting the autoincrement counter. */ + /** Mutex protecting the autoinc counter and freed_indexes. */ mysql_mutex_t autoinc_mutex; /** Autoinc counter value to give to the next inserted row. */