List:Commits« Previous MessageNext Message »
From:holyfoot Date:April 7 2007 6:36am
Subject:bk commit into 5.0 tree (holyfoot:1.2438)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of hf. When hf 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@stripped, 2007-04-07 11:36:02+05:00, holyfoot@stripped +2 -0
  Merge bk@stripped:mysql-5.0
  into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
  MERGE: 1.2430.1.4

  sql/field.cc@stripped, 2007-04-07 11:35:59+05:00, holyfoot@stripped +0 -0
    Auto merged
    MERGE: 1.344.1.1

  sql/sql_table.cc@stripped, 2007-04-07 11:35:59+05:00, holyfoot@stripped +0 -0
    Auto merged
    MERGE: 1.336.1.1

# 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:	holyfoot
# Host:	hfmain.(none)
# Root:	/d2/hf/mrg/mysql-5.0-opt/RESYNC

--- 1.345/sql/field.cc	2007-04-07 11:36:06 +05:00
+++ 1.346/sql/field.cc	2007-04-07 11:36:06 +05:00
@@ -8595,11 +8595,6 @@ bool create_field::init(THD *thd, char *
     break;
   case FIELD_TYPE_SET:
     {
-      if (fld_interval_list->elements > sizeof(longlong)*8)
-      {
-        my_error(ER_TOO_BIG_SET, MYF(0), fld_name); /* purecov: inspected */
-        DBUG_RETURN(TRUE);
-      }
       pack_length= get_set_pack_length(fld_interval_list->elements);
 
       List_iterator<String> it(*fld_interval_list);

--- 1.337/sql/sql_table.cc	2007-04-07 11:36:06 +05:00
+++ 1.338/sql/sql_table.cc	2007-04-07 11:36:06 +05:00
@@ -1707,6 +1707,7 @@ bool mysql_create_table(THD *thd,const c
                           alias);
       DBUG_RETURN(FALSE);
     }
+    DBUG_PRINT("info",("1"));
     my_error(ER_TABLE_EXISTS_ERROR, MYF(0), alias);
     DBUG_RETURN(TRUE);
   }
@@ -1717,6 +1718,7 @@ bool mysql_create_table(THD *thd,const c
     {
       if (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS)
         goto warn;
+      DBUG_PRINT("info",("2"));
       my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
       goto end;
     }
@@ -1735,14 +1737,25 @@ bool mysql_create_table(THD *thd,const c
   {
     bool create_if_not_exists =
       create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS;
-    if (ha_table_exists_in_engine(thd, db, table_name))
+    int retcode = ha_table_exists_in_engine(thd, db, table_name);
+    DBUG_PRINT("info", ("exists_in_engine: %u",retcode));
+    switch (retcode)
     {
-      DBUG_PRINT("info", ("Table with same name already existed in handler"));
+      case HA_ERR_NO_SUCH_TABLE:
+        /* Normal case, no table exists. we can go and create it */
+        break;
+      case HA_ERR_TABLE_EXIST:
+        DBUG_PRINT("info", ("Table existed in handler"));
 
-      if (create_if_not_exists)
-        goto warn;
-      my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
-      goto end;
+        if (create_if_not_exists)
+          goto warn;
+        my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
+        goto end;
+        break;
+      default:
+        DBUG_PRINT("info", ("error: %u from storage engine", retcode));
+        my_error(retcode, MYF(0),table_name);
+        goto end;
     }
   }
 
Thread
bk commit into 5.0 tree (holyfoot:1.2438)holyfoot7 Apr