List:Commits« Previous MessageNext Message »
From:Anurag Shekhar Date:March 9 2009 8:33am
Subject:bzr push into mysql-5.1-bugteam branch (anurag.shekhar:2833)
View as plain text  
 2833 Anurag Shekhar	2009-03-09 [merge]
      merging with latest changes.
added:
  mysql-test/suite/binlog/r/binlog_sql_mode.result
  mysql-test/suite/binlog/t/binlog_sql_mode.test
  mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result
  mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test
modified:
  mysql-test/r/lock.result
  mysql-test/r/ps.result
  mysql-test/r/skip_name_resolve.result
  mysql-test/r/strict.result
  mysql-test/r/variables.result
  mysql-test/suite/binlog/r/binlog_unsafe.result
  mysql-test/suite/binlog/t/binlog_unsafe.test
  mysql-test/suite/funcs_1/r/is_columns_innodb.result
  mysql-test/suite/funcs_1/r/is_columns_memory.result
  mysql-test/suite/funcs_1/r/is_columns_myisam.result
  mysql-test/suite/funcs_1/r/myisam_views.result
  mysql-test/suite/sys_vars/r/auto_increment_increment_basic.result
  mysql-test/suite/sys_vars/r/auto_increment_increment_func.result
  mysql-test/suite/sys_vars/r/auto_increment_offset_basic.result
  mysql-test/suite/sys_vars/r/auto_increment_offset_func.result
  mysql-test/suite/sys_vars/r/concurrent_insert_basic.result
  mysql-test/suite/sys_vars/r/connect_timeout_basic.result
  mysql-test/suite/sys_vars/r/default_week_format_basic.result
  mysql-test/suite/sys_vars/r/delayed_insert_timeout_basic.result
  mysql-test/suite/sys_vars/r/div_precision_increment_basic.result
  mysql-test/suite/sys_vars/r/expire_logs_days_basic.result
  mysql-test/suite/sys_vars/r/group_concat_max_len_basic.result
  mysql-test/suite/sys_vars/r/interactive_timeout_basic.result
  mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
  mysql-test/suite/sys_vars/r/max_binlog_size_basic.result
  mysql-test/suite/sys_vars/r/max_connections_basic.result
  mysql-test/suite/sys_vars/r/max_delayed_threads_basic.result
  mysql-test/suite/sys_vars/r/max_error_count_basic.result
  mysql-test/suite/sys_vars/r/max_insert_delayed_threads_basic.result
  mysql-test/suite/sys_vars/r/max_length_for_sort_data_basic.result
  mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result
  mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result
  mysql-test/suite/sys_vars/r/max_sort_length_basic.result
  mysql-test/suite/sys_vars/r/max_sp_recursion_depth_basic.result
  mysql-test/suite/sys_vars/r/myisam_data_pointer_size_basic.result
  mysql-test/suite/sys_vars/r/net_buffer_length_basic.result
  mysql-test/suite/sys_vars/r/net_read_timeout_basic.result
  mysql-test/suite/sys_vars/r/net_write_timeout_basic.result
  mysql-test/suite/sys_vars/r/optimizer_prune_level_basic.result
  mysql-test/suite/sys_vars/r/optimizer_search_depth_basic.result
  mysql-test/suite/sys_vars/r/preload_buffer_size_basic.result
  mysql-test/suite/sys_vars/r/read_buffer_size_basic.result
  mysql-test/suite/sys_vars/r/read_rnd_buffer_size_basic.result
  mysql-test/suite/sys_vars/r/slave_net_timeout_basic.result
  mysql-test/suite/sys_vars/r/slow_launch_time_basic.result
  mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
  mysql-test/suite/sys_vars/r/table_lock_wait_timeout_basic.result
  mysql-test/suite/sys_vars/r/table_open_cache_basic.result
  mysql-test/t/ddl_i18n_koi8r.test
  mysql-test/t/ddl_i18n_utf8.test
  mysql-test/t/drop.test
  mysql-test/t/lock.test
  mysql-test/t/skip_name_resolve.test
  mysql-test/t/strict.test
  mysql-test/t/variables.test
  sql/item_func.cc
  sql/log.cc
  sql/mysqld.cc
  sql/rpl_record.cc
  sql/set_var.cc
  sql/share/errmsg.txt
  sql/sp.cc
  sql/sql_cache.cc
  sql/sql_class.cc
  sql/sql_class.h
  sql/sql_lex.cc
  sql/sql_lex.h
  sql/sql_parse.cc
  sql/sql_show.cc
  sql/sql_table.cc
  sql/sql_yacc.yy
  sql/unireg.cc

=== modified file 'mysql-test/r/merge.result'
--- a/mysql-test/r/merge.result	2009-02-12 10:25:12 +0000
+++ b/mysql-test/r/merge.result	2009-03-04 09:18:07 +0000
@@ -2103,4 +2103,16 @@ a
 UNLOCK TABLES;
 # drop the created tables
 DROP TABLE t1, t2, t3;
+# insert duplicate value in child table while merge table doesn't have key
+create table t1 (
+col1 int(10),
+primary key (col1)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+CREATE TABLE m1 (
+col1 int(10) NOT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(t1);
+insert into m1 (col1) values (1);
+insert into m1 (col1) values (1);
+ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+drop table m1, t1;
 End of 5.1 tests

=== modified file 'mysql-test/t/merge.test'
--- a/mysql-test/t/merge.test	2009-02-12 10:25:12 +0000
+++ b/mysql-test/t/merge.test	2009-03-04 09:18:07 +0000
@@ -1496,4 +1496,22 @@ UNLOCK TABLES;
 --echo # drop the created tables
 DROP TABLE t1, t2, t3;
 
+#
+# Bug #41305 server crashes when inserting duplicate row into a merge table
+#
+--echo # insert duplicate value in child table while merge table doesn't have key
+create table t1 (
+        col1 int(10),
+        primary key (col1)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+CREATE TABLE m1 (
+  col1 int(10) NOT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(t1);
+
+insert into m1 (col1) values (1);
+--error ER_DUP_ENTRY
+insert into m1 (col1) values (1);
+
+drop table m1, t1;
 --echo End of 5.1 tests

=== modified file 'storage/myisammrg/ha_myisammrg.cc'
--- a/storage/myisammrg/ha_myisammrg.cc	2009-02-12 11:12:07 +0000
+++ b/storage/myisammrg/ha_myisammrg.cc	2009-03-04 09:18:07 +0000
@@ -872,6 +872,16 @@ int ha_myisammrg::info(uint flag)
     table->s->crashed= 1;
 #endif
   stats.data_file_length= mrg_info.data_file_length;
+  if (mrg_info.errkey >= table_share->keys) 
+  {
+    /*
+     If value of errkey is higher than the number of keys
+     on the table set errkey to MAX_KEY. This will be
+     treated as unknown key case and error message generator
+     won't try to locate key causing segmentation fault.
+    */
+    mrg_info.errkey= MAX_KEY;
+  }
   errkey= mrg_info.errkey;
   table->s->keys_in_use.set_prefix(table->s->keys);
   stats.mean_rec_length= mrg_info.reclength;

Thread
bzr push into mysql-5.1-bugteam branch (anurag.shekhar:2833)Anurag Shekhar9 Mar