List:Commits« Previous MessageNext Message »
From:igor Date:April 20 2006 7:42am
Subject:bk commit into 5.0 tree (igor:1.2088)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of igor. When igor 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.2088 06/04/20 00:42:12 igor@stripped +5 -0
  Post merge fix

  sql/sql_select.cc
    1.406 06/04/20 00:42:06 igor@stripped +6 -13
    Post merge fix

  sql/item_sum.h
    1.102 06/04/20 00:42:06 igor@stripped +2 -2
    Post merge fix

  sql/item_sum.cc
    1.175 06/04/20 00:42:06 igor@stripped +2 -2
    Post merge fix

  sql/item_func.cc
    1.280 06/04/20 00:42:06 igor@stripped +1 -4
    Post merge fix

  mysql-test/r/func_gconcat.result
    1.56 06/04/20 00:42:06 igor@stripped +1 -1
    Post merge fix

# 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:	igor
# Host:	rurik.mysql.com
# Root:	/home/igor/dev/mysql-5.0-0

--- 1.279/sql/item_func.cc	2006-04-19 18:08:10 -07:00
+++ 1.280/sql/item_func.cc	2006-04-20 00:42:06 -07:00
@@ -380,10 +380,7 @@
     res= new Field_double(max_length, maybe_null, name, t_arg, decimals);
     break;
   case STRING_RESULT:
-    if (max_length/collation.collation->mbmaxlen > CONVERT_IF_BIGGER_TO_BLOB)
-      res= new Field_blob(max_length, maybe_null, name, t_arg, collation.collation);
-    else
-      res= new Field_string(max_length, maybe_null, name, t_arg, collation.collation);
+    res= make_string_field(t_arg);
     break;
   case DECIMAL_RESULT:
     res= new Field_new_decimal(my_decimal_precision_to_length(decimal_precision(),

--- 1.174/sql/item_sum.cc	2006-04-07 01:19:26 -07:00
+++ 1.175/sql/item_sum.cc	2006-04-20 00:42:06 -07:00
@@ -377,12 +377,12 @@
   case INT_RESULT:
     return new Field_longlong(max_length,maybe_null,name,table,unsigned_flag);
   case STRING_RESULT:
-    if (max_length > 255 && convert_blob_length)
+    if (max_length/collation.collation->mbmaxlen > 255 && convert_blob_length)
       return new Field_varstring(convert_blob_length, maybe_null,
                                  name, table,
                                  collation.collation);
     return make_string_field(table);
-  case DECIMAL_RESULT:
+case DECIMAL_RESULT:
     return new Field_new_decimal(max_length, maybe_null, name, table,
                                  decimals, unsigned_flag);
   case ROW_RESULT:

--- 1.101/sql/item_sum.h	2006-04-19 18:08:10 -07:00
+++ 1.102/sql/item_sum.h	2006-04-20 00:42:06 -07:00
@@ -1121,10 +1121,10 @@
   virtual Item_result result_type () const { return STRING_RESULT; }
   enum_field_types field_type() const
   {
-    if (max_length/collation.collation->mbmaxlen > CONVERT_IF_BIGGER_TO_BLOB)
+    if (max_length/collation.collation->mbmaxlen > CONVERT_IF_BIGGER_TO_BLOB )
       return FIELD_TYPE_BLOB;
     else
-      return MYSQL_TYPE_VAR_STRING;
+      return MYSQL_TYPE_VARCHAR;
   }
   void clear();
   bool add();

--- 1.405/sql/sql_select.cc	2006-04-19 18:08:10 -07:00
+++ 1.406/sql/sql_select.cc	2006-04-20 00:42:06 -07:00
@@ -8245,20 +8245,13 @@
     if ((type= item->field_type()) == MYSQL_TYPE_DATETIME ||
         type == MYSQL_TYPE_TIME || type == MYSQL_TYPE_DATE)
       new_field= item->tmp_table_field_from_field_type(table);
-    else if (item->max_length/item->collation.collation->mbmaxlen >
-             CONVERT_IF_BIGGER_TO_BLOB)
-    {
-      if (convert_blob_length)
-        new_field= new Field_varstring(convert_blob_length, maybe_null,
-                                       item->name, table,
-                                       item->collation.collation);
-      else
-        new_field= new Field_blob(item->max_length, maybe_null, item->name,
-                                  table, item->collation.collation);
-    }
+    else if (item->max_length/item->collation.collation->mbmaxlen > 255 &&
+             convert_blob_length)
+      new_field= new Field_varstring(convert_blob_length, maybe_null,
+                                     item->name, table,
+                                     item->collation.collation);
     else
-      new_field= new Field_string(item->max_length, maybe_null, item->name, 
-                                  table, item->collation.collation);
+      new_field= item->make_string_field(table);
     break;
   case DECIMAL_RESULT:
     new_field= new Field_new_decimal(item->max_length, maybe_null, item->name,

--- 1.55/mysql-test/r/func_gconcat.result	2006-04-19 18:08:10 -07:00
+++ 1.56/mysql-test/r/func_gconcat.result	2006-04-20 00:42:06 -07:00
@@ -616,7 +616,7 @@
 select f2,group_concat(f1) from t1 group by f2;
 Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
 def	test	t1	t1	f2	f2	253	255	255	Y	0	0	8
-def					group_concat(f1)	252	400	1	Y	128	0	63
+def					group_concat(f1)	253	400	1	Y	128	0	63
 f2	group_concat(f1)
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	1
 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	2
Thread
bk commit into 5.0 tree (igor:1.2088)igor20 Apr