diff --git a/debian/mariadb-server-10.5.postinst b/debian/mariadb-server-10.5.postinst index 97828ed15e8..ade898ce819 100644 --- a/debian/mariadb-server-10.5.postinst +++ b/debian/mariadb-server-10.5.postinst @@ -124,7 +124,7 @@ EOF if [ ! -d "$mysql_datadir" ] && [ ! -L "$mysql_datadir" ]; then mkdir -Z "$mysql_datadir" ; fi if [ ! -d "$mysql_logdir" ] && [ ! -L "$mysql_logdir" ]; then mkdir -Z "$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 @@ -161,7 +161,7 @@ EOF # Clean up old flags before setting new one rm -f $mysql_datadir/debian-*.flag # Flag data dir to avoid downgrades - touch "$mysql_datadir/debian-$MAJOR_VER.flag" + touch $mysql_datadir/debian-10.5.flag # initiate databases. Output is not allowed by debconf :-( # This will fail if we are upgrading an existing database; in this case @@ -175,9 +175,6 @@ EOF $ERR_LOGGER set -e - # To avoid downgrades. - touch "$mysql_statedir/debian-$MAJOR_VER.flag" - # On new installations root user can connect via unix_socket. # But on upgrades, scripts rely on debian-sys-maint user and # credentials in /etc/mysql/debian.cnf @@ -251,7 +248,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/mariadb. # Thus MariaDB server is started via init.d script, which in turn redirects to diff --git a/extra/mariabackup/backup_mysql.cc b/extra/mariabackup/backup_mysql.cc index 9df674b5dc3..69c89e8a63f 100644 --- a/extra/mariabackup/backup_mysql.cc +++ b/extra/mariabackup/backup_mysql.cc @@ -924,8 +924,6 @@ bool lock_tables(MYSQL *connection) } xb_mysql_query(connection, "BACKUP STAGE START", true); - // xb_mysql_query(connection, "BACKUP STAGE FLUSH", true); - // xb_mysql_query(connection, "BACKUP STAGE BLOCK_DDL", true); xb_mysql_query(connection, "BACKUP STAGE BLOCK_COMMIT", true); /* Set the maximum supported session value for lock_wait_timeout to prevent unnecessary timeouts when the diff --git a/mysql-test/suite/innodb/r/innodb-alter-timestamp.result b/mysql-test/suite/innodb/r/innodb-alter-timestamp.result index 6934484a488..5e95429c7bf 100644 --- a/mysql-test/suite/innodb/r/innodb-alter-timestamp.result +++ b/mysql-test/suite/innodb/r/innodb-alter-timestamp.result @@ -139,3 +139,13 @@ 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; +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/sql/sql_view.cc b/sql/sql_view.cc index a95e52a72a0..29d24649bb3 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 diff --git a/sql/table.h b/sql/table.h index 31b25e7de61..9540a4292de 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 diff --git a/storage/innobase/btr/btr0sea.cc b/storage/innobase/btr/btr0sea.cc index f22e3a5991b..2f75f567933 100644 --- a/storage/innobase/btr/btr0sea.cc +++ b/storage/innobase/btr/btr0sea.cc @@ -201,6 +201,8 @@ ATTRIBUTE_COLD static void btr_search_lazy_free(dict_index_t *index) { ut_ad(index->freed()); dict_table_t *table= index->table; + table->autoinc_mutex.lock(); + /* Perform the skipped steps of dict_index_remove_from_cache_low(). */ UT_LIST_REMOVE(table->freed_indexes, index); rw_lock_free(&index->lock); @@ -209,9 +211,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(table->id == 0); + ut_ad(!table->id); + table->autoinc_mutex.unlock(); + table->autoinc_mutex.~mutex(); dict_mem_table_free(table); + return; } + + table->autoinc_mutex.unlock(); } /** Disable the adaptive hash search system and empty the index. */ diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc index 7d80fc7eeae..9609c0f56c6 100644 --- a/storage/innobase/dict/dict0dict.cc +++ b/storage/innobase/dict/dict0dict.cc @@ -1329,6 +1329,7 @@ dict_index_t *dict_index_t::clone_if_needed() return this; dict_index_t *prev= UT_LIST_GET_PREV(indexes, this); + table->autoinc_mutex.lock(); UT_LIST_REMOVE(table->indexes, this); UT_LIST_ADD_LAST(table->freed_indexes, this); dict_index_t *index= clone(); @@ -1337,6 +1338,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); + table->autoinc_mutex.unlock(); return index; } #endif /* BTR_CUR_HASH_ADAPT */ @@ -1979,26 +1981,32 @@ void dict_sys_t::remove(dict_table_t* table, bool lru, bool keep) UT_DELETE(table->vc_templ); } - table->autoinc_mutex.~mutex(); - if (keep) { + table->autoinc_mutex.~mutex(); return; } #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; + table->autoinc_mutex.lock(); + + ulint freed = UT_LIST_GET_LEN(table->freed_indexes); + + table->vc_templ = NULL; + table->id = 0; + table->autoinc_mutex.unlock(); + + if (UNIV_UNLIKELY(freed != 0)) { return; } #endif /* BTR_CUR_HASH_ADAPT */ + table->autoinc_mutex.~mutex(); dict_mem_table_free(table); } @@ -2217,8 +2225,10 @@ dict_index_remove_from_cache_low( zero. See also: dict_table_can_be_evicted() */ if (index->n_ahi_pages()) { + table->autoinc_mutex.lock(); index->set_freed(); UT_LIST_ADD_LAST(table->freed_indexes, index); + table->autoinc_mutex.unlock(); return; } #endif /* BTR_CUR_HASH_ADAPT */ diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index f10d534f2ca..aee8d33ac78 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -2192,6 +2192,7 @@ innodb_instant_alter_column_allowed_reason: /* '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); } diff --git a/storage/innobase/handler/i_s.cc b/storage/innobase/handler/i_s.cc index 7683f69b492..dfc2af6eb43 100644 --- a/storage/innobase/handler/i_s.cc +++ b/storage/innobase/handler/i_s.cc @@ -280,7 +280,7 @@ static TypelibBuffer<4> isolation_level_values_typelib(isolation_level_values); namespace Show { /* 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 Column("trx_id", ULonglong(), NOT_NULL), @@ -532,49 +532,49 @@ 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, }; static const LEX_CSTRING lock_mode_values[] = @@ -602,7 +602,7 @@ static TypelibBuffer<2> lock_type_values_typelib(lock_type_values); namespace Show { /* 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 Column("lock_id", Varchar(TRX_I_S_LOCK_ID_MAX_LEN + 1), NOT_NULL), @@ -747,55 +747,55 @@ 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, }; namespace Show { /* 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 Column("requesting_trx_id", ULonglong(), NOT_NULL), @@ -901,49 +901,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, }; /*******************************************************************//** @@ -1047,7 +1047,7 @@ trx_i_s_common_fill_table( namespace Show { /* 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[] = { Column("page_size", SLong(5),NOT_NULL, "Compressed Page Size"), Column("compress_ops", SLong(), NOT_NULL, "Total Number of Compressions"), @@ -1189,99 +1189,99 @@ 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, }; @@ -1289,7 +1289,7 @@ namespace Show { /* 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 Column("database_name", Varchar(NAME_CHAR_LEN), NOT_NULL), @@ -1495,105 +1495,105 @@ 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, }; namespace Show { /* 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[] = { Column("page_size", SLong(5), NOT_NULL, "Buddy Block Size"), Column("buffer_pool_instance", SLong(), NOT_NULL, "Buffer Pool Id"), @@ -1740,99 +1740,99 @@ 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, }; @@ -1849,7 +1849,7 @@ static TypelibBuffer<5> metric_type_values_typelib(metric_type_values); namespace Show { /* 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 Column("NAME", Varchar(NAME_LEN + 1), NOT_NULL), @@ -2222,54 +2222,54 @@ 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, }; namespace Show { /* 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 Column("value", Varchar(TRX_ID_MAX_LEN + 1), NOT_NULL), @@ -2331,55 +2331,55 @@ 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, }; namespace Show { /* 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 Column("DOC_ID", ULonglong(), NOT_NULL), @@ -2506,49 +2506,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, }; /*******************************************************************//** @@ -2589,56 +2589,56 @@ 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, }; namespace Show { /* 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 Column("WORD", Varchar(FTS_MAX_WORD_LEN + 1), NOT_NULL), @@ -2859,49 +2859,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, }; /*******************************************************************//** @@ -3299,55 +3299,55 @@ 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, }; namespace Show { /* 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 Column("KEY", Varchar(NAME_LEN + 1), NOT_NULL), @@ -3498,54 +3498,54 @@ 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, }; namespace Show { /* 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 Column("POOL_ID", ULong(), NOT_NULL), @@ -3798,49 +3798,49 @@ 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, }; /** These must correspond to the first values of buf_page_state */ @@ -3867,7 +3867,7 @@ static TypelibBuffer<4> io_values_typelib(io_values); namespace Show { /* 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 Column("POOL_ID", ULong(), NOT_NULL), @@ -3894,7 +3894,6 @@ static ST_FIELD_INFO i_s_innodb_buffer_page_fields_info[] = #define IDX_BUFFER_PAGE_HASHED 7 Column("IS_HASHED", SLong(1), NOT_NULL), #endif /* BTR_CUR_HASH_ADAPT */ - #define IDX_BUFFER_PAGE_NEWEST_MOD 7 + I_S_AHI Column("NEWEST_MODIFICATION", ULonglong(), NOT_NULL), @@ -4331,53 +4330,53 @@ 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, }; namespace Show { -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 Column("POOL_ID", ULong(), NOT_NULL), @@ -4404,7 +4403,6 @@ static ST_FIELD_INFO i_s_innodb_buf_page_lru_fields_info[] = #define IDX_BUF_LRU_PAGE_HASHED 7 Column("IS_HASHED", SLong(1), NOT_NULL), #endif /* BTR_CUR_HASH_ADAPT */ - #define IDX_BUF_LRU_PAGE_NEWEST_MOD 7 + I_S_AHI Column("NEWEST_MODIFICATION",ULonglong(), NOT_NULL), @@ -4674,49 +4672,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, }; /*******************************************************************//** @@ -4752,7 +4750,7 @@ static TypelibBuffer<2> space_type_values_typelib(space_type_values); namespace Show { /** 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 Column("TABLE_ID", ULonglong(), NOT_NULL), @@ -4931,55 +4929,55 @@ 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, }; namespace Show { /** 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 Column("TABLE_ID", ULonglong(), NOT_NULL), @@ -5186,55 +5184,55 @@ 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, }; namespace Show { /** 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 Column("INDEX_ID", ULonglong(), NOT_NULL), @@ -5425,55 +5423,55 @@ 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, }; namespace Show { /** 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 Column("TABLE_ID", ULonglong(), NOT_NULL), @@ -5637,55 +5635,55 @@ 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, }; namespace Show { /** 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 Column("TABLE_ID", ULonglong(), NOT_NULL), @@ -5824,56 +5822,56 @@ 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, }; namespace Show { /** 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 Column("INDEX_ID", ULonglong(), NOT_NULL), @@ -6019,55 +6017,55 @@ 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, }; namespace Show { /** 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 Column("ID", Varchar(NAME_LEN + 1), NOT_NULL), @@ -6216,55 +6214,55 @@ 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, }; namespace Show { /** 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 Column("ID", Varchar(NAME_LEN + 1), NOT_NULL), @@ -6411,55 +6409,55 @@ 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, }; namespace Show { /** 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 Column("SPACE", ULong(), NOT_NULL), @@ -6700,55 +6698,55 @@ 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, }; namespace Show { /** 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 Column("SPACE", ULong(), NOT_NULL), @@ -6879,55 +6877,55 @@ 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, }; namespace Show { /** 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 Column("SPACE", ULong(), NOT_NULL), @@ -7099,55 +7097,55 @@ 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 }; namespace Show { /** 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 Column("NAME", Varchar(OS_FILE_MAX_PATH), NOT_NULL), @@ -7275,54 +7273,54 @@ 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, }; namespace Show { /* 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 Column("THREAD_ID", ULonglong(), NOT_NULL), @@ -7389,7 +7387,6 @@ static ST_FIELD_INFO innodb_sys_semaphore_waits_fields_info[] = } // namespace Show - /*******************************************************************//** Bind the dynamic table INFORMATION_SCHEMA.INNODB_SYS_SEMAPHORE_WAITS @return 0 on success */ @@ -7415,47 +7412,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 385c249d9d5..87799e7669c 100644 --- a/storage/innobase/handler/i_s.h +++ b/storage/innobase/handler/i_s.h @@ -91,26 +91,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/include/dict0mem.h b/storage/innobase/include/dict0mem.h index 9d7dcf4741e..6decc682b22 100644 --- a/storage/innobase/include/dict0mem.h +++ b/storage/innobase/include/dict0mem.h @@ -2139,7 +2139,8 @@ public: 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 */ @@ -2290,7 +2291,7 @@ public: from a select. */ lock_t* autoinc_lock; - /** Mutex protecting the autoincrement counter. */ + /** Mutex protecting the autoinc counter and freed_indexes. */ std::mutex autoinc_mutex; /** Autoinc counter value to give to the next inserted row. */ @@ -2322,7 +2323,6 @@ public: 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 diff --git a/storage/innobase/innodb.cmake b/storage/innobase/innodb.cmake index 05a70aae114..cd8ba4f04d3 100644 --- a/storage/innobase/innodb.cmake +++ b/storage/innobase/innodb.cmake @@ -139,11 +139,6 @@ ENDIF() 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") diff --git a/storage/mroonga/CMakeLists.txt b/storage/mroonga/CMakeLists.txt index 2a449a8627c..c048b214658 100644 --- a/storage/mroonga/CMakeLists.txt +++ b/storage/mroonga/CMakeLists.txt @@ -215,8 +215,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}")