mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 15:15:34 +02: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:
parent
cccd302c91
commit
e2e582d1fb
35 changed files with 461 additions and 852 deletions
|
|
@ -77,45 +77,7 @@ static int tina_init= 0;
|
|||
static handler *tina_create_handler(TABLE_SHARE *table);
|
||||
static int tina_init_func();
|
||||
|
||||
static const char tina_hton_name[]= "CSV";
|
||||
static const char tina_hton_comment[]= "CSV storage engine";
|
||||
|
||||
handlerton tina_hton= {
|
||||
MYSQL_HANDLERTON_INTERFACE_VERSION,
|
||||
tina_hton_name,
|
||||
SHOW_OPTION_YES,
|
||||
tina_hton_comment,
|
||||
DB_TYPE_CSV_DB,
|
||||
(bool (*)()) tina_init_func,
|
||||
0, /* slot */
|
||||
0, /* savepoint size. */
|
||||
NULL, /* close_connection */
|
||||
NULL, /* savepoint */
|
||||
NULL, /* rollback to savepoint */
|
||||
NULL, /* release savepoint */
|
||||
NULL, /* commit */
|
||||
NULL, /* rollback */
|
||||
NULL, /* prepare */
|
||||
NULL, /* recover */
|
||||
NULL, /* commit_by_xid */
|
||||
NULL, /* rollback_by_xid */
|
||||
NULL, /* create_cursor_read_view */
|
||||
NULL, /* set_cursor_read_view */
|
||||
NULL, /* close_cursor_read_view */
|
||||
tina_create_handler, /* Create a new handler */
|
||||
NULL, /* Drop a database */
|
||||
tina_end, /* Panic call */
|
||||
NULL, /* Start Consistent Snapshot */
|
||||
NULL, /* Flush logs */
|
||||
NULL, /* Show status */
|
||||
NULL, /* Partition flags */
|
||||
NULL, /* Alter table flags */
|
||||
NULL, /* Alter Tablespace */
|
||||
NULL, /* Fill FILES Table */
|
||||
HTON_CAN_RECREATE,
|
||||
NULL, /* binlog_func */
|
||||
NULL /* binlog_log_query */
|
||||
};
|
||||
handlerton tina_hton;
|
||||
|
||||
/*****************************************************************************
|
||||
** TINA tables
|
||||
|
|
@ -191,6 +153,11 @@ static int tina_init_func()
|
|||
VOID(pthread_mutex_init(&tina_mutex,MY_MUTEX_INIT_FAST));
|
||||
(void) hash_init(&tina_open_tables,system_charset_info,32,0,0,
|
||||
(hash_get_key) tina_get_key,0,0);
|
||||
tina_hton.state= SHOW_OPTION_YES;
|
||||
tina_hton.db_type= DB_TYPE_CSV_DB;
|
||||
tina_hton.create= tina_create_handler;
|
||||
tina_hton.panic= tina_end;
|
||||
tina_hton.flags= HTON_CAN_RECREATE;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1401,14 +1368,16 @@ bool ha_tina::check_if_incompatible_data(HA_CREATE_INFO *info,
|
|||
return COMPATIBLE_DATA_YES;
|
||||
}
|
||||
|
||||
struct st_mysql_storage_engine csv_storage_engine=
|
||||
{ MYSQL_HANDLERTON_INTERFACE_VERSION, &tina_hton };
|
||||
|
||||
mysql_declare_plugin(csv)
|
||||
{
|
||||
MYSQL_STORAGE_ENGINE_PLUGIN,
|
||||
&tina_hton,
|
||||
tina_hton_name,
|
||||
&csv_storage_engine,
|
||||
"CSV",
|
||||
"Brian Aker, MySQL AB",
|
||||
tina_hton_comment,
|
||||
"CSV storage engine",
|
||||
tina_init_func, /* Plugin Init */
|
||||
tina_done_func, /* Plugin Deinit */
|
||||
0x0100 /* 1.0 */,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue