packages: mysql/bug860910.patch, mysql/control_online_alter_index.patch, my...

arekm arekm at pld-linux.org
Wed Jan 11 19:10:33 CET 2012


Author: arekm                        Date: Wed Jan 11 18:10:33 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 5.5.19

---- Files affected:
packages/mysql:
   bug860910.patch (1.3 -> 1.4) , control_online_alter_index.patch (1.6 -> 1.7) , group_commit.patch (1.1 -> 1.2) , innodb_adaptive_hash_index_partitions.patch (1.10 -> 1.11) , innodb_admin_command_base.patch (1.9 -> 1.10) , innodb_buffer_pool_pages_i_s.patch (1.10 -> 1.11) , innodb_buffer_pool_shm.patch (1.10 -> 1.11) , innodb_dict_size_limit.patch (1.8 -> 1.9) , innodb_expand_fast_index_creation.patch (1.5 -> 1.6) , innodb_expand_import.patch (1.9 -> 1.10) , innodb_extend_slow.patch (1.10 -> 1.11) , innodb_extra_rseg.patch (1.8 -> 1.9) , innodb_fake_changes.patch (1.3 -> 1.4) , innodb_fast_checksum.patch (1.9 -> 1.10) , innodb_files_extend.patch (1.9 -> 1.10) , innodb_fix_misc.patch (1.11 -> 1.12) , innodb_io_patches.patch (1.9 -> 1.10) , innodb_kill_idle_transaction.patch (1.2 -> 1.3) , innodb_lru_dump_restore.patch (1.8 -> 1.9) , innodb_opt_lru_count.patch (1.7 -> 1.8) , innodb_overwrite_relay_log_info.patch (1.9 -> 1.10) , innodb_pass_corrupt_table.patch (1.11 -> 1.12) , innodb_recovery_patches.patch (1.9 -> 1.10) , innodb_separate_doublewrite.patch (1.12 -> 1.13) , innodb_show_lock_name.patch (1.8 -> 1.9) , innodb_show_status.patch (1.8 -> 1.9) , innodb_show_status_extend.patch (1.9 -> 1.10) , innodb_show_sys_tables.patch (1.9 -> 1.10) , innodb_split_buf_pool_mutex.patch (1.9 -> 1.10) , innodb_stats.patch (1.9 -> 1.10) , innodb_thread_concurrency_timer_based.patch (1.8 -> 1.9) , log_warnings_suppress.patch (1.8 -> 1.9) , memory_dynamic_rows.patch (1.4 -> 1.5) , mysql.spec (1.563 -> 1.564) , optimizer_fix.patch (1.6 -> 1.7) , processlist_row_stats.patch (1.6 -> 1.7) , query_cache_enhance.patch (1.11 -> 1.12) , response_time_distribution.patch (1.10 -> 1.11) , show_temp.patch (1.9 -> 1.10) , slow_extended.patch (1.11 -> 1.12) , subunit.patch (1.3 -> 1.4) , userstat.patch (1.10 -> 1.11) 

---- Diffs:

================================================================
Index: packages/mysql/bug860910.patch
diff -u packages/mysql/bug860910.patch:1.3 packages/mysql/bug860910.patch:1.4
--- packages/mysql/bug860910.patch:1.3	Thu Dec 22 22:04:22 2011
+++ packages/mysql/bug860910.patch	Wed Jan 11 19:10:25 2012
@@ -77,7 +77,7 @@
 +--source include/rpl_end.inc
 --- a/sql/log.cc
 +++ b/sql/log.cc
-@@ -5079,6 +5079,12 @@
+@@ -5076,6 +5076,12 @@
                                   user_var_event->type,
                                   user_var_event->charset_number,
                                   flags);

