From: magnus.blaudd Date: September 26 2012 5:39pm Subject: bzr push into mysql-5.6 branch (magnus.blaudd:4336 to 4337) Bug#14672885 List-Archive: http://lists.mysql.com/commits/144866 X-Bug: 14672885 Message-Id: <20120926173943.32483.10910.4337@peek02.se.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4337 magnus.blaudd@stripped 2012-09-26 Bug#14672885 SHOULD NOT PRUNE AUTO PARTITIONED TABLES - Skip pruning if table is in an auto partitioned engine - Refuse explicit partitions for auto partitioned engines modified: sql/opt_range.cc sql/partition_info.cc sql/sql_base.cc 4336 Tor Didriksen 2012-09-26 Bug#14649493 ASSERTION FAILURE IN __GCOV_FLUSH IN _DB_SUICIDE_ (DBUG_SUICIDE) Grab THR_LOCK_gcov before calling __gcov_flush() to avoid multiple parallel calls. @ mysys/stacktrace.c Remove the ifdef HAVE_gcov code (note the lowercase) We never define that macro anymore, and the flushing of gcov data is now done in _db_suicide_ anyways. modified: dbug/dbug.c include/my_dbug.h mysys/stacktrace.c unittest/gunit/dbug-t.cc === modified file 'sql/opt_range.cc' --- a/sql/opt_range.cc 2012-09-24 09:04:19 +0000 +++ b/sql/opt_range.cc 2012-09-26 17:28:56 +0000 @@ -3089,6 +3089,9 @@ bool prune_partitions(THD *thd, TABLE *t if (!part_info) DBUG_RETURN(FALSE); /* not a partitioned table */ + if (table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION) + DBUG_RETURN(false); /* Should not prune auto partitioned table */ + if (!pprune_cond) { mark_all_partitions_as_used(part_info); === modified file 'sql/partition_info.cc' --- a/sql/partition_info.cc 2012-08-03 12:40:53 +0000 +++ b/sql/partition_info.cc 2012-09-26 17:28:56 +0000 @@ -274,6 +274,9 @@ bool partition_info::can_prune_insert(TH DBUG_ASSERT(bitmaps_are_initialized); DBUG_ENTER("partition_info::can_prune_insert"); + if (table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION) + DBUG_RETURN(false); /* Should not prune auto partitioned tables */ + /* If under LOCK TABLES pruning will skip start_stmt instead of external_lock for unused partitions. === modified file 'sql/sql_base.cc' --- a/sql/sql_base.cc 2012-09-22 17:06:24 +0000 +++ b/sql/sql_base.cc 2012-09-26 17:28:56 +0000 @@ -3086,7 +3086,8 @@ table_found: table_list->table= table; #ifdef WITH_PARTITION_STORAGE_ENGINE - if (table->part_info) + if (table->part_info && + !(table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION)) { /* Set all [named] partitions as used. */ No bundle (reason: useless for push emails).