diff options
author | adam <adam> | 2012-10-01 15:54:40 +0000 |
---|---|---|
committer | adam <adam> | 2012-10-01 15:54:40 +0000 |
commit | 80ffb43dcecc0c98fc7e63d19e3d77d07bf2efd5 (patch) | |
tree | c78bc39944bb431c6269df80caa5708fc38fc4cc /databases/mysql55-client/patches | |
parent | c9706ae1ecfb5441b4829ed13dbf8580f494aec3 (diff) | |
download | pkgsrc-80ffb43dcecc0c98fc7e63d19e3d77d07bf2efd5.tar.gz |
Changes 5.5.28:
The internal interface of the Thread Pool plugin has changed. Old versions of the plugin will work with current versions of the server, but versions of the server older than 5.5.28 will not work with current versions of the plugin.
Bugs Fixed
InnoDB: Certain information_schema tables originally introduced in MySQL 5.6 are now also available in MySQL 5.5 and MySQL 5.1: INNODB_BUFFER_PAGE, INNODB_BUFFER_PAGE_LRU, and INNODB_BUFFER_POOL_STATS.
InnoDB: When a SELECT ... FOR UPDATE, UPDATE, or other SQL statement scanned rows in an InnoDB table using a < or <= operator in a WHERE clause, the next row after the affected range could also be locked. This issue could cause a lock wait timeout for a row that was not expected to be locked. The issue occurred under various isolation levels, such as READ COMMITTED and REPEATABLE READ.
Partitioning: For tables using PARTITION BY HASH or PARTITION BY KEY, when the partition pruning mechanism encountered a multi-range list or inequality using a column from the partitioning key, it continued with the next partitioning column and tried to use it for pruning, even if the previous column could not be used. This caused partitions which possibly matched one or more of the previous partitioning columns to be pruned away, leaving partitions that matched only the last column of the partitioning key.
This issue was triggered when both of the following conditions were met:
The columns making up the table's partitioning key were used in the same order as in the partitioning key definition by a SELECT statement's WHERE clause as in the column definitions;
The WHERE condition used with the last column of the partitioning key was satisfied only by a single value, while the condition testing some previous column from the partitioning key was satisfied by a range of values.
An example of a statement creating a partitioned table and a query against this for which the issue described above occurred is shown here:
CREATE TABLE t1 (
c1 INT,
c2 INT,
PRIMARY KEY(c2, c1)
) PARTITION BY KEY() # Use primary key as partitioning key
PARTITIONS 2;
SELECT * FROM t1 WHERE c2 = 2 AND c1 <> 2;
This issue is resolved by ensuring that partition pruning skips any remaining partitioning key columns once a partition key column that cannot be used in pruning is encountered.
Partitioning: The buffer for the row currently read from each partition used for sorted reads was allocated on open and freed only when the partitioning handler was closed or destroyed. For SELECT statements on tables with many partitions and large rows, this could cause the server to use excessive amounts of memory.
This issue has been addressed by allocating buffers for reads from partitioned tables only when they are needed and freeing them immediately once they are no longer needed. As part of this fix, memory is now allocated for reading from rows only in partitions that have not been pruned (see Section 18.4, “Partition Pruning”).
Replication: On 64-bit Windows platforms, values greater than 4G for the max_binlog_cache_size and max_binlog_stmt_cache_size system variables were truncated to 4G. This caused LOAD DATA INFILE to fail when trying to load a file larger than 4G in size, even when max_binlog_cache_size was set to a value greater than this.
Replication: In master-master replication with --log-slave-updates enabled, setting a user variable and then performing inserts using this variable caused the Exec_master_log_position column in the output of SHOW SLAVE STATUS not to be updated.
The RPM spec file now also runs the test suite on the new binaries, before packaging them.
The libmysqlclient_r client library exported symbols from yaSSL that conflict with OpenSSL. If a program linked against that library and libcurl, it could crash with a segmentation fault.
The argument for LIMIT must be an integer, but if the argument was given by a placeholder in a prepared statement, the server did not reject noninteger values such as '5'.
The Thread Pool plugin did not respect the wait_timeout timeout for client sessions.
CHECK TABLE and REPAIR TABLE could crash if a key definition differed in the .frm and .MYI files of a MyISAM table. Now the server produces an error.
A query for a FEDERATED table could return incorrect results when the underlying table had a compound index on two columns and the query included an AND condition on the columns.
mysqlhotcopy failed for databases containing views.
The argument to the --ssl-key option was not verified to exist and be a valid key. The resulting connection used SSL, but the key was not used.
Adding a LIMIT clause to a query containing GROUP BY and ORDER BY could cause the optimizer to choose an incorrect index for processing the query, and return more rows than required.
mysqlbinlog did not accept input on the standard input when the standard input was a pipe.
Diffstat (limited to 'databases/mysql55-client/patches')
9 files changed, 27 insertions, 27 deletions
diff --git a/databases/mysql55-client/patches/patch-CMakeLists.txt b/databases/mysql55-client/patches/patch-CMakeLists.txt index 54089387ee0..b42cd612890 100644 --- a/databases/mysql55-client/patches/patch-CMakeLists.txt +++ b/databases/mysql55-client/patches/patch-CMakeLists.txt @@ -1,10 +1,10 @@ -$NetBSD: patch-CMakeLists.txt,v 1.2 2011/07/08 09:32:07 adam Exp $ +$NetBSD: patch-CMakeLists.txt,v 1.3 2012/10/01 15:54:40 adam Exp $ Split configuration between mysql-client and mysql-server. ---- CMakeLists.txt.orig 2011-03-31 13:36:18.000000000 +0000 +--- CMakeLists.txt.orig 2012-08-29 08:50:46.000000000 +0000 +++ CMakeLists.txt -@@ -281,7 +281,6 @@ ADD_SUBDIRECTORY(strings) +@@ -292,7 +292,6 @@ ADD_SUBDIRECTORY(strings) ADD_SUBDIRECTORY(vio) ADD_SUBDIRECTORY(regex) ADD_SUBDIRECTORY(mysys) @@ -12,7 +12,7 @@ Split configuration between mysql-client and mysql-server. IF(WITH_UNIT_TESTS) -@@ -293,9 +292,13 @@ IF(WITH_UNIT_TESTS) +@@ -304,9 +303,13 @@ IF(WITH_UNIT_TESTS) ENDIF() ADD_SUBDIRECTORY(extra) @@ -28,7 +28,7 @@ Split configuration between mysql-client and mysql-server. ADD_SUBDIRECTORY(sql) ADD_SUBDIRECTORY(sql/share) ADD_SUBDIRECTORY(libservices) -@@ -308,11 +311,7 @@ IF(NOT WITHOUT_SERVER) +@@ -319,11 +322,7 @@ IF(NOT WITHOUT_SERVER) ADD_SUBDIRECTORY(mysql-test) ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess) ADD_SUBDIRECTORY(support-files) @@ -37,6 +37,6 @@ Split configuration between mysql-client and mysql-server. - IF(UNIX) - ADD_SUBDIRECTORY(man) - ENDIF() - ENDIF() - - INCLUDE(cmake/abi_check.cmake) + IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt) + ADD_SUBDIRECTORY(internal) + ENDIF() diff --git a/databases/mysql55-client/patches/patch-client_mysqladmin.cc b/databases/mysql55-client/patches/patch-client_mysqladmin.cc index dda037c16a6..9912158c1db 100644 --- a/databases/mysql55-client/patches/patch-client_mysqladmin.cc +++ b/databases/mysql55-client/patches/patch-client_mysqladmin.cc @@ -1,10 +1,10 @@ -$NetBSD: patch-client_mysqladmin.cc,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-client_mysqladmin.cc,v 1.2 2012/10/01 15:54:40 adam Exp $ Redefine signals for Irix. --- client/mysqladmin.cc.orig 2010-02-04 11:36:52.000000000 +0000 +++ client/mysqladmin.cc -@@ -322,8 +322,14 @@ int main(int argc,char *argv[]) +@@ -332,8 +332,14 @@ int main(int argc,char *argv[]) if (tty_password) opt_password = get_tty_password(NullS); diff --git a/databases/mysql55-client/patches/patch-client_mysqlbinlog.cc b/databases/mysql55-client/patches/patch-client_mysqlbinlog.cc index 5a65da17ba6..9ba47156d4f 100644 --- a/databases/mysql55-client/patches/patch-client_mysqlbinlog.cc +++ b/databases/mysql55-client/patches/patch-client_mysqlbinlog.cc @@ -1,12 +1,12 @@ -$NetBSD: patch-client_mysqlbinlog.cc,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-client_mysqlbinlog.cc,v 1.2 2012/10/01 15:54:40 adam Exp $ * Portability: include <bstring.h> if exists. ---- client/mysqlbinlog.cc.orig 2010-02-04 11:36:52.000000000 +0000 +--- client/mysqlbinlog.cc.orig 2012-08-29 08:50:46.000000000 +0000 +++ client/mysqlbinlog.cc -@@ -35,6 +35,9 @@ - #include "log_event.h" +@@ -38,6 +38,9 @@ #include "sql_common.h" + #include "my_dir.h" #include <welcome_copyright_notice.h> // ORACLE_WELCOME_COPYRIGHT_NOTICE +#ifdef NEEDS_BSTRING_H +#include <bstring.h> /* defines bzero() */ diff --git a/databases/mysql55-client/patches/patch-client_sql_string.cc b/databases/mysql55-client/patches/patch-client_sql_string.cc index a0d257dd7a1..85d84326591 100644 --- a/databases/mysql55-client/patches/patch-client_sql_string.cc +++ b/databases/mysql55-client/patches/patch-client_sql_string.cc @@ -1,10 +1,10 @@ -$NetBSD: patch-client_sql_string.cc,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-client_sql_string.cc,v 1.2 2012/10/01 15:54:40 adam Exp $ * Portability: include <bstring.h> if exists. --- client/sql_string.cc.orig 2010-02-04 11:36:53.000000000 +0000 +++ client/sql_string.cc -@@ -27,6 +27,10 @@ extern void sql_element_free(void *ptr); +@@ -29,6 +29,10 @@ extern void sql_element_free(void *ptr); #include "sql_string.h" diff --git a/databases/mysql55-client/patches/patch-mysys_stacktrace.c b/databases/mysql55-client/patches/patch-mysys_stacktrace.c index 1542b4d79a3..14aff856bf7 100644 --- a/databases/mysql55-client/patches/patch-mysys_stacktrace.c +++ b/databases/mysql55-client/patches/patch-mysys_stacktrace.c @@ -1,8 +1,8 @@ -$NetBSD: patch-mysys_stacktrace.c,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-mysys_stacktrace.c,v 1.2 2012/10/01 15:54:40 adam Exp $ --- mysys/stacktrace.c.orig 2011-03-31 13:36:16.000000000 +0000 +++ mysys/stacktrace.c -@@ -421,7 +421,7 @@ void my_write_core(int sig) +@@ -431,7 +431,7 @@ void my_write_core(int sig) __gcov_flush(); #endif pthread_kill(pthread_self(), sig); diff --git a/databases/mysql55-client/patches/patch-scripts_mysqld_safe.sh b/databases/mysql55-client/patches/patch-scripts_mysqld_safe.sh index 9f6a5bab5d7..d57bf56ee13 100644 --- a/databases/mysql55-client/patches/patch-scripts_mysqld_safe.sh +++ b/databases/mysql55-client/patches/patch-scripts_mysqld_safe.sh @@ -1,8 +1,8 @@ -$NetBSD: patch-scripts_mysqld_safe.sh,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-scripts_mysqld_safe.sh,v 1.2 2012/10/01 15:54:40 adam Exp $ --- scripts/mysqld_safe.sh.orig 2011-03-31 13:36:18.000000000 +0000 +++ scripts/mysqld_safe.sh -@@ -715,7 +715,7 @@ fi +@@ -718,7 +718,7 @@ fi # Alternatively, you can start mysqld with the "myisam-recover" option. See # the manual for details. # diff --git a/databases/mysql55-client/patches/patch-sql_CMakeLists.txt b/databases/mysql55-client/patches/patch-sql_CMakeLists.txt index 2207c0ae296..18ac366cf33 100644 --- a/databases/mysql55-client/patches/patch-sql_CMakeLists.txt +++ b/databases/mysql55-client/patches/patch-sql_CMakeLists.txt @@ -1,10 +1,10 @@ -$NetBSD: patch-sql_CMakeLists.txt,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-sql_CMakeLists.txt,v 1.2 2012/10/01 15:54:40 adam Exp $ Do not install files in MYSQL_DATADIR. --- sql/CMakeLists.txt.orig 2011-04-25 19:03:50.000000000 +0000 +++ sql/CMakeLists.txt -@@ -243,7 +243,7 @@ ADD_CUSTOM_TARGET(distclean +@@ -259,7 +259,7 @@ ADD_CUSTOM_TARGET(distclean VERBATIM ) diff --git a/databases/mysql55-client/patches/patch-sql_log_event.cc b/databases/mysql55-client/patches/patch-sql_log_event.cc index e07424187d1..50cff2c2e64 100644 --- a/databases/mysql55-client/patches/patch-sql_log_event.cc +++ b/databases/mysql55-client/patches/patch-sql_log_event.cc @@ -1,10 +1,10 @@ -$NetBSD: patch-sql_log_event.cc,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $ +$NetBSD: patch-sql_log_event.cc,v 1.2 2012/10/01 15:54:40 adam Exp $ * Portability: include <bstring.h> if exists. --- sql/log_event.cc.orig 2011-03-09 15:11:38.000000000 +0000 +++ sql/log_event.cc -@@ -44,6 +44,9 @@ +@@ -45,6 +45,9 @@ #include "rpl_record.h" #include "transaction.h" #include <my_dir.h> diff --git a/databases/mysql55-client/patches/patch-sql_mysqld.cc b/databases/mysql55-client/patches/patch-sql_mysqld.cc index 91fd944ed77..47bee5063df 100644 --- a/databases/mysql55-client/patches/patch-sql_mysqld.cc +++ b/databases/mysql55-client/patches/patch-sql_mysqld.cc @@ -1,8 +1,8 @@ -$NetBSD: patch-sql_mysqld.cc,v 1.2 2011/07/08 09:32:07 adam Exp $ +$NetBSD: patch-sql_mysqld.cc,v 1.3 2012/10/01 15:54:40 adam Exp $ --- sql/mysqld.cc.orig 2011-06-21 16:42:40.000000000 +0000 +++ sql/mysqld.cc -@@ -163,7 +163,7 @@ extern int memcntl(caddr_t, size_t, int, +@@ -160,7 +160,7 @@ extern int memcntl(caddr_t, size_t, int, int initgroups(const char *,unsigned int); #endif @@ -11,7 +11,7 @@ $NetBSD: patch-sql_mysqld.cc,v 1.2 2011/07/08 09:32:07 adam Exp $ #include <ieeefp.h> #ifdef HAVE_FP_EXCEPT // Fix type conflict typedef fp_except fp_except_t; -@@ -194,7 +194,7 @@ extern "C" my_bool reopen_fstreams(const +@@ -191,7 +191,7 @@ extern "C" my_bool reopen_fstreams(const inline void setup_fpu() { |