List:Commits« Previous MessageNext Message »
From:konstantin Date:May 22 2007 2:59pm
Subject:bk commit into 5.1 tree (kostja:1.2531)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of kostja. When kostja 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-05-22 18:59:29+04:00, kostja@vajra.(none) +5 -0
  Next increment.

  sql/mysql_priv.h@stripped, 2007-05-22 18:59:25+04:00, kostja@vajra.(none) +1 -1
    Next increment.

  sql/sql_insert.cc@stripped, 2007-05-22 18:59:25+04:00, kostja@vajra.(none) +1 -1
    Next increment.

  sql/sql_lex.cc@stripped, 2007-05-22 18:59:25+04:00, kostja@vajra.(none) +3 -1
    Fix a bug in the port

  sql/sql_parse.cc@stripped, 2007-05-22 18:59:25+04:00, kostja@vajra.(none) +1 -1
    Next increment.

  sql/sql_table.cc@stripped, 2007-05-22 18:59:26+04:00, kostja@vajra.(none) +13 -11
    Next increment.

# 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:	kostja
# Host:	vajra.(none)
# Root:	/opt/local/work/mysql-5.1-4968-new

--- 1.510/sql/mysql_priv.h	2007-05-22 11:24:07 +04:00
+++ 1.511/sql/mysql_priv.h	2007-05-22 18:59:25 +04:00
@@ -965,7 +965,7 @@ bool mysql_create_table(THD *thd,const c
 bool mysql_create_table_no_lock(THD *thd, const char *db,
                                 const char *table_name,
                                 HA_CREATE_INFO *create_info,
-                                List<create_field> &fields, List<Key> &keys,
+                                Alter_info *alter_info,
                                 bool tmp_table, uint select_field_count);
 
 bool mysql_alter_table(THD *thd, char *new_db, char *new_name,

--- 1.269/sql/sql_insert.cc	2007-05-21 19:07:46 +04:00
+++ 1.270/sql/sql_insert.cc	2007-05-22 18:59:25 +04:00
@@ -3260,7 +3260,7 @@ static TABLE *create_table_from_items(TH
     tmp_disable_binlog(thd);
     if (!mysql_create_table_no_lock(thd, create_table->db,
                                     create_table->table_name,
-                                    create_info, alter_info->create_list, alter_info->key_list, 0,
+                                    create_info, alter_info, 0,
                                     select_field_count))
     {
 

--- 1.242/sql/sql_lex.cc	2007-05-21 19:07:46 +04:00
+++ 1.243/sql/sql_lex.cc	2007-05-22 18:59:25 +04:00
@@ -1125,7 +1125,9 @@ Alter_info::Alter_info(const Alter_info 
   create_list(rhs.create_list, mem_root),
   flags(rhs.flags),
   keys_onoff(rhs.keys_onoff),
-  tablespace_op(rhs.tablespace_op)
+  tablespace_op(rhs.tablespace_op),
+  partition_names(rhs.partition_names, mem_root),
+  no_parts(rhs.no_parts)
 {}
 
 

--- 1.671/sql/sql_parse.cc	2007-05-22 11:24:07 +04:00
+++ 1.672/sql/sql_parse.cc	2007-05-22 18:59:25 +04:00
@@ -2286,8 +2286,8 @@ end_with_restore_list:
     ALTER TABLE.
   */
   {
-    Alter_info alter_info(lex->alter_info, thd->mem_root);
     HA_CREATE_INFO create_info;
+    Alter_info alter_info(lex->alter_info, thd->mem_root);
 
     if (thd->is_fatal_error) /* out of memory creating a copy of alter_info*/
       goto error;

--- 1.419/sql/sql_table.cc	2007-05-22 11:24:08 +04:00
+++ 1.420/sql/sql_table.cc	2007-05-22 18:59:26 +04:00
@@ -3200,8 +3200,8 @@ void sp_prepare_create_field(THD *thd, c
 bool mysql_create_table_no_lock(THD *thd,
                                 const char *db, const char *table_name,
                                 HA_CREATE_INFO *create_info,
-                                List<create_field> &fields,
-                                List<Key> &keys,bool internal_tmp_table,
+                                Alter_info *alter_info,
+                                bool internal_tmp_table,
                                 uint select_field_count)
 {
   char		path[FN_REFLEN];
@@ -3217,7 +3217,7 @@ bool mysql_create_table_no_lock(THD *thd
 
  
   /* Check for duplicate fields and check type of table to create */
-  if (!fields.elements)
+  if (alter_info->create_list.elements == 0)
   {
     my_message(ER_TABLE_MUST_HAVE_COLUMNS, ER(ER_TABLE_MUST_HAVE_COLUMNS),
                MYF(0));
@@ -3269,7 +3269,7 @@ bool mysql_create_table_no_lock(THD *thd
       Check that we don't use foreign keys in the table since it won't
       work even with InnoDB beneath it.
     */
-    List_iterator<Key> key_iterator(keys);
+    List_iterator<Key> key_iterator(alter_info->key_list);
     Key *key;
     handlerton *part_engine_type= create_info->db_type;
     char *part_syntax_buf;
@@ -3396,8 +3396,8 @@ bool mysql_create_table_no_lock(THD *thd
 
   set_table_default_charset(thd, create_info, (char*) db);
 
-  if (mysql_prepare_table(thd, create_info, &fields,
-			  &keys, internal_tmp_table, &db_options, file,
+  if (mysql_prepare_table(thd, create_info, &alter_info->create_list,
+			  &alter_info->key_list, internal_tmp_table, &db_options, file,
 			  &key_info_buffer, &key_count,
 			  select_field_count))
     goto err;
@@ -3507,7 +3507,8 @@ bool mysql_create_table_no_lock(THD *thd
   create_info->table_options=db_options;
 
   path[path_length - reg_ext_length]= '\0'; // Remove .frm extension
-  if (rea_create_table(thd, path, db, table_name, create_info, fields,
+  if (rea_create_table(thd, path, db, table_name, create_info,
+                       alter_info->create_list,
                        key_count, key_info_buffer, file))
     goto unlock_and_end;
 
@@ -3611,8 +3612,8 @@ bool mysql_create_table(THD *thd, const 
   }
 
   result= mysql_create_table_no_lock(thd, db, table_name, create_info,
-                                     alter_info->create_list,
-                                     alter_info->key_list, internal_tmp_table,
+                                     alter_info,
+                                     internal_tmp_table,
                                      select_field_count);
 
 unlock:
@@ -6307,8 +6308,9 @@ view_err:
   */
   tmp_disable_binlog(thd);
   error= mysql_create_table_no_lock(thd, new_db, tmp_name,
-                                    create_info, new_info.create_list,
-                                    new_info.key_list, 1, 0);
+                                    create_info,
+                                    &new_info,
+                                    1, 0);
   reenable_binlog(thd);
   if (error)
     goto err;
Thread
bk commit into 5.1 tree (kostja:1.2531)konstantin22 May