From: Manish Kumar Date: June 28 2012 11:30am Subject: bzr push into mysql-5.6 branch (manish.4.kumar:3914 to 3915) Bug#14116625 List-Archive: http://lists.mysql.com/commits/144350 X-Bug: 14116625 Message-Id: <201206281131.q5SBV7K9009669@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3915 Manish Kumar 2012-06-28 BUG#14116625 - GTID CODE: MAKE SKIP_WHITESPACE() MACRO USE MY_ISSPACE Problem : Gtid functions print out this (though its just a print,does not cause any server crash) Version: '5.6.6-m9-debug' socket: '' port: 3306 MySQL Community Server (GPL) \isctype.c(56) : Assertion failed: (unsigned)(c + 1) <= 256 on executing : do gtid_subset((0xf3),('98@12@31 1130^45')); Problem is that on windows 0xf3 is getting extended to 0xfffffff3 on using the windows isspace() function giving the parse_error. Fix : The problem is fixed by using the my_isspace() instead of isspace() to solve the problem. modified: sql/rpl_gtid.h sql/rpl_gtid_misc.cc sql/rpl_gtid_set.cc 3914 Joerg Bruehe 2012-06-28 Fix nickname. modified: .bzr-mysql/default.conf === modified file 'sql/rpl_gtid.h' --- a/sql/rpl_gtid.h 2012-03-27 08:43:25 +0000 +++ b/sql/rpl_gtid.h 2012-06-28 11:11:58 +0000 @@ -47,6 +47,11 @@ #include "lf.h" #include "my_atomic.h" +/** + This macro is used to check that the given character, pointed to by the + character pointer, is a space or not. +*/ +#define SKIP_WHITESPACE() while (my_isspace(&my_charset_utf8_general_ci, *s)) s++ /* This macro must be used to filter out parts of the code that is not used now but may be useful in future. In other words, === modified file 'sql/rpl_gtid_misc.cc' --- a/sql/rpl_gtid_misc.cc 2012-02-08 13:42:28 +0000 +++ b/sql/rpl_gtid_misc.cc 2012-06-28 11:11:58 +0000 @@ -39,7 +39,6 @@ Gtid_state gtid_state(&global_sid_lock, enum_return_status Gtid::parse(Sid_map *sid_map, const char *text) { -#define SKIP_WHITESPACE() while (isspace(*s)) s++ DBUG_ENTER("Gtid::parse"); rpl_sid sid; const char *s= text; === modified file 'sql/rpl_gtid_set.cc' --- a/sql/rpl_gtid_set.cc 2012-03-27 08:43:25 +0000 +++ b/sql/rpl_gtid_set.cc 2012-06-28 11:11:58 +0000 @@ -407,7 +407,6 @@ int format_gno(char *s, rpl_gno gno) enum_return_status Gtid_set::add_gtid_text(const char *text, bool *anonymous) { -#define SKIP_WHITESPACE() while (isspace(*s)) s++ DBUG_ENTER("Gtid_set::add_gtid_text(const char *, bool *)"); DBUG_ASSERT(sid_map != NULL); if (sid_lock != NULL) No bundle (reason: useless for push emails).