================================================================
Index: packages/mysql/control_online_alter_index.patch
diff -u packages/mysql/control_online_alter_index.patch:1.6 packages/mysql/control_online_alter_index.patch:1.7
--- packages/mysql/control_online_alter_index.patch:1.6	Thu Aug 25 12:08:46 2011
+++ packages/mysql/control_online_alter_index.patch	Wed Jan 11 19:10:25 2012
@@ -18,7 +18,7 @@
    supported at all.
 --- a/sql/sql_class.h
 +++ b/sql/sql_class.h
-@@ -481,6 +481,8 @@
+@@ -479,6 +479,8 @@
    my_bool engine_condition_pushdown;
    my_bool keep_files_on_create;
  
@@ -45,7 +45,7 @@
        goto err;
 --- a/sql/sql_table.cc
 +++ b/sql/sql_table.cc
-@@ -6140,6 +6140,10 @@
+@@ -6146,6 +6146,10 @@
      uint  *idx_end_p;
  
      alter_flags= table->file->alter_table_flags(alter_info->flags);
@@ -58,7 +58,7 @@
      for (idx_p= index_drop_buffer, idx_end_p= idx_p + index_drop_count;
 --- a/sql/sys_vars.cc
 +++ b/sql/sys_vars.cc
-@@ -2186,6 +2186,13 @@
+@@ -2192,6 +2192,13 @@
         GLOBAL_VAR(opt_optimizer_fix),
         NO_CMD_LINE, DEFAULT(TRUE));
  

================================================================
Index: packages/mysql/group_commit.patch
diff -u packages/mysql/group_commit.patch:1.1 packages/mysql/group_commit.patch:1.2
--- packages/mysql/group_commit.patch:1.1	Thu Dec 22 22:04:22 2011
+++ packages/mysql/group_commit.patch	Wed Jan 11 19:10:25 2012
@@ -282,15 +282,7 @@
     int  (*recover)(handlerton *hton, XID *xid_list, uint len);
 --- a/sql/log.cc
 +++ b/sql/log.cc
-@@ -49,6 +49,7 @@
- 
- #include "sql_plugin.h"
- #include "rpl_handler.h"
-+#include "debug_sync.h"
- 
- /* max size of the log message */
- #define MAX_LOG_BUFFER_SIZE 1024
-@@ -71,6 +72,25 @@
+@@ -71,6 +71,25 @@
  static int binlog_rollback(handlerton *hton, THD *thd, bool all);
  static int binlog_prepare(handlerton *hton, THD *thd, bool all);
  
@@ -316,7 +308,7 @@
  /**
     purge logs, master and slave sides both, related error code
     convertor.
-@@ -167,41 +187,6 @@
+@@ -167,41 +186,6 @@
  }
  
  /*
@@ -358,7 +350,7 @@
    Helper classes to store non-transactional and transactional data
    before copying it to the binary log.
  */
-@@ -211,7 +196,8 @@
+@@ -211,7 +195,8 @@
    binlog_cache_data(): m_pending(0), before_stmt_pos(MY_OFF_T_UNDEF),
    incident(FALSE), changes_to_non_trans_temp_table_flag(FALSE),
    saved_max_binlog_cache_size(0), ptr_binlog_cache_use(0),
@@ -368,7 +360,7 @@
    { }
    
    ~binlog_cache_data()
-@@ -270,6 +256,8 @@
+@@ -270,6 +255,8 @@
        variable after truncating the cache.
      */
      cache_log.disk_writes= 0;
@@ -377,7 +369,7 @@
      DBUG_ASSERT(empty());
    }
  
-@@ -411,6 +399,20 @@
+@@ -411,6 +398,20 @@
   
    binlog_cache_data& operator=(const binlog_cache_data& info);
    binlog_cache_data(const binlog_cache_data& info);
