From f2ca9c87845655083f186fb0d102699d78c6b22a Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Thu, 10 Feb 2011 22:40:59 +0200 Subject: Applied patch for lp:585688 "maridb crashes in federatedx code" from lp:~atcurtis/maria/federatedx: - Fixed Partition engine to store CONNECTION string for partitions. Removed HA_NO_PARTITION flag from FederatedX. Added test 'federated_partition' to suite. - lp:#585688 - maridb crashes in federatedx code FederatedX handler instances, created on one thread and used on another thread (via table cache) when "show table status" is executed crashed because txn member was not initialized for current thread. Added test 'federated_bug_585688' to suite. Author for the patch is Antony Curtis mysql-test/suite/federated/federated_bug_585688.result: Test for lp:585688 mysql-test/suite/federated/federated_bug_585688.test: Test for lp:585688 mysql-test/suite/federated/federated_partition-slave.opt: Test for partition support in federatedx mysql-test/suite/federated/federated_partition.result: Test for partition support in federatedx mysql-test/suite/federated/federated_partition.test: Test for partition support in federatedx mysql-test/t/partition_federated.test: Updated error message sql/ha_partition.cc: Added support for connection strings to partitions for federatedx sql/ha_partition.h: Added support for connection strings to partitions for federatedx sql/partition_element.h: Added support for connection strings to partitions for federatedx sql/sql_yacc.yy: Added support for connection strings to partitions for federatedx storage/federatedx/ha_federatedx.cc: Added support for partitions. FederatedX handler instances, created on one thread and used on another thread (via table cache) when "show table status" is executed crashed because txn member was not initialized for current thread. --- storage/federatedx/ha_federatedx.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'storage/federatedx') diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc index c3105de7a94..6a52b0a5e85 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; @@ -1583,6 +1583,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() + 1))) goto error; @@ -1722,6 +1723,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; } -- cgit v1.2.1 From 1c23091c4ecc23100a6fe42288819cf4d5dc0b5b Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Wed, 23 Feb 2011 11:22:56 +0200 Subject: Fixed build failures - Removed references to deleted files - If we link staticly, check for static zlib - This should fix the problem with 'no -lz found' link error - Fixed build failure on window (Patch from Wlad) - Fixed build problem with federatedx when using -Werror BUILD/Makefile.am: Remove removed file config/ac-macros/zlib.m4: If we compile with --all-static, test that we have a static libz libmysqld/CMakeLists.txt: Fix for build error on windows mysql-test/suite/pbxt/r/key_cache.result: Updated result mysql-test/suite/pbxt/t/key_cache.test: Fixed not updated test case sql/CMakeLists.txt: Fix for build error on windows storage/federatedx/Makefile.am: Don't use CFLAGS to compile C++ programs storage/pbxt/src/lock_xt.cc: Fixed compiler warning about using uninitialized b2 storage/xtradb/buf/buf0buf.c: Fixed wrong printf storage/xtradb/srv/srv0srv.c: Fixed assignment of different width and test with different sign/unsigned --- storage/federatedx/Makefile.am | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'storage/federatedx') diff --git a/storage/federatedx/Makefile.am b/storage/federatedx/Makefile.am index 9ce0e4fe0f9..9296e9e00ea 100644 --- a/storage/federatedx/Makefile.am +++ b/storage/federatedx/Makefile.am @@ -21,23 +21,19 @@ EXTRA_LTLIBRARIES = libfederatedx.la libfederatedx_common.la libfederatedx_embed pkgplugin_LTLIBRARIES = @plugin_federatedx_shared_target@ ha_federatedx_la_LDFLAGS = -module -rpath $(pkgplugindir) 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 -- cgit v1.2.1