diff options
author | Michael Widenius <monty@askmonty.org> | 2011-02-28 19:39:30 +0200 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2011-02-28 19:39:30 +0200 |
commit | 3358cdd5048671ee6cbbf50c291f7e0d0fda8e1e (patch) | |
tree | da0e622896425203d23ecdfd1bc77b57e3502edf /storage/federatedx | |
parent | 869f5d0e81d5cbecaec3605f292fbb363b9ccbf6 (diff) | |
parent | f83e594218a6d19da2fa1ea2a01d860c30fe2913 (diff) | |
download | mariadb-git-3358cdd5048671ee6cbbf50c291f7e0d0fda8e1e.tar.gz |
Merge with 5.1 to get in changes from MySQL 5.1.55
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 ecf974521e9..d97588dcc3d 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; @@ -1455,7 +1455,8 @@ static void fill_server(MEM_ROOT *mem_root, FEDERATEDX_SERVER *server, key.append(password); 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; @@ -1583,6 +1584,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; @@ -1722,6 +1724,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; } |