List:Commits« Previous MessageNext Message »
From:Mattias Jonsson Date:October 21 2009 7:38pm
Subject:bzr push into mysql branch (mattias.jonsson:2829 to 2830) Bug#44108
View as plain text  
 2830 Mattias Jonsson	2009-10-21
      port of the fix for bug#44108 into mysql-azalea-wl4571

    modified:
      mysql-test/r/partition_error.result
      mysql-test/t/partition_error.test
      sql/ha_partition.cc
 2829 Mikael Ronstrom	2009-08-05 [merge]
      Automerge with mysql-azalea

    removed:
      mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result
      mysql-test/suite/rpl/t/rpl_row_stop_middle_update-master.opt
      mysql-test/suite/rpl/t/rpl_row_stop_middle_update-slave.opt
    added:
      mysql-test/collections/mysql-pe.push@
      mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
      mysql-test/r/bug40113.result
      mysql-test/r/bug46080.result
      mysql-test/r/innodb_mysql_lock.result
      mysql-test/r/partition_not_embedded.result
      mysql-test/r/partition_rename_longfilename.result
      mysql-test/std_data/loadxml2.dat
      mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
      mysql-test/suite/rpl/r/rpl_stop_middle_group.result
      mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
      mysql-test/t/bug40113-master.opt
      mysql-test/t/bug40113.test
      mysql-test/t/bug46080-master.opt
      mysql-test/t/bug46080.test
      mysql-test/t/innodb_mysql_lock-master.opt
      mysql-test/t/innodb_mysql_lock.test
      mysql-test/t/partition_not_embedded.test
      mysql-test/t/partition_rename_longfilename.test
    renamed:
      mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test => mysql-test/suite/rpl/t/rpl_stop_middle_group.test
    modified:
      .bzr-mysql/default.conf
      BUILD/check-cpu
      CMakeLists.txt
      Makefile.am
      client/Makefile.am
      client/mysql.cc
      client/mysql_upgrade.c
      client/mysqladmin.cc
      client/mysqlbinlog.cc
      client/mysqlcheck.c
      client/mysqldump.c
      client/mysqlimport.c
      client/mysqlslap.c
      client/mysqltest.cc
      cmd-line-utils/readline/Makefile.am
      include/config-netware.h
      include/config-win.h
      include/my_base.h
      include/my_global.h
      include/myisammrg.h
      include/violite.h
      libmysql/Makefile.am
      libmysql/Makefile.shared
      libmysqld/Makefile.am
      libmysqld/emb_qcache.h
      libmysqld/lib_sql.cc
      mysql-test/collections/default.experimental
      mysql-test/collections/mysql-azalea.push
      mysql-test/extra/binlog_tests/binlog.test
      mysql-test/extra/scripts/monitor_disabled_tests/comments.txt
      mysql-test/include/mix1.inc
      mysql-test/r/create.result
      mysql-test/r/debug_sync.result
      mysql-test/r/derived.result
      mysql-test/r/func_str.result
      mysql-test/r/innodb_mysql.result
      mysql-test/r/insert.result
      mysql-test/r/insert_select.result
      mysql-test/r/loadxml.result
      mysql-test/r/lock.result
      mysql-test/r/locktrans_innodb.result
      mysql-test/r/locktrans_myisam.result
      mysql-test/r/merge.result
      mysql-test/r/myisam.result
      mysql-test/r/mysql.result
      mysql-test/r/mysqlcheck.result
      mysql-test/r/mysqldump.result
      mysql-test/r/outfile_loaddata.result
      mysql-test/r/parser_not_embedded.result
      mysql-test/r/partition.result
      mysql-test/r/partition_csv.result
      mysql-test/r/show_check.result
      mysql-test/r/signal.result
      mysql-test/r/signal_demo3.result
      mysql-test/r/sp_notembedded.result
      mysql-test/r/sp_trans.result
      mysql-test/r/subselect.result
      mysql-test/r/subselect_no_mat.result
      mysql-test/r/subselect_no_opts.result
      mysql-test/r/subselect_no_semijoin.result
      mysql-test/std_data/init_file.dat
      mysql-test/suite/backup/r/backup_db_grants.result
      mysql-test/suite/binlog/r/binlog_row_binlog.result
      mysql-test/suite/binlog/r/binlog_stm_binlog.result
      mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result
      mysql-test/suite/binlog/t/binlog_stm_unsafe_warning-master.opt
      mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test
      mysql-test/suite/parts/r/partition_syntax_innodb.result
      mysql-test/suite/parts/r/partition_syntax_myisam.result
      mysql-test/suite/rpl/r/rpl_concurrency_error.result
      mysql-test/suite/rpl/r/rpl_innodb.result
      mysql-test/suite/rpl/r/rpl_locktrans_innodb.result
      mysql-test/suite/rpl/r/rpl_locktrans_myisam.result
      mysql-test/suite/rpl/r/rpl_semi_sync.result
      mysql-test/suite/rpl/r/rpl_sf.result
      mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
      mysql-test/suite/rpl/r/rpl_udf.result
      mysql-test/suite/rpl/t/disabled.def
      mysql-test/suite/rpl/t/rpl_concurrency_error.test
      mysql-test/suite/rpl/t/rpl_innodb.test
      mysql-test/suite/rpl/t/rpl_semi_sync.test
      mysql-test/suite/rpl/t/rpl_sf.test
      mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
      mysql-test/t/create.test
      mysql-test/t/derived.test
      mysql-test/t/disabled.def
      mysql-test/t/innodb_mysql.test
      mysql-test/t/innodb_notembedded.test
      mysql-test/t/insert.test
      mysql-test/t/insert_select.test
      mysql-test/t/loadxml.test
      mysql-test/t/lock.test
      mysql-test/t/merge.test
      mysql-test/t/myisam.test
      mysql-test/t/mysql.test
      mysql-test/t/mysql_upgrade.test
      mysql-test/t/mysqlcheck.test
      mysql-test/t/mysqldump.test
      mysql-test/t/outfile_loaddata.test
      mysql-test/t/partition.test
      mysql-test/t/partition_csv.test
      mysql-test/t/show_check.test
      mysql-test/t/sp_notembedded.test
      mysql-test/t/sp_trans.test
      mysql-test/t/subselect.test
      mysys/Makefile.am
      mysys/array.c
      mysys/my_handler_errors.h
      netware/BUILD/compile-netware-START
      plugin/semisync/semisync_master.cc
      plugin/semisync/semisync_master_plugin.cc
      plugin/semisync/semisync_slave_plugin.cc
      scripts/make_binary_distribution.sh
      sql-bench/README*
      sql-common/client.c
      sql/Makefile.am
      sql/backup/be_thread.cc
      sql/derror.cc
      sql/event_data_objects.cc
      sql/event_scheduler.cc
      sql/events.cc
      sql/field.cc
      sql/ha_partition.cc
      sql/handler.cc
      sql/handler.h
      sql/item.cc
      sql/item_func.cc
      sql/item_subselect.cc
      sql/item_sum.cc
      sql/lex.h
      sql/log.cc
      sql/log_event.cc
      sql/log_event_old.cc
      sql/mysql_priv.h
      sql/mysqld.cc
      sql/net_serv.cc
      sql/protocol.cc
      sql/protocol.h
      sql/rpl_rli.cc
      sql/rpl_rli.h
      sql/set_var.cc
      sql/share/errmsg-utf8.txt
      sql/share/errmsg.txt
      sql/slave.cc
      sql/sp.cc
      sql/sp.h
      sql/sp_head.cc
      sql/sql_base.cc
      sql/sql_class.cc
      sql/sql_class.h
      sql/sql_delete.cc
      sql/sql_error.cc
      sql/sql_error.h
      sql/sql_handler.cc
      sql/sql_insert.cc
      sql/sql_lex.h
      sql/sql_load.cc
      sql/sql_parse.cc
      sql/sql_partition.cc
      sql/sql_prepare.cc
      sql/sql_repl.cc
      sql/sql_select.cc
      sql/sql_show.cc
      sql/sql_signal.cc
      sql/sql_signal.h
      sql/sql_string.cc
      sql/sql_string.h
      sql/sql_table.cc
      sql/sql_update.cc
      sql/sql_yacc.yy
      sql/table.cc
      sql/table.h
      sql/unireg.h
      storage/innobase/handler/ha_innodb.cc
      storage/myisam/ha_myisam.cc
      storage/myisam/myisam_backup_engine.cc
      storage/myisammrg/ha_myisammrg.cc
      storage/myisammrg/ha_myisammrg.h
      storage/myisammrg/myrg_info.c
      storage/myisammrg/myrg_open.c
      storage/ndb/src/mgmsrv/Makefile.am
      support-files/mysql.server.sh
      tests/Makefile.am
      tests/grant.pl*
      tests/mysql_client_test.c
      vio/viosslfactories.c
      mysql-test/suite/rpl/t/rpl_stop_middle_group.test