@@ -398,7 +390,7 @@
  };
  
  class binlog_cache_mngr {
-@@ -1627,7 +1629,7 @@
+@@ -1624,7 +1625,7 @@
  */
  static inline int
  binlog_flush_cache(THD *thd, binlog_cache_data* cache_data, Log_event *end_evt,
@@ -407,7 +399,7 @@
  {
    DBUG_ENTER("binlog_flush_cache");
    int error= 0;
-@@ -1646,8 +1648,8 @@
+@@ -1643,8 +1644,8 @@
        were, we would have to ensure that we're not ending a statement
        inside a stored function.
      */
@@ -418,7 +410,7 @@
    }
    cache_data->reset();
  
-@@ -1666,12 +1668,12 @@
+@@ -1663,12 +1664,12 @@
  */
  static inline int
  binlog_commit_flush_stmt_cache(THD *thd,
@@ -433,7 +425,7 @@
  }
  
  /**
-@@ -1684,12 +1686,12 @@
+@@ -1681,12 +1682,12 @@
      nonzero if an error pops up when flushing the cache.
  */
  static inline int
@@ -448,7 +440,7 @@
  }
  
  /**
-@@ -1702,12 +1704,12 @@
+@@ -1699,12 +1700,12 @@
      nonzero if an error pops up when flushing the cache.
  */
  static inline int
@@ -463,7 +455,7 @@
  }
  
  /**
-@@ -1722,11 +1724,11 @@
+@@ -1719,11 +1720,11 @@
  */
  static inline int
  binlog_commit_flush_trx_cache(THD *thd, binlog_cache_mngr *cache_mngr,
@@ -477,7 +469,7 @@
  }
  
  /**
-@@ -1788,7 +1790,7 @@
+@@ -1785,7 +1786,7 @@
      do nothing.
      just pretend we can do 2pc, so that MySQL won't
      switch to 1pc.
@@ -486,7 +478,7 @@
    */
    return 0;
  }
-@@ -1821,7 +1823,7 @@
+@@ -1818,7 +1819,7 @@
  
    if (!cache_mngr->stmt_cache.empty())
    {
@@ -495,7 +487,7 @@
    }
  
    if (cache_mngr->trx_cache.empty())
-@@ -1840,7 +1842,7 @@
+@@ -1837,7 +1838,7 @@
      Otherwise, we accumulate the changes.
    */
    if (!error && ending_trans(thd, all))
@@ -504,7 +496,7 @@
  
    /*
      This is part of the stmt rollback.
-@@ -1884,7 +1886,7 @@
+@@ -1881,7 +1882,7 @@
    }
    else if (!cache_mngr->stmt_cache.empty())
    {
@@ -513,7 +505,7 @@
    }
  
    if (cache_mngr->trx_cache.empty())
-@@ -1932,7 +1934,7 @@
+@@ -1929,7 +1930,7 @@
           (trans_has_updated_non_trans_table(thd) &&
            ending_single_stmt_trans(thd,all) &&
            thd->variables.binlog_format == BINLOG_FORMAT_MIXED)))
@@ -522,7 +514,7 @@
      /*
        Truncate the cache if:
          . aborting a single or multi-statement transaction or;
-@@ -2907,6 +2909,7 @@
+@@ -2904,6 +2905,7 @@
  MYSQL_BIN_LOG::MYSQL_BIN_LOG(uint *sync_period)
    :bytes_written(0), prepared_xids(0), file_id(1), open_count(1),
     need_start_event(TRUE),
@@ -530,7 +522,7 @@
     sync_period_ptr(sync_period),
     is_relay_log(0), signal_cnt(0),
     description_event_for_exec(0), description_event_for_queue(0)
-@@ -5279,19 +5282,15 @@
+@@ -5325,19 +5327,15 @@
    SYNOPSIS
      write_cache()
      cache    Cache to write to the binary log
@@ -552,7 +544,7 @@
    if (reinit_io_cache(cache, READ_CACHE, 0, 0, 0))
      return ER_ERROR_ON_WRITE;
    uint length= my_b_bytes_in_cache(cache), group, carry, hdr_offs;
-@@ -5402,6 +5401,8 @@
+@@ -5448,6 +5446,8 @@
      }
  
      /* Write data to the binary log file */
