summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bruehe <joerg@mysql.com>2009-12-16 14:11:20 +0100
committerJoerg Bruehe <joerg@mysql.com>2009-12-16 14:11:20 +0100
commit6ddab77da26d4529db403e573298f927d315adeb (patch)
tree3c649eaeecff14c257ff448de3de4d314e1ba4c9
parentd11111f1a694fdec2464f176fe0f0f95f9480d93 (diff)
parent81d9615de8781c278635acb4e7980966b1963f85 (diff)
downloadmariadb-git-6ddab77da26d4529db403e573298f927d315adeb.tar.gz
Automerge the build fixes of 5.5.0-m2 back into the tree.
-rw-r--r--libmysql/client_settings.h3
-rw-r--r--mysql-test/r/not_partition.result8
-rw-r--r--mysql-test/t/not_partition.test8
-rwxr-xr-xscripts/make_win_bin_dist19
-rw-r--r--storage/archive/Makefile.am7
-rw-r--r--storage/ibmdb2i/db2i_charsetSupport.cc12
-rw-r--r--storage/ibmdb2i/db2i_constraints.cc10
-rw-r--r--storage/ibmdb2i/ha_ibmdb2i.cc12
-rw-r--r--support-files/mysql.spec.sh31
-rw-r--r--tests/mysql_client_test.c2
10 files changed, 71 insertions, 41 deletions
diff --git a/libmysql/client_settings.h b/libmysql/client_settings.h
index aaec08d1b1e..fa92dfb2687 100644
--- a/libmysql/client_settings.h
+++ b/libmysql/client_settings.h
@@ -27,8 +27,7 @@ extern char * mysql_unix_port;
CLIENT_TRANSACTIONS | \
CLIENT_PROTOCOL_41 | \
CLIENT_SECURE_CONNECTION | \
- CLIENT_MULTI_RESULTS | \
- CLIENT_PS_MULTI_RESULTS)
+ CLIENT_MULTI_RESULTS)
sig_handler my_pipe_sig_handler(int sig);
void read_user_name(char *name);
diff --git a/mysql-test/r/not_partition.result b/mysql-test/r/not_partition.result
index f516f8634ce..4ec37ab9fc7 100644
--- a/mysql-test/r/not_partition.result
+++ b/mysql-test/r/not_partition.result
@@ -52,9 +52,9 @@ joined DATE NOT NULL
)
PARTITION BY KEY(joined)
PARTITIONS 6;
-ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+Got one of the listed errors
ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2;
-ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+Got one of the listed errors
drop table t1;
ERROR 42S02: Unknown table 't1'
CREATE TABLE t1 (
@@ -71,7 +71,7 @@ PARTITION p2 VALUES LESS THAN (1980),
PARTITION p3 VALUES LESS THAN (1990),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
-ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+Got one of the listed errors
drop table t1;
ERROR 42S02: Unknown table 't1'
CREATE TABLE t1 (id INT, purchased DATE)
@@ -82,7 +82,7 @@ PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN MAXVALUE
);
-ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+Got one of the listed errors
drop table t1;
ERROR 42S02: Unknown table 't1'
create table t1 (a varchar(10) charset latin1 collate latin1_bin);
diff --git a/mysql-test/t/not_partition.test b/mysql-test/t/not_partition.test
index 78ca44acf18..63892845de8 100644
--- a/mysql-test/t/not_partition.test
+++ b/mysql-test/t/not_partition.test
@@ -31,7 +31,7 @@ ALTER TABLE t1 ENGINE Memory;
ALTER TABLE t1 ADD (new INT);
DROP TABLE t1;
---error ER_FEATURE_DISABLED
+--error ER_FEATURE_DISABLED,ER_OPTION_PREVENTS_STATEMENT
CREATE TABLE t1 (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
@@ -42,13 +42,13 @@ CREATE TABLE t1 (
PARTITION BY KEY(joined)
PARTITIONS 6;
---error ER_FEATURE_DISABLED
+--error ER_FEATURE_DISABLED,ER_OPTION_PREVENTS_STATEMENT
ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2;
--error ER_BAD_TABLE_ERROR
drop table t1;
---error ER_FEATURE_DISABLED
+--error ER_FEATURE_DISABLED,ER_OPTION_PREVENTS_STATEMENT
CREATE TABLE t1 (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
@@ -66,7 +66,7 @@ PARTITION BY RANGE( YEAR(joined) ) (
--error ER_BAD_TABLE_ERROR
drop table t1;
---error ER_FEATURE_DISABLED
+--error ER_FEATURE_DISABLED,ER_OPTION_PREVENTS_STATEMENT
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE( YEAR(purchased) )
SUBPARTITION BY HASH( TO_DAYS(purchased) )
diff --git a/scripts/make_win_bin_dist b/scripts/make_win_bin_dist
index c5d429c2752..51271a3dad0 100755
--- a/scripts/make_win_bin_dist
+++ b/scripts/make_win_bin_dist
@@ -290,6 +290,11 @@ if [ -d storage/innodb_plugin ]; then
cp storage/innodb_plugin/$TARGET/ha_innodb_plugin.dll \
$DESTDIR/lib/plugin/
fi
+if [ -d plugin/semisync ]; then
+ cp plugin/semisync/$TARGET/semisync_master.dll \
+ plugin/semisync/$TARGET/semisync_slave.dll \
+ $DESTDIR/lib/plugin/
+fi
if [ x"$TARGET" != x"release" ] ; then
cp libmysql/$TARGET/libmysql.pdb \
@@ -302,6 +307,11 @@ if [ x"$TARGET" != x"release" ] ; then
cp storage/innodb_plugin/$TARGET/ha_innodb_plugin.pdb \
$DESTDIR/lib/plugin/
fi
+ if [ -d plugin/semisync ]; then
+ cp plugin/semisync/$TARGET/semisync_master.pdb \
+ plugin/semisync/$TARGET/semisync_slave.pdb \
+ $DESTDIR/lib/plugin/
+ fi
fi
@@ -328,6 +338,15 @@ if [ x"$PACK_DEBUG" = x"" -a -f "libmysql/debug/libmysql.lib" -o \
storage/innodb_plugin/debug/ha_innodb_plugin.pdb \
$DESTDIR/lib/plugin/debug/
fi
+ if [ -d plugin/semisync ]; then
+ cp plugin/semisync/debug/semisync_master.dll \
+ plugin/semisync/debug/semisync_master.lib \
+ plugin/semisync/debug/semisync_master.pdb \
+ plugin/semisync/debug/semisync_slave.dll \
+ plugin/semisync/debug/semisync_slave.lib \
+ plugin/semisync/debug/semisync_slave.pdb \
+ $DESTDIR/lib/plugin/debug/
+ fi
fi
# ----------------------------------------------------------------------
diff --git a/storage/archive/Makefile.am b/storage/archive/Makefile.am
index 143d684025e..bb88ff2e8d1 100644
--- a/storage/archive/Makefile.am
+++ b/storage/archive/Makefile.am
@@ -77,9 +77,12 @@ libarchive_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
ha_archive_la_LIBADD = probes_sh_mysql.o
ha_archive_la_DEPENDENCIES = probes_sh_mysql.o dtrace_shared_files dtrace_providers
-CLEANFILES = $(DTRACEPROVIDER) dtrace_files dtrace_providers dtrace_shared_files
+CLEANFILES = $(DTRACEPROVIDER) dtrace_files dtrace_providers dtrace_shared_files dtrace_sources
DTRACEFILES = libarchive_a-ha_archive.o
DTRACESHAREDFILES = .libs/ha_archive_la-ha_archive.o
+# Hack: We "depend" on ".libs/" but have no rule for it,
+# but it is created as a byproduct of the ".lo"
+DTRACESHAREDDEPEND = ha_archive_la-ha_archive.lo
DTRACEPROVIDER = probes_mysql.d
dtrace_files:
@@ -93,7 +96,7 @@ probes_mysql.d:
$(CP) $(top_srcdir)/include/probes_mysql.d.base probes_mysql.d
echo timestamp > dtrace_sources
-probes_sh_mysql.o: $(DTRACEPROVIDER) $(DTRACESHAREDFILES)
+probes_sh_mysql.o: $(DTRACEPROVIDER) $(DTRACESHAREDDEPEND)
$(DTRACE) $(DTRACEFLAGS) -G -s $(DTRACEPROVIDER) $(DTRACESHAREDFILES) -o $@
probes_mysql.o: $(DTRACEPROVIDER) $(DTRACEFILES)
diff --git a/storage/ibmdb2i/db2i_charsetSupport.cc b/storage/ibmdb2i/db2i_charsetSupport.cc
index 83bf1b9448b..f5a3a74025e 100644
--- a/storage/ibmdb2i/db2i_charsetSupport.cc
+++ b/storage/ibmdb2i/db2i_charsetSupport.cc
@@ -164,10 +164,10 @@ int32 initCharsetSupport()
}
VOID(pthread_mutex_init(&textDescMapHashMutex,MY_MUTEX_INIT_FAST));
- hash_init(&textDescMapHash, &my_charset_bin, 10, offsetof(TextDescMap, hashKey), sizeof(TextDescMap::hashKey), 0, 0, HASH_UNIQUE);
+ my_hash_init(&textDescMapHash, &my_charset_bin, 10, offsetof(TextDescMap, hashKey), sizeof(TextDescMap::hashKey), 0, 0, HASH_UNIQUE);
VOID(pthread_mutex_init(&iconvMapHashMutex,MY_MUTEX_INIT_FAST));
- hash_init(&iconvMapHash, &my_charset_bin, 10, offsetof(IconvMap, hashKey), sizeof(IconvMap::hashKey), 0, 0, HASH_UNIQUE);
+ my_hash_init(&iconvMapHash, &my_charset_bin, 10, offsetof(IconvMap, hashKey), sizeof(IconvMap::hashKey), 0, 0, HASH_UNIQUE);
init_alloc_root(&textDescMapMemroot, 2048, 0);
init_alloc_root(&iconvMapMemroot, 256, 0);
@@ -191,9 +191,9 @@ void doneCharsetSupport()
free_root(&iconvMapMemroot, 0);
pthread_mutex_destroy(&textDescMapHashMutex);
- hash_free(&textDescMapHash);
+ my_hash_free(&textDescMapHash);
pthread_mutex_destroy(&iconvMapHashMutex);
- hash_free(&iconvMapHash);
+ my_hash_free(&iconvMapHash);
free_aligned(QlgCvtTextDescToDesc_sym);
}
@@ -415,7 +415,7 @@ static int32 convertTextDesc(const int32 inType, const int32 outType, const char
memcpy(hashKey.inDesc, inDescOverride, len);
memset(hashKey.inDesc+len, 0, sizeof(hashKey.inDesc) - len);
- if (!(mapping=(TextDescMap *) hash_search(&textDescMapHash,
+ if (!(mapping=(TextDescMap *) my_hash_search(&textDescMapHash,
(const uchar*)&hashKey,
sizeof(hashKey))))
{
@@ -748,7 +748,7 @@ int32 getConversion(enum_conversionDirection direction, const CHARSET_INFO* cs,
/* Look for the conversion in the cache and add it if it is not there. */
IconvMap *mapping;
- if (!(mapping= (IconvMap *) hash_search(&iconvMapHash,
+ if (!(mapping= (IconvMap *) my_hash_search(&iconvMapHash,
(const uchar*)&hashKey,
sizeof(hashKey))))
{
diff --git a/storage/ibmdb2i/db2i_constraints.cc b/storage/ibmdb2i/db2i_constraints.cc
index 9a96eda1173..50af6c27898 100644
--- a/storage/ibmdb2i/db2i_constraints.cc
+++ b/storage/ibmdb2i/db2i_constraints.cc
@@ -102,7 +102,7 @@ int ha_ibmdb2i::buildDB2ConstraintString(LEX* lex,
Foreign_key* fk = (Foreign_key*)curKey;
char db2LibName[MAX_DB2_SCHEMANAME_LENGTH+1];
- if (fk->name)
+ if (fk->name.str)
{
char db2FKName[MAX_DB2_FILENAME_LENGTH+1];
appendHere.append(STRING_WITH_LEN("CONSTRAINT "));
@@ -120,7 +120,7 @@ int ha_ibmdb2i::buildDB2ConstraintString(LEX* lex,
appendHere.append('.');
- convertMySQLNameToDB2Name(fk->name, db2FKName, sizeof(db2FKName));
+ convertMySQLNameToDB2Name(fk->name.str, db2FKName, sizeof(db2FKName));
appendHere.append(db2FKName);
}
@@ -139,7 +139,7 @@ int ha_ibmdb2i::buildDB2ConstraintString(LEX* lex,
}
firstTime = false;
- convertMySQLNameToDB2Name(curColumn->field_name, colName, sizeof(colName));
+ convertMySQLNameToDB2Name(curColumn->field_name.str, colName, sizeof(colName));
appendHere.append(colName);
// DB2 requires that the sort sequence on the child table match the parent table's
@@ -148,7 +148,7 @@ int ha_ibmdb2i::buildDB2ConstraintString(LEX* lex,
Field** field = fields;
do
{
- if (strcmp((*field)->field_name, curColumn->field_name) == 0)
+ if (strcmp((*field)->field_name, curColumn->field_name.str) == 0)
{
int rc = updateAssociatedSortSequence((*field)->charset(),
fileSortSequenceType,
@@ -199,7 +199,7 @@ int ha_ibmdb2i::buildDB2ConstraintString(LEX* lex,
}
firstTime = false;
- convertMySQLNameToDB2Name(curRef->field_name, colName, sizeof(colName));
+ convertMySQLNameToDB2Name(curRef->field_name.str, colName, sizeof(colName));
appendHere.append(colName);
}
diff --git a/storage/ibmdb2i/ha_ibmdb2i.cc b/storage/ibmdb2i/ha_ibmdb2i.cc
index 0fc2d1e83dc..759562e3217 100644
--- a/storage/ibmdb2i/ha_ibmdb2i.cc
+++ b/storage/ibmdb2i/ha_ibmdb2i.cc
@@ -284,8 +284,8 @@ static int ibmdb2i_init_func(void *p)
was_ILE_inited = false;
ibmdb2i_hton= (handlerton *)p;
VOID(pthread_mutex_init(&ibmdb2i_mutex,MY_MUTEX_INIT_FAST));
- (void) hash_init(&ibmdb2i_open_tables,system_charset_info,32,0,0,
- (hash_get_key) ibmdb2i_get_key,0,0);
+ (void) my_hash_init(&ibmdb2i_open_tables,system_charset_info,32,0,0,
+ (my_hash_get_key) ibmdb2i_get_key,0,0);
ibmdb2i_hton->state= SHOW_OPTION_YES;
ibmdb2i_hton->create= ibmdb2i_create_handler;
@@ -340,7 +340,7 @@ static int ibmdb2i_done_func(void *p)
doneCharsetSupport();
- hash_free(&ibmdb2i_open_tables);
+ my_hash_free(&ibmdb2i_open_tables);
pthread_mutex_destroy(&ibmdb2i_mutex);
DBUG_RETURN(0);
@@ -356,7 +356,7 @@ IBMDB2I_SHARE *ha_ibmdb2i::get_share(const char *table_name, TABLE *table)
pthread_mutex_lock(&ibmdb2i_mutex);
length=(uint) strlen(table_name);
- if (!(share=(IBMDB2I_SHARE*) hash_search(&ibmdb2i_open_tables,
+ if (!(share=(IBMDB2I_SHARE*) my_hash_search(&ibmdb2i_open_tables,
(uchar*)table_name,
length)))
{
@@ -387,7 +387,7 @@ IBMDB2I_SHARE *ha_ibmdb2i::get_share(const char *table_name, TABLE *table)
if (rc)
{
delete share->db2Table;
- hash_delete(&ibmdb2i_open_tables, (uchar*) share);
+ my_hash_delete(&ibmdb2i_open_tables, (uchar*) share);
thr_lock_delete(&share->lock);
my_errno = rc;
goto error;
@@ -420,7 +420,7 @@ int ha_ibmdb2i::free_share(IBMDB2I_SHARE *share)
delete share->db2Table;
db2Table = NULL;
- hash_delete(&ibmdb2i_open_tables, (uchar*) share);
+ my_hash_delete(&ibmdb2i_open_tables, (uchar*) share);
thr_lock_delete(&share->lock);
pthread_mutex_destroy(&share->mutex);
my_free(share, MYF(0));
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 239611c0b53..83d4550466b 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -43,6 +43,12 @@
%{?_with_cluster:%define CLUSTER_BUILD 1}
%{!?_with_cluster:%define CLUSTER_BUILD 0}
+# ----------------------------------------------------------------------
+# support optional "tcmalloc" stuff (experimental)
+# ----------------------------------------------------------------------
+%{?malloc_lib_target:%define WITH_TCMALLOC 1}
+%{!?malloc_lib_target:%define WITH_TCMALLOC 0}
+
%if %{STATIC_BUILD}
%define release 0
%else
@@ -448,7 +454,7 @@ $MBD/libtool --mode=execute install -m 755 \
$RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/mysqld \
$RBR%{_sbindir}/mysqld-debug
-%if %{?malloc_lib_target:1}%{!?malloc_lib_target:0}
+%if %{WITH_TCMALLOC}
# Even though this is a shared library, put it under /usr/lib/mysql, so it
# doesn't conflict with possible shared lib by the same name in /usr/lib. See
# `mysql_config --variable=pkglibdir` and mysqld_safe for how this is used.
@@ -709,12 +715,10 @@ fi
%attr(755, root, root) %{_bindir}/resolveip
%attr(755, root, root) %{_libdir}/mysql/plugin/ha_example.so*
-%if %{WITHOUT_INNODB_PLUGIN}
-%else
-%attr(755, root, root) %{_libdir}/mysql/plugin/ha_innodb_plugin.so*
-%endif
+%attr(755, root, root) %{_libdir}/mysql/plugin/libsemisync_master.so*
+%attr(755, root, root) %{_libdir}/mysql/plugin/libsemisync_slave.so*
-%if %{?malloc_lib_target:1}%{!?malloc_lib_target:0}
+%if %{WITH_TCMALLOC}
%attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target}
%endif
@@ -833,6 +837,7 @@ fi
%{_libdir}/mysql/libmysqlclient.la
%{_libdir}/mysql/libmysqlclient_r.a
%{_libdir}/mysql/libmysqlclient_r.la
+%{_libdir}/mysql/libmysqlservices.a
%{_libdir}/mysql/libmystrings.a
%{_libdir}/mysql/libmysys.a
%if %{CLUSTER_BUILD}
@@ -844,11 +849,10 @@ fi
%{_libdir}/mysql/libz.la
%{_libdir}/mysql/plugin/ha_example.a
%{_libdir}/mysql/plugin/ha_example.la
-%if %{WITHOUT_INNODB_PLUGIN}
-%else
-%{_libdir}/mysql/plugin/ha_innodb_plugin.a
-%{_libdir}/mysql/plugin/ha_innodb_plugin.la
-%endif
+%{_libdir}/mysql/plugin/libsemisync_master.a
+%{_libdir}/mysql/plugin/libsemisync_master.la
+%{_libdir}/mysql/plugin/libsemisync_slave.a
+%{_libdir}/mysql/plugin/libsemisync_slave.la
%files shared
%defattr(-, root, root, 0755)
@@ -878,6 +882,11 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Mon Nov 16 2009 Joerg Bruehe <joerg.bruehe@sun.com>
+
+- Fix some problems with the directives around "tcmalloc" (experimental),
+ remove erroneous traces of the InnoDB plugin (that is 5.1 only).
+
* Fri Oct 02 2009 Alexander Nozdrin <alexander.nozdrin@sun.com>
- "mysqlmanager" got removed from version 5.4, all references deleted.
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index cfe401c75f3..aea0f1f6b11 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -19154,7 +19154,7 @@ static struct my_tests_st my_tests[]= {
{ "test_wl4166_2", test_wl4166_2 },
{ "test_wl4166_3", test_wl4166_3 },
{ "test_wl4166_4", test_wl4166_4 },
- { "test_wl4435", test_wl4435 },
+/* { "test_wl4435", test_wl4435 }, */
{ "test_wl4435_2", test_wl4435_2 },
{ "test_bug38486", test_bug38486 },
{ "test_bug33831", test_bug33831 },