List:Internals« Previous MessageNext Message »
From:monty Date:June 7 2005 12:09pm
Subject:bk commit into 4.1 tree (monty:1.2319) BUG#10741
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of monty. When monty does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2319 05/06/07 15:09:49 monty@stripped +4 -0
  Revert Bar's fix as this causes changes in the key tree that could cause incompatibilites
  Fix instead wrong call to ha_key_cmp
  This is related to bug #10741 Inserting double value into utf8 column crashes server

  mysql-test/t/ctype_utf8.test
    1.55 05/06/07 15:09:41 monty@stripped +1 -0
    Additional test

  mysql-test/r/ctype_utf8.result
    1.55 05/06/07 15:09:41 monty@stripped +3 -0
    Additional test

  myisam/mi_rnext_same.c
    1.16 05/06/07 15:09:41 monty@stripped +2 -2
    Fixed wrong arguments to ha_key_cmp()
    This caused a compare to fail if we first found a key with end space and then same key without end space

  myisam/mi_key.c
    1.35 05/06/07 15:09:41 monty@stripped +3 -3
    Revert Bar's fix as this causes changes in the key tree that could cause incompatibilites

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	monty
# Host:	narttu.mysql.com
# Root:	/home/my/mysql-4.1

--- 1.34/myisam/mi_key.c	2005-06-07 11:54:51 +03:00
+++ 1.35/myisam/mi_key.c	2005-06-07 15:09:41 +03:00
@@ -84,8 +84,7 @@
     pos= (byte*) record+keyseg->start;
     if (keyseg->flag & HA_SPACE_PACK)
     {
-      FIX_LENGTH(cs, pos, length, char_length);
-      end= pos + char_length;
+      end= pos + length;
       if (type != HA_KEYTYPE_NUM)
       {
 	while (end > pos && end[-1] == ' ')
@@ -96,7 +95,8 @@
 	while (pos < end && pos[0] == ' ')
 	  pos++;
       }
-      char_length= (uint) (end - pos);
+      length=(uint) (end-pos);
+      FIX_LENGTH(cs, pos, length, char_length);
       store_key_length_inc(key,char_length);
       memcpy((byte*) key,(byte*) pos,(size_t) char_length);
       key+=char_length;

--- 1.15/myisam/mi_rnext_same.c	2005-02-18 14:10:05 +02:00
+++ 1.16/myisam/mi_rnext_same.c	2005-06-07 15:09:41 +03:00
@@ -68,8 +68,8 @@
 			       info->lastkey_length,SEARCH_BIGGER,
 			       info->s->state.key_root[inx])))
           break;
-        if (ha_key_cmp(keyinfo->seg,info->lastkey2,info->lastkey,
-		    info->last_rkey_length, SEARCH_FIND, &not_used))
+        if (ha_key_cmp(keyinfo->seg, info->lastkey, info->lastkey2,
+                       info->last_rkey_length, SEARCH_FIND, &not_used))
         {
           error=1;
           my_errno=HA_ERR_END_OF_FILE;

--- 1.54/mysql-test/r/ctype_utf8.result	2005-06-07 11:55:38 +03:00
+++ 1.55/mysql-test/r/ctype_utf8.result	2005-06-07 15:09:41 +03:00
@@ -901,4 +901,7 @@
 select * from t1 where city = 'Durban';
 id	city
 2	Durban
+select * from t1 where city = 'Durban ';
+id	city
+2	Durban
 drop table t1;

--- 1.54/mysql-test/t/ctype_utf8.test	2005-06-07 11:55:46 +03:00
+++ 1.55/mysql-test/t/ctype_utf8.test	2005-06-07 15:09:41 +03:00
@@ -744,4 +744,5 @@
 insert into t1 values (1,'Durban North');
 insert into t1 values (2,'Durban');
 select * from t1 where city = 'Durban';
+select * from t1 where city = 'Durban ';
 drop table t1;
Thread
bk commit into 4.1 tree (monty:1.2319) BUG#10741monty7 Jun