1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

handlerton cleanup:

duplicate fields removed, st_mysql_storage_engine added to support
run-time handlerton initialization (no compiler warnings), handler API
is now tied to MySQL version, handlerton->plugin mapping added
(slot-based), dummy default_hton removed, plugin-type-specific
initialization generalized, built-in plugins are now initialized too,
--default-storage-engine no longer needs a list of storage engines
in handle_options().

mysql-test-run.pl bugfixes


include/mysql/plugin.h:
  added st_mysql_storage_engine
  made handlerton tied to MySQL version
mysql-test/mysql-test-run.pl:
  bugfixes (umask, --no-defaults)
mysql-test/r/ndb_dd_basic.result:
  update error message
mysql-test/t/partition_mgm_err2.test:
  fix typo
sql/ha_berkeley.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_berkeley.h:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_federated.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_heap.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_innodb.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_innodb.h:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_myisam.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_myisammrg.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_ndbcluster.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_ndbcluster.h:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/ha_ndbcluster_binlog.cc:
  no 'name' in the handlerton anymore
sql/ha_partition.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/handler.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  handlerton->plugin mapping
sql/handler.h:
  handlerton cleanup: remove duplicate fields
sql/log.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
sql/mysql_priv.h:
  handler.h needs plugin.h
sql/mysqld.cc:
  Convert --default-storage-engine to a handlerton* when
  all storage engines are initialized and not in getopt
sql/set_var.cc:
  no name in the handlerton anymore
sql/sql_parse.cc:
  no default_hton anymore
sql/sql_partition.cc:
  no name in the handlerton anymore
sql/sql_plugin.cc:
  generalize plugin type-specific initialization.
  initialize built-in plugins too
sql/sql_plugin.h:
  generalize plugin type-specific initialization.
sql/sql_show.cc:
  st_mysql_storage_engine structure
  no name in the handlerton anymore
sql/sql_table.cc:
  no name in the handlerton anymore
  no default_hton anymore
sql/sql_tablespace.cc:
  no name in the handlerton anymore
  no default_hton anymore
sql/sql_yacc.yy:
  no default_hton anymore
  issue "unknown storage engine" warning where it is discovered
storage/archive/ha_archive.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
storage/archive/ha_archive.h:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
storage/blackhole/ha_blackhole.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
storage/csv/ha_tina.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
storage/example/ha_example.cc:
  handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
  initialize handlerton run-time to avoid compiler warnings
This commit is contained in:
unknown
2006-05-28 14:51:01 +02:00
parent cccd302c91
commit e2e582d1fb
35 changed files with 459 additions and 850 deletions

View File

@@ -5085,7 +5085,7 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
}
old_db_type= table->s->db_type;
if (create_info->db_type == (handlerton*) &default_hton)
if (!create_info->db_type)
create_info->db_type= old_db_type;
#ifdef WITH_PARTITION_STORAGE_ENGINE
@@ -6398,7 +6398,7 @@ bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list,
lex->col_list.empty();
lex->alter_info.reset();
bzero((char*) &create_info,sizeof(create_info));
create_info.db_type= (handlerton*) &default_hton;
create_info.db_type= 0;
create_info.row_type=ROW_TYPE_NOT_USED;
create_info.default_table_charset=default_charset_info;
/* Force alter table to recreate table */
@@ -6542,7 +6542,7 @@ static bool check_engine(THD *thd, const char *table_name,
no_substitution, 1)))
return TRUE;
if (req_engine != (handlerton*) &default_hton && req_engine != *new_engine)
if (req_engine && req_engine != *new_engine)
{
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_WARN_USING_OTHER_HANDLER,
@@ -6555,7 +6555,8 @@ static bool check_engine(THD *thd, const char *table_name,
{
if (create_info->used_fields & HA_CREATE_USED_ENGINE)
{
my_error(ER_ILLEGAL_HA_CREATE_OPTION, MYF(0), (*new_engine)->name, "TEMPORARY");
my_error(ER_ILLEGAL_HA_CREATE_OPTION, MYF(0),
hton2plugin[(*new_engine)->slot]->name, "TEMPORARY");
*new_engine= 0;
return TRUE;
}