@@ -561,7 +553,7 @@
      if (my_b_write(&log_file, cache->read_pos, length))
        return ER_ERROR_ON_WRITE;
      thd->binlog_bytes_written+= length;
-@@ -5410,9 +5411,6 @@
+@@ -5456,9 +5456,6 @@
  
    DBUG_ASSERT(carry == 0);
  
@@ -571,7 +563,7 @@
    return 0;                                     // All OK
  }
  
-@@ -5453,8 +5451,6 @@
+@@ -5499,8 +5496,6 @@
    if (!is_open())
      DBUG_RETURN(error);
  
@@ -580,7 +572,7 @@
    Incident incident= INCIDENT_LOST_EVENTS;
    Incident_log_event ev(thd, incident, write_error_msg);
    if (lock)
-@@ -5496,104 +5492,320 @@
+@@ -5549,112 +5544,332 @@
      'cache' needs to be reinitialized after this functions returns.
  */
  
@@ -589,8 +581,7 @@
 +bool
 +MYSQL_BIN_LOG::write_transaction_to_binlog(THD *thd, binlog_cache_data *cache_data,
 +                                           Log_event *end_ev, bool all)
- {
--  DBUG_ENTER("MYSQL_BIN_LOG::write(THD *, IO_CACHE *, Log_event *)");
++{
 +  group_commit_entry entry;
 +  bool ret;
 +  DBUG_ENTER("MYSQL_BIN_LOG::write_transaction_to_binlog");
@@ -631,7 +622,8 @@
 +
 +bool
 +MYSQL_BIN_LOG::write_transaction_to_binlog_events(group_commit_entry *entry)
-+{
+ {
+-  DBUG_ENTER("MYSQL_BIN_LOG::write(THD *, IO_CACHE *, Log_event *)");
 +  /*
 +    To facilitate group commit for the binlog, we first queue up ourselves in
 +    the group commit queue. Then the first thread to enter the queue waits for
@@ -678,7 +670,7 @@
 +                    "Error writing transaction to binary log: %d",
 +                    MYF(ME_NOREFRESH), entry->error);
 +  }
-+
+ 
 +  /*
 +    Since we return error, this transaction XID will not be committed, so
 +    we need to mark it as not needed for recovery (unlog() is not called
@@ -706,38 +698,42 @@
 +  DBUG_ENTER("MYSQL_BIN_LOG::trx_group_commit_leader");
 +  uint xid_count= 0;
 +  uint write_count= 0;
-+
-+  /*
-+    Lock the LOCK_log(), and once we get it, collect any additional writes
-+    that queued up while we were waiting.
-+  */
-   mysql_mutex_lock(&LOCK_log);
-+  DEBUG_SYNC(leader->thd, "commit_after_get_LOCK_log");
-+  mysql_mutex_lock(&LOCK_group_commit_queue);
-+  group_commit_entry *current= group_commit_queue;
-+  group_commit_queue= NULL;
-+  mysql_mutex_unlock(&LOCK_group_commit_queue);
-+
-+  /* As the queue is in reverse order of entering, reverse it. */
-+  group_commit_entry *queue= NULL;
-+  while (current)
-+  {
-+    group_commit_entry *next= current->next;
-+    current->next= queue;
-+    queue= current;
-+    current= next;
-+  }
-+  DBUG_ASSERT(leader == queue /* the leader should be first in queue */);
- 
-+  /* Now we have in queue the list of transactions to be committed in order. */
++  bool check_purge= false;
++  group_commit_entry *current= 0;
    DBUG_ASSERT(is_open());
    if (likely(is_open()))                       // Should always be true
    {
+-    bool check_purge;
+-    
++    /*
++      Lock the LOCK_log(), and once we get it, collect any additional writes
++      that queued up while we were waiting.
++    */
+     mysql_mutex_lock(&LOCK_log);
++
++    DEBUG_SYNC(leader->thd, "commit_after_get_LOCK_log");
++    mysql_mutex_lock(&LOCK_group_commit_queue);
++    current= group_commit_queue;
++    group_commit_queue= NULL;
++    mysql_mutex_unlock(&LOCK_group_commit_queue);
++
++    /* As the queue is in reverse order of entering, reverse it. */
++    group_commit_entry *queue= NULL;
++    while (current)
++    {
++      group_commit_entry *next= current->next;
++      current->next= queue;
++      queue= current;
++      current= next;
++    }
++    DBUG_ASSERT(leader == queue /* the leader should be first in queue */);
      /*
 -      We only bother to write to the binary log if there is anything
 -      to write.
 -     */
 -    if (my_b_tell(cache) > 0)
++      Now we have in queue the list of transactions to be committed in order.
++
 +      Commit every transaction in the queue.
 +
 +      Note that we are doing this in a different thread than the one running
@@ -771,28 +767,28 @@
 -                        DBUG_PRINT("info", ("crashing before writing xid"));
 -                        DBUG_SUICIDE();
 -                      });
+-
+-      if ((write_error= write_cache(thd, cache, false, false)))
+-        goto err;
+-
+-      if (commit_event && commit_event->write(&log_file))
+-        goto err;
+-      if (commit_event)
+-        thd->binlog_bytes_written+= commit_event->data_written;
 +      if (my_b_tell(cache) > 0)
 +      {
 +        if ((current->error= write_transaction(current)))
 +          current->commit_errno= errno;
- 
--      if ((write_error= write_cache(thd, cache, false, false)))
--        goto err;
 +        write_count++;
 +      }
  
--      if (commit_event && commit_event->write(&log_file))
+-      if (incident && write_incident(thd, FALSE))
 -        goto err;
--      if (commit_event)
--        thd->binlog_bytes_written+= commit_event->data_written;
 +      cache_data->commit_bin_log_file_pos= my_b_write_tell(&log_file);
 +      if (cache_data->using_xa && cache_data->xa_xid)
 +        xid_count++;
 +    }
  
--      if (incident && write_incident(thd, FALSE))
--        goto err;
- 
 +    if (write_count > 0)
 +    {
        bool synced= 0;
@@ -856,11 +852,16 @@
 -      mysql_mutex_lock(&LOCK_prep_xids);
 -      prepared_xids++;
 -      mysql_mutex_unlock(&LOCK_prep_xids);
+-      mysql_mutex_unlock(&LOCK_log);
 +      mark_xids_active(xid_count);
      }
      else
-       if (rotate_and_purge(RP_LOCK_LOG_IS_ALREADY_LOCKED))
+     {
+       if (rotate(false, &check_purge))
 -        goto err;
+-      mysql_mutex_unlock(&LOCK_log);
+-      if (check_purge) 
+-        purge();
 +      {
 +        for (current= queue; current != NULL; current= current->next)
 +        {
@@ -871,56 +872,67 @@
 +          }
 +        }
 +      }
-   }
-+  DEBUG_SYNC(leader->thd, "commit_before_get_LOCK_commit_ordered");
-+  mysql_mutex_lock(&LOCK_commit_ordered);
-+  /*
-+    We cannot unlock LOCK_log until we have locked LOCK_commit_ordered;
-+    otherwise scheduling could allow the next group commit to run ahead of us,
-+    messing up the order of commit_ordered() calls. But as soon as
-+    LOCK_commit_ordered is obtained, we can let the next group commit start.
-+  */
-   mysql_mutex_unlock(&LOCK_log);
-+  DEBUG_SYNC(leader->thd, "commit_after_release_LOCK_log");
-+  ++num_group_commits;
+     }
+-  }
  
 -  DBUG_RETURN(0);
