diff options
author | Michael Widenius <monty@askmonty.org> | 2011-03-09 15:47:59 +0200 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2011-03-09 15:47:59 +0200 |
commit | 139a2b64bf8ec2e248656835e23a5c98ffc667a8 (patch) | |
tree | 7d77d6f1073f8090f275b30cb3f10254497da243 /storage/federatedx | |
parent | b3f7eac5301529c2d069ebe4d0558980412af3a2 (diff) | |
parent | ce675406ca8dbc1532a908803a1371de8432d466 (diff) | |
download | mariadb-git-139a2b64bf8ec2e248656835e23a5c98ffc667a8.tar.gz |
Merge with 5.2
Diffstat (limited to 'storage/federatedx')
-rw-r--r-- | storage/federatedx/Makefile.am | 8 | ||||
-rw-r--r-- | storage/federatedx/ha_federatedx.cc | 7 |
2 files changed, 7 insertions, 8 deletions
diff --git a/storage/federatedx/Makefile.am b/storage/federatedx/Makefile.am index 731b5dee01e..8dd6770e03f 100644 --- a/storage/federatedx/Makefile.am +++ b/storage/federatedx/Makefile.am @@ -22,23 +22,19 @@ pkgplugin_LTLIBRARIES = @plugin_federatedx_shared_target@ ha_federatedx_la_LDFLAGS = -module -rpath $(pkgplugindir) \ -L$(top_builddir)/libservices -lmysqlservices ha_federatedx_la_CXXFLAGS= -shared $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN -ha_federatedx_la_CFLAGS = -shared $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN noinst_LTLIBRARIES = @plugin_federatedx_static_target@ @plugin_federatedx_embedded_static_target@ libfederatedx_common_la_CXXFLAGS = $(AM_CXXFLAGS) -libfederatedx_common_la_CFLAGS = $(AM_CFLAGS) libfederatedx_common_la_SOURCES= federatedx_txn.cc \ federatedx_io.cc federatedx_io_null.cc \ federatedx_io_mysql.cc -libfederatedx_la_CXXFLAGS = $(AM_CFLAGS) -libfederatedx_la_CFLAGS = $(AM_CFLAGS) +libfederatedx_la_CXXFLAGS = $(AM_CXXFLAGS) libfederatedx_la_LIBADD = libfederatedx_common.la libfederatedx_la_SOURCES= ha_federatedx.cc -libfederatedx_embedded_la_CXXFLAGS = $(AM_CFLAGS) @plugin_embedded_defs@ -libfederatedx_embedded_la_CFLAGS = $(AM_CFLAGS) @plugin_embedded_defs@ +libfederatedx_embedded_la_CXXFLAGS = $(AM_CXXCFLAGS) @plugin_embedded_defs@ libfederatedx_embedded_la_LDFLAGS = $(AM_LDFLAGS) libfederatedx_embedded_la_LIBADD = libfederatedx_common.la libfederatedx_embedded_la_SOURCES= ha_federatedx.cc diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc index 434423b78b3..be90a1d1a08 100644 --- a/storage/federatedx/ha_federatedx.cc +++ b/storage/federatedx/ha_federatedx.cc @@ -400,7 +400,7 @@ int federatedx_db_init(void *p) federatedx_hton->commit= ha_federatedx::commit; federatedx_hton->rollback= ha_federatedx::rollback; federatedx_hton->create= federatedx_create_handler; - federatedx_hton->flags= HTON_ALTER_NOT_SUPPORTED | HTON_NO_PARTITION; + federatedx_hton->flags= HTON_ALTER_NOT_SUPPORTED; if (pthread_mutex_init(&federatedx_mutex, MY_MUTEX_INIT_FAST)) goto error; @@ -1456,7 +1456,8 @@ static void fill_server(MEM_ROOT *mem_root, FEDERATEDX_SERVER *server, key.c_ptr_safe(); // Ensure we have end \0 server->key_length= key.length(); - server->key= (uchar *) memdup_root(mem_root, key.ptr(), key.length()+1); + /* Copy and add end \0 */ + server->key= (uchar *) strmake_root(mem_root, key.ptr(), key.length()); /* pointer magic */ server->scheme+= (intptr) server->key; @@ -1584,6 +1585,7 @@ static FEDERATEDX_SHARE *get_share(const char *table_name, TABLE *table) tmp_share.table_name_length, ident_quote_char); if (!(share= (FEDERATEDX_SHARE *) memdup_root(&mem_root, (char*)&tmp_share, sizeof(*share))) || + !(share->share_key= (char*) memdup_root(&mem_root, tmp_share.share_key, tmp_share.share_key_length+1)) || !(share->select_query= (char*) strmake_root(&mem_root, query.ptr(), query.length()))) goto error; @@ -1723,6 +1725,7 @@ int ha_federatedx::disconnect(handlerton *hton, MYSQL_THD thd) { federatedx_txn *txn= (federatedx_txn *) thd_get_ha_data(thd, hton); delete txn; + *((federatedx_txn **) thd_ha_data(thd, hton))= 0; return 0; } |