diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-09-03 10:27:36 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-09-04 09:19:50 +0200 |
commit | a6246cab1693b91a04bdb2ff66710fc62ab1b6e7 (patch) | |
tree | 43d652558b7d229e4f6323370e8b1d9471011200 | |
parent | c27275474040ba7f91868dcb1ab79306418268d2 (diff) | |
download | mariadb-git-a6246cab1693b91a04bdb2ff66710fc62ab1b6e7.tar.gz |
fix failures of innodb_plugin tests in --embedded
Post-fix for 7e8ed15b95b
Also, apply the same innodb fix to xtradb.
-rw-r--r-- | include/mysql/service_wsrep.h | 3 | ||||
-rw-r--r-- | include/service_versions.h | 2 | ||||
-rw-r--r-- | sql/sql_plugin_services.ic | 3 | ||||
-rw-r--r-- | sql/wsrep_dummy.cc | 3 | ||||
-rw-r--r-- | sql/wsrep_mysqld.h | 1 | ||||
-rw-r--r-- | sql/wsrep_sst.cc | 1 | ||||
-rw-r--r-- | storage/xtradb/handler/ha_innodb.cc | 5 |
7 files changed, 14 insertions, 4 deletions
diff --git a/include/mysql/service_wsrep.h b/include/mysql/service_wsrep.h index bc5b2c67cdc..b51f154422f 100644 --- a/include/mysql/service_wsrep.h +++ b/include/mysql/service_wsrep.h @@ -110,6 +110,7 @@ extern struct wsrep_service_st { int (*wsrep_trx_is_aborting_func)(MYSQL_THD thd); int (*wsrep_trx_order_before_func)(MYSQL_THD, MYSQL_THD); void (*wsrep_unlock_rollback_func)(); + void (*wsrep_set_data_home_dir_func)(const char *data_dir); } *wsrep_service; #ifdef MYSQL_DYNAMIC_PLUGIN @@ -151,6 +152,7 @@ extern struct wsrep_service_st { #define wsrep_trx_is_aborting(T) wsrep_service->wsrep_trx_is_aborting_func(T) #define wsrep_trx_order_before(T1,T2) wsrep_service->wsrep_trx_order_before_func(T1,T2) #define wsrep_unlock_rollback() wsrep_service->wsrep_unlock_rollback_func() +#define wsrep_set_data_home_dir(A) wsrep_service->wsrep_set_data_home_dir_func(A) #define wsrep_debug get_wsrep_debug() #define wsrep_log_conflicts get_wsrep_log_conflicts() @@ -208,6 +210,7 @@ void wsrep_thd_awake(THD *thd, my_bool signal); void wsrep_thd_set_conflict_state(THD *thd, enum wsrep_conflict_state state); bool wsrep_thd_ignore_table(THD *thd); void wsrep_unlock_rollback(); +void wsrep_set_data_home_dir(const char *data_dir); #endif diff --git a/include/service_versions.h b/include/service_versions.h index da7a2101f76..3bbf2a9a625 100644 --- a/include/service_versions.h +++ b/include/service_versions.h @@ -41,4 +41,4 @@ #define VERSION_thd_specifics 0x0100 #define VERSION_thd_timezone 0x0100 #define VERSION_thd_wait 0x0100 -#define VERSION_wsrep 0x0201 +#define VERSION_wsrep 0x0202 diff --git a/sql/sql_plugin_services.ic b/sql/sql_plugin_services.ic index 572ceacbd7e..95301a5fbe8 100644 --- a/sql/sql_plugin_services.ic +++ b/sql/sql_plugin_services.ic @@ -179,7 +179,8 @@ static struct wsrep_service_st wsrep_handler = { wsrep_thd_ws_handle, wsrep_trx_is_aborting, wsrep_trx_order_before, - wsrep_unlock_rollback + wsrep_unlock_rollback, + wsrep_set_data_home_dir }; static struct thd_specifics_service_st thd_specifics_handler= diff --git a/sql/wsrep_dummy.cc b/sql/wsrep_dummy.cc index 0aa7f9b0aad..5837ab4bed5 100644 --- a/sql/wsrep_dummy.cc +++ b/sql/wsrep_dummy.cc @@ -130,3 +130,6 @@ int wsrep_trx_is_aborting(THD *) void wsrep_unlock_rollback() { } + +void wsrep_set_data_home_dir(const char *) +{ } diff --git a/sql/wsrep_mysqld.h b/sql/wsrep_mysqld.h index 9fc8aa02df4..272e4ac4984 100644 --- a/sql/wsrep_mysqld.h +++ b/sql/wsrep_mysqld.h @@ -160,7 +160,6 @@ extern "C" time_t wsrep_thd_query_start(THD *thd); extern "C" query_id_t wsrep_thd_query_id(THD *thd); extern "C" query_id_t wsrep_thd_wsrep_last_query_id(THD *thd); extern "C" void wsrep_thd_set_wsrep_last_query_id(THD *thd, query_id_t id); -extern "C" void wsrep_set_data_home_dir(const char *data_dir); extern void wsrep_close_client_connections(my_bool wait_to_end); extern int wsrep_wait_committing_connections_close(int wait_time); diff --git a/sql/wsrep_sst.cc b/sql/wsrep_sst.cc index 2af2bfa1822..281eac1ce0e 100644 --- a/sql/wsrep_sst.cc +++ b/sql/wsrep_sst.cc @@ -70,7 +70,6 @@ bool wsrep_sst_method_update (sys_var *self, THD* thd, enum_var_type type) static const char* data_home_dir = NULL; -extern "C" void wsrep_set_data_home_dir(const char *data_dir) { data_home_dir= (data_dir && *data_dir) ? data_dir : NULL; diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index 3cd7cb6977b..60545b3b1e4 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -4072,6 +4072,11 @@ innobase_init( srv_data_home = (innobase_data_home_dir ? innobase_data_home_dir : default_path); +#ifdef WITH_WSREP + /* If we use the wsrep API, then we need to tell the server + the path to the data files (for passing it to the SST scripts): */ + wsrep_set_data_home_dir(innobase_data_home_dir); +#endif /* WITH_WSREP */ /* Set default InnoDB data file size to 12 MB and let it be auto-extending. Thus users can use InnoDB in >= 4.0 without having |