--
++    DEBUG_SYNC(leader->thd, "commit_before_get_LOCK_commit_ordered");
++    mysql_mutex_lock(&LOCK_commit_ordered);
++    /*
++      We cannot unlock LOCK_log until we have locked LOCK_commit_ordered;
++      otherwise scheduling could allow the next group commit to run ahead of us,
++      messing up the order of commit_ordered() calls. But as soon as
++      LOCK_commit_ordered is obtained, we can let the next group commit start.
++    */
+ 
 -err:
 -  if (!write_error)
-+  /*
-+    Wakeup each participant waiting for our group commit, first calling the
-+    commit_ordered() methods for any transactions doing 2-phase commit.
-+  */
-+  current= queue;
-+  while (current != NULL)
-   {
+-  {
 -    write_error= 1;
 -    sql_print_error(ER(ER_ERROR_ON_WRITE), name, errno);
-+    group_commit_entry *next;
++    mysql_mutex_unlock(&LOCK_log);
++
++    if (xid_count > 0 && check_purge)
++    {
++      purge();
++    }
 +
-+    DEBUG_SYNC(leader->thd, "commit_loop_entry_commit_ordered");
-+    ++num_commits;
-+    if (current->cache_data->using_xa && !current->error)
-+      run_commit_ordered(current->thd, current->all);
++    DEBUG_SYNC(leader->thd, "commit_after_release_LOCK_log");
++    ++num_group_commits;
 +
 +    /*
-+      Careful not to access current->next after waking up the other thread! As
-+      it may change immediately after wakeup.
++      Wakeup each participant waiting for our group commit, first calling the
++      commit_ordered() methods for any transactions doing 2-phase commit.
 +    */
-+    next= current->next;
-+    if (current != leader)                      // Don't wake up ourself
-+      current->thd->signal_wakeup_ready();
-+    current= next;
++    current= queue;
++    while (current != NULL)
++    {
++      group_commit_entry *next;
++
++      DEBUG_SYNC(leader->thd, "commit_loop_entry_commit_ordered");
++      ++num_commits;
++      if (current->cache_data->using_xa && !current->error)
++        run_commit_ordered(current->thd, current->all);
++
++      /*
++        Careful not to access current->next after waking up the other thread! As
++        it may change immediately after wakeup.
++      */
++      next= current->next;
++      if (current != leader)                      // Don't wake up ourself
++        current->thd->signal_wakeup_ready();
++      current= next;
++    }
++    DEBUG_SYNC(leader->thd, "commit_after_group_run_commit_ordered");
++    mysql_mutex_unlock(&LOCK_commit_ordered);
    }
 -  mysql_mutex_unlock(&LOCK_log);
 -  DBUG_RETURN(1);
-+  DEBUG_SYNC(leader->thd, "commit_after_group_run_commit_ordered");
-+  mysql_mutex_unlock(&LOCK_commit_ordered);
 +
 +  DBUG_VOID_RETURN;
  }
  