=== modified file 'mysql-test/r/partition_error.result'
--- a/mysql-test/r/partition_error.result	2009-02-20 12:37:37 +0000
+++ b/mysql-test/r/partition_error.result	2009-10-21 19:36:12 +0000
@@ -1,4 +1,9 @@
 drop table if exists t1;
+CREATE TABLE t1 (a int, b int) PARTITION BY HASH (a) PARTITIONS 2;
+INSERT INTO t1 VALUES (1,2);
+INSERT INTO t1 (a) SELECT * FROM t1;
+ERROR 21S01: Column count doesn't match value count at row 1
+DROP TABLE t1;
 CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a));
 INSERT INTO t1 VALUES (1),(1);
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'

=== modified file 'mysql-test/t/partition_error.test'
--- a/mysql-test/t/partition_error.test	2009-02-20 12:37:37 +0000
+++ b/mysql-test/t/partition_error.test	2009-10-21 19:36:12 +0000
@@ -7,7 +7,16 @@
 --disable_warnings
 drop table if exists t1;
 --enable_warnings
- 
+
+#
+# Bug#44108: Assertion bitmap_is_set in ha_partition::end_bulk_insert
+#
+CREATE TABLE t1 (a int, b int) PARTITION BY HASH (a) PARTITIONS 2;
+INSERT INTO t1 VALUES (1,2);
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+INSERT INTO t1 (a) SELECT * FROM t1;
+DROP TABLE t1;
+
 #
 # Bug#38719: Partitioning returns a different error code for a
 # duplicate key error

