Changes 5.5.12:

* Fixed bugs: Illegal mix of collations
* Problem: comparison of a DATETIME sp variable and NOW() led to Illegal mix of
  collations error when character_set_connection=utf8.
* Error happened in Arg_comparator::set_compare_func(), because the first
  argument was errouneously converted to utf8, while the second argument was
  not.
* Fix: separate agg_arg_charsets_for_comparison() into two functions:
  - agg_arg_charsets_for_comparison() - for pure comparison, when we don't need
    to return any string result and therefore don't need to convert arguments
    to @@character_set_connection:
          SELECT a = b;
  - agg_arg_charsets_for_string_results_with_comparison() - when we need to
    return a string result, but we also need to do comparison internally:
          SELECT REPLACE(a,b,c)
    If all arguments are numbers:
          SELECT REPLACE(123,2,3) -> 133
    we convert arguments to @@character_set_connection.
This commit is contained in:
adam 2011-05-07 04:03:07 +00:00
parent ed0b185973
commit 05b98ae603
4 changed files with 23 additions and 14 deletions

View file

@ -1,9 +1,9 @@
# $NetBSD: Makefile.common,v 1.3 2011/05/06 16:21:25 abs Exp $
# $NetBSD: Makefile.common,v 1.4 2011/05/07 04:03:07 adam Exp $
#
# used by databases/mysql55-client/Makefile
# used by databases/mysql55-server/Makefile
DISTNAME= mysql-5.5.11
DISTNAME= mysql-5.5.12
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.5/}

View file

@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.1.1.1 2011/04/25 21:12:52 adam Exp $
$NetBSD: distinfo,v 1.2 2011/05/07 04:03:07 adam Exp $
SHA1 (mysql-5.5.11.tar.gz) = f6a9ccf00fe723e7f18027cfd64527d1e71c8322
RMD160 (mysql-5.5.11.tar.gz) = e220a2b105d43de0544b097ffae954e2d0829da6
Size (mysql-5.5.11.tar.gz) = 23664849 bytes
SHA1 (mysql-5.5.12.tar.gz) = 8a4f4c2b762676140722d414d694cddd9c1e3397
RMD160 (mysql-5.5.12.tar.gz) = e36d6a29e4f92eecfbbdac47d9f0d9a427446da3
Size (mysql-5.5.12.tar.gz) = 23681636 bytes
SHA1 (patch-BUILD_compile-pentium-gcov) = a1ac666efa953a98455a726e5db359c903d699b6
SHA1 (patch-CMakeLists.txt) = eaf78f2198945b5010dc3e67e13bdb37fd9c12c7
SHA1 (patch-client_completion_hash.cc) = b86ec80beac624b2aa21c7587e351ff126400ecb
@ -11,7 +11,7 @@ SHA1 (patch-client_mysqlbinlog.cc) = f78dd6538b978e1ae95bb720e8baa91087ecc149
SHA1 (patch-client_sql_string.cc) = 4a18442fa16ccbc8f34c11a460209209017c3bc5
SHA1 (patch-cmake_libutils.cmake) = 5d75a1762e3db6724bec2d75b45d40b17a5e9d09
SHA1 (patch-include_CMakeLists.txt) = 4781c69315624fb5567ae70cee87f1ddb3f89847
SHA1 (patch-include_my_handler.h) = 323c1624457c96269a138c8a7fc810162f6187cd
SHA1 (patch-include_my_compare.h) = f45bac4b488332a668b0005751856279b67401f5
SHA1 (patch-include_my_net.h) = 162c97a87ab00b407f6796b55ef839ba2e3ac2af
SHA1 (patch-include_my_pthread.h) = 109d376b4cf5b64c5243f9e91300667441131f86
SHA1 (patch-include_myisam.h) = cfbec9eee43282c5ebc38a64add97218c74279a0

View file