+ 
 +int
 +MYSQL_BIN_LOG::write_transaction(group_commit_entry *entry)
 +{
@@ -955,10 +967,11 @@
 +
 +  return 0;
 +}
- 
++
  /**
    Wait until we get a signal that the relay log has been updated.
-@@ -5999,6 +6211,68 @@
+ 
+@@ -6059,6 +6274,68 @@
  }
  
  
@@ -1027,7 +1040,7 @@
  /********* transaction coordinator log for 2pc - mmap() based solution *******/
  
  /*
-@@ -6135,6 +6409,7 @@
+@@ -6195,6 +6472,7 @@
    mysql_mutex_init(key_LOCK_pool, &LOCK_pool, MY_MUTEX_INIT_FAST);
    mysql_cond_init(key_COND_active, &COND_active, 0);
    mysql_cond_init(key_COND_pool, &COND_pool, 0);
@@ -1035,7 +1048,7 @@
  
    inited=6;
  
-@@ -6142,6 +6417,8 @@
+@@ -6202,6 +6480,8 @@
    active=pages;
    pool=pages+1;
    pool_last=pages+npages-1;
@@ -1044,7 +1057,7 @@
  
    return 0;
  
-@@ -6247,7 +6524,7 @@
+@@ -6307,7 +6587,7 @@
      to the position in memory where xid was logged to.
  */
  
