diff --git a/mysql-test/suite/rpl_ndb/t/disabled.def b/mysql-test/suite/rpl_ndb/t/disabled.def index f4cbd3e9d0c..4c800a2f30a 100644 --- a/mysql-test/suite/rpl_ndb/t/disabled.def +++ b/mysql-test/suite/rpl_ndb/t/disabled.def @@ -17,7 +17,7 @@ rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s #rpl_ndb_innodb2ndb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue #rpl_ndb_myisam2ndb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue rpl_ndb_ddl : BUG#28798 2007-05-31 lars Valgrind failure in NDB -rpl_ndb_mix_innodb : BUG#28123 rpl_ndb_mix_innodb.test casue slave to core on sol10-sparc-a +#rpl_ndb_mix_innodb : BUG#28123 rpl_ndb_mix_innodb.test casue slave to core on sol10-sparc-a rpl_ndb_ctype_ucs2_def : BUG#27404 util thd mysql_parse sig11 when mysqld default multibyte charset diff --git a/sql/field.cc b/sql/field.cc index c8e1572d60f..ed1877fca78 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -7616,19 +7616,16 @@ uchar *Field_blob::pack(uchar *to, const uchar *from, uint max_length) uint32 length=get_length(); // Length of from string if (length > max_length) { - ptr=to; length=max_length; - store_length(length); // Store max length - ptr= (uchar*) from; + store_length(to,packlength,length,TRUE); } - else #ifdef WORDS_BIGENDIAN - if (table->s->db_low_byte_first) + else if (!table->s->db_low_byte_first) { - store_length(to,packlength,length,0); + store_length(to,packlength,length,TRUE); } - else #endif + else memcpy(to,from,packlength); // Copy length if (length) { @@ -7667,9 +7664,9 @@ const uchar *Field_blob::unpack(uchar *to, const uchar *from) { uint32 length=get_length(from); #ifdef WORDS_BIGENDIAN - if (table->s->db_low_byte_first) + if (!table->s->db_low_byte_first) { - store_length(to,packlength,length,1); + store_length(to,packlength,length,FALSE); } else #endif