@ -1,10 +1,10 @@
$NetBSD: patch-include_my_handler.h,v 1.1.1.1 2011/04/25 21:12:53 adam Exp $
$NetBSD: patch-include_my_compare.h,v 1.1 2011/05/07 04:03:08 adam Exp $
Adjust HA_MAX_KEY_LENGTH x4.
--- include/my_handler.h.orig 2010-02-04 11:37:06.000000000 +0000
+++ include/my_handler.h
@@ -41,7 +41,7 @@ extern "C" {
--- include/my_compare.h.orig 2010-02-04 11:37:06.000000000 +0000
+++ include/my_compare.h
@@ -39,7 +39,7 @@ extern "C" {
But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
*/

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.2 2011/05/06 16:21:16 abs Exp $
@comment $NetBSD: PLIST,v 1.3 2011/05/07 04:03:08 adam Exp $
bin/innochecksum
bin/my_print_defaults
bin/myisam_ftdump
@ -476,6 +476,7 @@ share/mysql/test/include/no_valgrind_without_big.inc
share/mysql/test/include/not_as_root.inc
share/mysql/test/include/not_binlog_format_row.inc
share/mysql/test/include/not_blackhole.inc
share/mysql/test/include/not_crashrep.inc
share/mysql/test/include/not_embedded.inc
share/mysql/test/include/not_ndb.inc
share/mysql/test/include/not_ndb_default.inc
@ -1091,8 +1092,8 @@ share/mysql/test/r/partition_list.result
share/mysql/test/r/partition_mgm.result
share/mysql/test/r/partition_mgm_err.result
share/mysql/test/r/partition_mgm_err2.result
share/mysql/test/r/partition_myisam.result
share/mysql/test/r/partition_not_blackhole.result
share/mysql/test/r/partition_not_embedded.result
share/mysql/test/r/partition_not_windows.result
share/mysql/test/r/partition_open_files_limit.result
share/mysql/test/r/partition_order.result
@ -1226,6 +1227,7 @@ share/mysql/test/r/sysdate_is_now.result
share/mysql/test/r/system_mysql_db.result
share/mysql/test/r/system_mysql_db_refs.result
share/mysql/test/r/tablelock.result
share/mysql/test/r/tablespace.result
share/mysql/test/r/temp_table.result
share/mysql/test/r/testdb_only.require
share/mysql/test/r/timezone.result
@ -1324,6 +1326,9 @@ share/mysql/test/std_data/charset_utf8.txt
share/mysql/test/std_data/checkDBI_DBD-mysql.pl
share/mysql/test/std_data/client-cert.pem
share/mysql/test/std_data/client-key.pem
share/mysql/test/std_data/cluster_7022_table.MYD
share/mysql/test/std_data/cluster_7022_table.MYI
share/mysql/test/std_data/cluster_7022_table.frm
share/mysql/test/std_data/corrupt-relay-bin.000624
share/mysql/test/std_data/corrupt_t1#P#p1.MYI
share/mysql/test/std_data/corrupt_t1.MYI
@ -2947,6 +2952,7 @@ share/mysql/test/suite/innodb/r/innodb_bug57255.result
share/mysql/test/suite/innodb/r/innodb_bug57904.result
share/mysql/test/suite/innodb/r/innodb_bug59307.result
share/mysql/test/suite/innodb/r/innodb_bug60049.result
share/mysql/test/suite/innodb/r/innodb_bug60196.result
share/mysql/test/suite/innodb/r/innodb_file_format.result
share/mysql/test/suite/innodb/r/innodb_gis.result
share/mysql/test/suite/innodb/r/innodb_information_schema.result
@ -3041,6 +3047,8 @@ share/mysql/test/suite/innodb/t/innodb_bug57904.test
share/mysql/test/suite/innodb/t/innodb_bug59307.test
share/mysql/test/suite/innodb/t/innodb_bug60049-master.opt
share/mysql/test/suite/innodb/t/innodb_bug60049.test
share/mysql/test/suite/innodb/t/innodb_bug60196-master.opt
share/mysql/test/suite/innodb/t/innodb_bug60196.test
share/mysql/test/suite/innodb/t/innodb_file_format.test
share/mysql/test/suite/innodb/t/innodb_gis.test
share/mysql/test/suite/innodb/t/innodb_information_schema.test
@ -5900,9 +5908,9 @@ share/mysql/test/t/partition_list.test
share/mysql/test/t/partition_mgm.test
share/mysql/test/t/partition_mgm_err.test
share/mysql/test/t/partition_mgm_err2.test
share/mysql/test/t/partition_myisam.test
share/mysql/test/t/partition_not_blackhole-master.opt
share/mysql/test/t/partition_not_blackhole.test
share/mysql/test/t/partition_not_embedded.test
share/mysql/test/t/partition_not_windows-master.opt
share/mysql/test/t/partition_not_windows.test
share/mysql/test/t/partition_open_files_limit-master.opt
@ -6060,6 +6068,7 @@ share/mysql/test/t/system_mysql_db_fix50117-master.opt
share/mysql/test/t/system_mysql_db_fix50117.test
share/mysql/test/t/system_mysql_db_refs.test
share/mysql/test/t/tablelock.test
share/mysql/test/t/tablespace.test
share/mysql/test/t/temp_table-master.opt
share/mysql/test/t/temp_table.test
share/mysql/test/t/timezone-master.opt