@@ -1053,7 +1066,7 @@
  {
    int err;
    PAGE *p;
-@@ -6386,7 +6663,9 @@
+@@ -6446,7 +6726,9 @@
      mysql_mutex_destroy(&LOCK_sync);
      mysql_mutex_destroy(&LOCK_active);
      mysql_mutex_destroy(&LOCK_pool);
@@ -1063,7 +1076,7 @@
    case 5:
      data[0]='A'; // garble the first (signature) byte, in case mysql_file_delete fails
    case 4:
-@@ -6596,42 +6875,87 @@
+@@ -6656,42 +6938,87 @@
    mysql_cond_destroy(&COND_prep_xids);
  }
  
@@ -1163,7 +1176,7 @@
  }
  
  int TC_LOG_BINLOG::recover(IO_CACHE *log, Format_description_log_event *fdle)
-@@ -6700,9 +7024,67 @@
+@@ -6760,9 +7087,67 @@
  {
    return (ulonglong) mysql_bin_log.get_log_file()->pos_in_file;
  }
@@ -1231,7 +1244,7 @@
  struct st_mysql_storage_engine binlog_storage_engine=
  { MYSQL_HANDLERTON_INTERFACE_VERSION };
  
-@@ -6717,7 +7099,7 @@
+@@ -6777,7 +7162,7 @@
    binlog_init, /* Plugin Init */
    NULL, /* Plugin Deinit */
    0x0100 /* 1.0 */,
@@ -1423,7 +1436,7 @@
    void set_write_error(THD *thd, bool is_transactional);
    bool check_write_error(THD *thd);
  
-@@ -507,6 +595,7 @@
+@@ -509,6 +597,7 @@
    inline void unlock_index() { mysql_mutex_unlock(&LOCK_index);}
    inline IO_CACHE *get_index_file() { return &index_file;}
    inline uint32 get_open_count() { return open_count; }
@@ -1521,7 +1534,7 @@
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/bug860910.patch?r1=1.3&r2=1.4&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/control_online_alter_index.patch?r1=1.6&r2=1.7&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/group_commit.patch?r1=1.1&r2=1.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_adaptive_hash_index_partitions.patch?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_admin_command_base.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_buffer_pool_pages_i_s.patch?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_buffer_pool_shm.patch?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_dict_size_limit.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_expand_fast_index_creation.patch?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_expand_import.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_extend_slow.patch?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_extra_rseg.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_fake_changes.patch?r1=1.3&r2=1.4&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_fast_checksum.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_files_extend.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_fix_misc.patch?r1=1.11&r2=1.12&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_io_patches.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_kill_idle_transaction.patch?r1=1.2&r2=1.3&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_lru_dump_restore.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_opt_lru_count.patch?r1=1.7&r2=1.8&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_overwrite_relay_log_info.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_pass_corrupt_table.patch?r1=1.11&r2=1.12&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_recovery_patches.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_separate_doublewrite.patch?r1=1.12&r2=1.13&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_show_lock_name.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_show_status.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_show_status_extend.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_show_sys_tables.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_split_buf_pool_mutex.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_stats.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/innodb_thread_concurrency_timer_based.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/log_warnings_suppress.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/memory_dynamic_rows.patch?r1=1.4&r2=1.5&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql.spec?r1=1.563&r2=1.564&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/optimizer_fix.patch?r1=1.6&r2=1.7&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/processlist_row_stats.patch?r1=1.6&r2=1.7&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/query_cache_enhance.patch?r1=1.11&r2=1.12&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/response_time_distribution.patch?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/show_temp.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/slow_extended.patch?r1=1.11&r2=1.12&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/subunit.patch?r1=1.3&r2=1.4&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/userstat.patch?r1=1.10&r2=1.11&f=u



More information about the pld-cvs-commit mailing list