=== modified file 'sql/ha_partition.cc'
--- a/sql/ha_partition.cc	2009-08-05 12:22:27 +0000
+++ b/sql/ha_partition.cc	2009-10-21 19:36:12 +0000
@@ -2555,6 +2555,7 @@ int ha_partition::open(const char *name,
   /* Initialize the bitmap we use to minimize ha_start_bulk_insert calls */
   if (bitmap_init(&m_bulk_insert_started, NULL, m_tot_parts + 1, FALSE))
     DBUG_RETURN(1);
+  bitmap_clear_all(&m_bulk_insert_started);
   /* Initialize the bitmap we use to determine what partitions are used */
   if (!is_clone)
   {
@@ -3497,6 +3498,9 @@ ha_rows ha_partition::guess_bulk_insert_
   RETURN VALUE
     >0                      Error code
     0                       Success
+
+  Note: end_bulk_insert can be called without start_bulk_insert
+        being called, see bug#44108.
 */
 
 int ha_partition::end_bulk_insert(bool abort)
@@ -3505,7 +3509,9 @@ int ha_partition::end_bulk_insert(bool a
   uint i;
   DBUG_ENTER("ha_partition::end_bulk_insert");
 
-  DBUG_ASSERT(bitmap_is_set(&m_bulk_insert_started, m_tot_parts));
+  if (!bitmap_is_set(&m_bulk_insert_started, m_tot_parts))
+    DBUG_RETURN(error);
+
   for (i= 0; i < m_tot_parts; i++)
   {
     int tmp;


Attachment: [text/bzr-bundle]
Thread
bzr push into mysql branch (mattias.jonsson:2829 to 2830) Bug#44108Mattias Jonsson21 Oct