List:Commits« Previous MessageNext Message »
From:magnus.blaudd Date:September 26 2012 5:39pm
Subject:bzr push into mysql-5.6 branch (magnus.blaudd:4336 to 4337) Bug#14672885
View as plain text  
 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).
Thread
bzr push into mysql-5.6 branch (magnus.blaudd:4336 to 4337) Bug#14672885magnus.blaudd26 Sep