SOURCES (MYSQL_5_0): mysql-microslow_innodb.patch, mysql-userstatv2.patch, ...
glen
glen at pld-linux.org
Thu Jan 8 13:53:50 CET 2009
Author: glen Date: Thu Jan 8 12:53:50 2009 GMT
Module: SOURCES Tag: MYSQL_5_0
---- Log message:
- mysql 5.0.75 by Eero Hänninen
---- Files affected:
SOURCES:
mysql-microslow_innodb.patch (1.1.2.2 -> 1.1.2.3) , mysql-userstatv2.patch (1.1.2.2 -> 1.1.2.3) , mysql-show_patches.patch (1.1.2.1 -> 1.1.2.2) , mysql-split_buf_pool_mutex_fixed_optimistic_safe.patch (1.1.2.1 -> 1.1.2.2)
---- Diffs:
================================================================
Index: SOURCES/mysql-microslow_innodb.patch
diff -u SOURCES/mysql-microslow_innodb.patch:1.1.2.2 SOURCES/mysql-microslow_innodb.patch:1.1.2.3
--- SOURCES/mysql-microslow_innodb.patch:1.1.2.2 Sun Dec 7 16:45:59 2008
+++ SOURCES/mysql-microslow_innodb.patch Thu Jan 8 13:53:42 2009
@@ -1,6 +1,19 @@
-diff -r bb81fcdd7db2 include/my_time.h
---- a/include/my_time.h Mon Sep 08 16:38:33 2008 -0700
-+++ b/include/my_time.h Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e include/my_getopt.h
+--- a/include/my_getopt.h Mon Dec 22 00:25:06 2008 -0800
++++ b/include/my_getopt.h Mon Dec 22 00:26:39 2008 -0800
+@@ -28,7 +28,8 @@
+ #define GET_ULL 8
+ #define GET_STR 9
+ #define GET_STR_ALLOC 10
+-#define GET_DISABLED 11
++#define GET_DOUBLE 11
++#define GET_DISABLED 12
+
+ #define GET_ASK_ADDR 128
+ #define GET_TYPE_MASK 127
+diff -r 25523be1816e include/my_time.h
+--- a/include/my_time.h Mon Dec 22 00:25:06 2008 -0800
++++ b/include/my_time.h Mon Dec 22 00:26:39 2008 -0800
@@ -140,7 +140,7 @@
int my_date_to_str(const MYSQL_TIME *l_time, char *to);
int my_datetime_to_str(const MYSQL_TIME *l_time, char *to);
@@ -10,18 +23,20 @@
C_MODE_END
#endif /* _my_time_h_ */
-diff -r bb81fcdd7db2 innobase/buf/buf0buf.c
---- a/innobase/buf/buf0buf.c Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/buf/buf0buf.c Mon Sep 08 16:38:46 2008 -0700
-@@ -37,6 +37,7 @@
+diff -r 25523be1816e innobase/buf/buf0buf.c
+--- a/innobase/buf/buf0buf.c Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/buf/buf0buf.c Mon Dec 22 00:26:39 2008 -0800
+@@ -37,6 +37,9 @@
#include "log0log.h"
#include "trx0undo.h"
#include "srv0srv.h"
-+#include "thr0loc.h"
++
++/* prototypes for new functions added to ha_innodb.cc */
++trx_t* innobase_get_trx();
/*
IMPLEMENTATION OF THE BUFFER POOL
-@@ -1086,6 +1087,31 @@
+@@ -1086,6 +1089,36 @@
return(block);
}
@@ -33,9 +48,14 @@
+
+ ut_ad(block);
+
-+ if (!trx || !trx->distinct_page_access_hash)
++ if (!srv_slow_log || !trx || !trx->take_stats)
+ return;
+
++ if (!trx->distinct_page_access_hash) {
++ trx->distinct_page_access_hash = mem_alloc(DPAH_SIZE);
++ memset(trx->distinct_page_access_hash, 0, DPAH_SIZE);
++ }
++
+ block_hash = ut_hash_ulint((block->space << 20) + block->space +
+ block->offset, DPAH_SIZE << 3);
+ block_hash_byte = block_hash >> 3;
@@ -53,11 +73,11 @@
/************************************************************************
This is the general function used to get access to a database page. */
-@@ -1108,6 +1134,11 @@
+@@ -1108,6 +1141,11 @@
ulint fix_type;
ibool success;
ibool must_read;
-+ trx_t* trx;
++ trx_t* trx = NULL;
+ ulint sec;
+ ulint ms;
+ ib_longlong start_time;
@@ -65,15 +85,17 @@
ut_ad(mtr);
ut_ad((rw_latch == RW_S_LATCH)
-@@ -1119,6 +1150,7 @@
+@@ -1119,6 +1157,9 @@
#ifndef UNIV_LOG_DEBUG
ut_ad(!ibuf_inside() || ibuf_page(space, offset));
#endif
-+ trx = thr_local_get_trx(os_thread_get_curr_id());
++ if (srv_slow_log) {
++ trx = innobase_get_trx();
++ }
buf_pool->n_page_gets++;
loop:
block = NULL;
-@@ -1148,7 +1180,7 @@
+@@ -1148,7 +1189,7 @@
return(NULL);
}
@@ -82,11 +104,11 @@
#ifdef UNIV_DEBUG
buf_dbg_counter++;
-@@ -1261,6 +1293,11 @@
+@@ -1261,6 +1302,11 @@
/* Let us wait until the read operation
completes */
-+ if (trx)
++ if (srv_slow_log && trx && trx->take_stats)
+ {
+ ut_usectime(&sec, &ms);
+ start_time = (ib_longlong)sec * 1000000 + ms;
@@ -94,12 +116,12 @@
for (;;) {
mutex_enter(&block->mutex);
-@@ -1275,6 +1312,12 @@
+@@ -1275,6 +1321,12 @@
break;
}
+ }
-+ if (trx)
++ if (srv_slow_log && trx && trx->take_stats && start_time)
+ {
+ ut_usectime(&sec, &ms);
+ finish_time = (ib_longlong)sec * 1000000 + ms;
@@ -107,7 +129,7 @@
}
}
-@@ -1296,12 +1339,15 @@
+@@ -1296,12 +1348,17 @@
/* In the case of a first access, try to apply linear
read-ahead */
@@ -119,20 +141,22 @@
ut_a(ibuf_count_get(block->space, block->offset) == 0);
#endif
+
-+ _increment_page_get_statistics(block, trx);
++ if (srv_slow_log) {
++ _increment_page_get_statistics(block, trx);
++ }
+
return(block->frame);
}
-@@ -1326,6 +1372,7 @@
+@@ -1326,6 +1383,7 @@
ibool accessed;
ibool success;
ulint fix_type;
-+ trx_t* trx;
++ trx_t* trx = NULL;
ut_ad(mtr && block);
ut_ad((rw_latch == RW_S_LATCH) || (rw_latch == RW_X_LATCH));
-@@ -1440,13 +1487,16 @@
+@@ -1440,13 +1498,18 @@
read-ahead */
buf_read_ahead_linear(buf_frame_get_space_id(guess),
@@ -145,32 +169,36 @@
#endif
buf_pool->n_page_gets++;
+
-+ trx = thr_local_get_trx(os_thread_get_curr_id());
-+ _increment_page_get_statistics(block, trx);
++ if (srv_slow_log) {
++ trx = innobase_get_trx();
++ _increment_page_get_statistics(block, trx);
++ }
return(TRUE);
}
-@@ -1470,6 +1520,7 @@
+@@ -1470,6 +1533,7 @@
buf_block_t* block;
ibool success;
ulint fix_type;
-+ trx_t* trx;
++ trx_t* trx = NULL;
ut_ad(mtr);
ut_ad((rw_latch == RW_S_LATCH) || (rw_latch == RW_X_LATCH));
-@@ -1558,6 +1609,9 @@
+@@ -1558,6 +1622,11 @@
|| (ibuf_count_get(block->space, block->offset) == 0));
#endif
buf_pool->n_page_gets++;
+
-+ trx = thr_local_get_trx(os_thread_get_curr_id());
-+ _increment_page_get_statistics(block, trx);
++ if (srv_slow_log) {
++ trx = innobase_get_trx();
++ _increment_page_get_statistics(block, trx);
++ }
return(TRUE);
}
-diff -r bb81fcdd7db2 innobase/buf/buf0rea.c
---- a/innobase/buf/buf0rea.c Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/buf/buf0rea.c Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/buf/buf0rea.c
+--- a/innobase/buf/buf0rea.c Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/buf/buf0rea.c Mon Dec 22 00:26:39 2008 -0800
@@ -70,7 +70,8 @@
treat the tablespace as dropped; this is a timestamp we
use to stop dangling page reads from a tablespace
@@ -287,9 +315,9 @@
}
}
-diff -r bb81fcdd7db2 innobase/fil/fil0fil.c
---- a/innobase/fil/fil0fil.c Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/fil/fil0fil.c Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/fil/fil0fil.c
+--- a/innobase/fil/fil0fil.c Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/fil/fil0fil.c Mon Dec 22 00:26:39 2008 -0800
@@ -3527,7 +3527,7 @@
node->name, node->handle, buf,
offset_low, offset_high,
@@ -328,9 +356,9 @@
#endif
ut_a(ret);
-diff -r bb81fcdd7db2 innobase/include/buf0rea.h
---- a/innobase/include/buf0rea.h Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/include/buf0rea.h Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/include/buf0rea.h
+--- a/innobase/include/buf0rea.h Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/include/buf0rea.h Mon Dec 22 00:26:39 2008 -0800
@@ -10,6 +10,7 @@
#define buf0rea_h
@@ -360,9 +388,9 @@
/************************************************************************
Issues read requests for pages which the ibuf module wants to read in, in
order to contract the insert buffer tree. Technically, this function is like
-diff -r bb81fcdd7db2 innobase/include/fil0fil.h
---- a/innobase/include/fil0fil.h Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/include/fil0fil.h Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/include/fil0fil.h
+--- a/innobase/include/fil0fil.h Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/include/fil0fil.h Mon Dec 22 00:26:39 2008 -0800
@@ -534,8 +534,11 @@
/************************************************************************
Reads or writes data. This operation is asynchronous (aio). */
@@ -387,9 +415,9 @@
/************************************************************************
Reads data from a space to a buffer. Remember that the possible incomplete
blocks at the end of file are ignored: they are not taken into account when
-diff -r bb81fcdd7db2 innobase/include/os0file.h
---- a/innobase/include/os0file.h Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/include/os0file.h Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/include/os0file.h
+--- a/innobase/include/os0file.h Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/include/os0file.h Mon Dec 22 00:26:39 2008 -0800
@@ -10,6 +10,8 @@
#define os0file_h
@@ -432,56 +460,26 @@
/****************************************************************************
Wakes up all async i/o threads so that they know to exit themselves in
shutdown. */
-diff -r bb81fcdd7db2 innobase/include/thr0loc.h
---- a/innobase/include/thr0loc.h Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/include/thr0loc.h Mon Sep 08 16:38:46 2008 -0700
-@@ -15,6 +15,7 @@
-
- #include "univ.i"
- #include "os0thread.h"
-+#include "trx0trx.h"
-
- /********************************************************************
- Initializes the thread local storage module. */
-@@ -36,6 +37,14 @@
- /*===========*/
- os_thread_id_t id); /* in: thread id */
- /***********************************************************************
-+Gets trx */
-+
-+trx_t*
-+thr_local_get_trx(
-+/*==================*/
-+ /* out: trx for mysql */
-+ os_thread_id_t id); /* in: thread id of the thread */
-+/***********************************************************************
- Gets the slot number in the thread table of a thread. */
-
- ulint
-@@ -43,6 +52,14 @@
- /*==================*/
- /* out: slot number */
- os_thread_id_t id); /* in: thread id of the thread */
-+/***********************************************************************
-+Sets in the local storage the slot number in the thread table of a thread. */
-+
-+void
-+thr_local_set_trx(
-+/*==================*/
-+ os_thread_id_t id, /* in: thread id of the thread */
-+ trx_t* trx); /* in: slot number */
- /***********************************************************************
- Sets in the local storage the slot number in the thread table of a thread. */
-
-diff -r bb81fcdd7db2 innobase/include/trx0trx.h
---- a/innobase/include/trx0trx.h Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/include/trx0trx.h Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/include/srv0srv.h
+--- a/innobase/include/srv0srv.h Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/include/srv0srv.h Mon Dec 22 00:26:39 2008 -0800
+@@ -26,6 +26,8 @@
+ at a time */
+ #define SRV_AUTO_EXTEND_INCREMENT \
+ (srv_auto_extend_increment * ((1024 * 1024) / UNIV_PAGE_SIZE))
++
++extern ibool srv_slow_log;
+
+ /* This is set to TRUE if the MySQL user has set it in MySQL */
+ extern ibool srv_lower_case_table_names;
+diff -r 25523be1816e innobase/include/trx0trx.h
+--- a/innobase/include/trx0trx.h Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/include/trx0trx.h Mon Dec 22 00:26:39 2008 -0800
@@ -668,6 +668,17 @@
/*------------------------------*/
char detailed_error[256]; /* detailed error message for last
error, or empty. */
+ /*------------------------------*/
-+ os_thread_id_t trx_thread_id;
+ ulint io_reads;
+ ib_longlong io_read;
+ ulint io_reads_wait_timer;
@@ -491,12 +489,13 @@
+ ulint distinct_page_access;
+#define DPAH_SIZE 8192
+ byte* distinct_page_access_hash;
++ ibool take_stats;
};
#define TRX_MAX_N_THREADS 32 /* maximum number of concurrent
-diff -r bb81fcdd7db2 innobase/lock/lock0lock.c
---- a/innobase/lock/lock0lock.c Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/lock/lock0lock.c Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/lock/lock0lock.c
+--- a/innobase/lock/lock0lock.c Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/lock/lock0lock.c Mon Dec 22 00:26:39 2008 -0800
@@ -1806,6 +1806,8 @@
{
lock_t* lock;
@@ -506,16 +505,18 @@
#ifdef UNIV_SYNC_DEBUG
ut_ad(mutex_own(&kernel_mutex));
-@@ -1861,6 +1863,8 @@
+@@ -1861,6 +1863,10 @@
trx->que_state = TRX_QUE_LOCK_WAIT;
trx->was_chosen_as_deadlock_victim = FALSE;
trx->wait_started = time(NULL);
-+ ut_usectime(&sec, &ms);
-+ trx->lock_que_wait_ustarted = (ib_longlong)sec * 1000000 + ms;
++ if (srv_slow_log && trx->take_stats) {
++ ut_usectime(&sec, &ms);
++ trx->lock_que_wait_ustarted = (ib_longlong)sec * 1000000 + ms;
++ }
ut_a(que_thr_stop(thr));
-@@ -3514,7 +3518,9 @@
+@@ -3514,7 +3520,9 @@
{
lock_t* lock;
trx_t* trx;
@@ -526,30 +527,20 @@
#ifdef UNIV_SYNC_DEBUG
ut_ad(mutex_own(&kernel_mutex));
#endif /* UNIV_SYNC_DEBUG */
-@@ -3563,7 +3569,10 @@
-
+@@ -3564,6 +3572,10 @@
return(DB_SUCCESS);
}
--
-+
-+ trx->wait_started = time(NULL);
-+ ut_usectime(&sec, &ms);
-+ trx->lock_que_wait_ustarted = (ib_longlong)sec * 1000000 + ms;
+
++ if (srv_slow_log && trx->take_stats) {
++ ut_usectime(&sec, &ms);
++ trx->lock_que_wait_ustarted = (ib_longlong)sec * 1000000 + ms;
++ }
trx->que_state = TRX_QUE_LOCK_WAIT;
trx->was_chosen_as_deadlock_victim = FALSE;
trx->wait_started = time(NULL);
-@@ -4289,7 +4298,7 @@
- ulint i;
- mtr_t mtr;
- trx_t* trx;
--
-+
- fprintf(file, "LIST OF TRANSACTIONS FOR EACH SESSION:\n");
-
- /* First print info on non-active transactions */
-diff -r bb81fcdd7db2 innobase/os/os0file.c
---- a/innobase/os/os0file.c Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/os/os0file.c Mon Sep 08 16:38:46 2008 -0700
+diff -r 25523be1816e innobase/os/os0file.c
+--- a/innobase/os/os0file.c Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/os/os0file.c Mon Dec 22 00:26:39 2008 -0800
@@ -14,6 +14,7 @@
#include "srv0start.h"
#include "fil0fil.h"
@@ -558,15 +549,7 @@
#if defined(UNIV_HOTBACKUP) && defined(__WIN__)
/* Add includes for the _stat() call to compile on Windows */
-@@ -101,6 +102,7 @@
- struct aiocb control; /* Posix control block for aio
- request */
- #endif
-+ trx_t* trx;
- };
-
- /* The aio array structure */
-@@ -1903,9 +1905,13 @@
+@@ -1903,9 +1904,13 @@
#ifndef __WIN__
/***********************************************************************
Does a synchronous read operation in Posix. */
@@ -581,7 +564,7 @@
/*==========*/
/* out: number of bytes read, -1 if error */
os_file_t file, /* in: handle to a file */
-@@ -1913,12 +1919,17 @@
+@@ -1913,12 +1918,17 @@
ulint n, /* in: number of bytes to read */
ulint offset, /* in: least significant 32 bits of file
offset from where to read */
@@ -602,12 +585,12 @@
ut_a((offset & 0xFFFFFFFFUL) == offset);
/* If off_t is > 4 bytes in size, then we assume we can pass a
-@@ -1937,7 +1948,13 @@
+@@ -1937,7 +1947,13 @@
}
os_n_file_reads++;
-
-+ if (trx)
++ if (srv_slow_log && trx && trx->take_stats)
+ {
+ trx->io_reads++;
+ trx->io_read += n;
@@ -617,11 +600,11 @@
#if defined(HAVE_PREAD) && !defined(HAVE_BROKEN_PREAD)
os_mutex_enter(os_file_count_mutex);
os_file_n_pending_preads++;
-@@ -1951,6 +1968,13 @@
+@@ -1951,6 +1967,13 @@
os_n_pending_reads--;
os_mutex_exit(os_file_count_mutex);
-+ if (trx)
++ if (srv_slow_log && trx && trx->take_stats && start_time)
+ {
+ ut_usectime(&sec, &ms);
+ finish_time = (ib_longlong)sec * 1000000 + ms;
@@ -631,12 +614,12 @@
return(n_bytes);
#else
{
-@@ -1980,6 +2004,13 @@
+@@ -1980,6 +2003,13 @@
os_mutex_enter(os_file_count_mutex);
os_n_pending_reads--;
os_mutex_exit(os_file_count_mutex);
+
-+ if (trx)
++ if (srv_slow_log && trx && trx->take_stats && start_time)
+ {
+ ut_usectime(&sec, &ms);
+ finish_time = (ib_longlong)sec * 1000000 + ms;
@@ -645,7 +628,7 @@
return(ret);
}
-@@ -2103,7 +2134,7 @@
+@@ -2103,7 +2133,7 @@
Requests a synchronous positioned read operation. */
ibool
@@ -654,7 +637,7 @@
/*=========*/
/* out: TRUE if request was
successful, FALSE if fail */
-@@ -2113,7 +2144,8 @@
+@@ -2113,7 +2143,8 @@
offset where to read */
ulint offset_high, /* in: most significant 32 bits of
offset */
@@ -664,16 +647,6 @@
{
#ifdef __WIN__
BOOL ret;
-@@ -2128,8 +2160,7 @@
-
- os_n_file_reads++;
- os_bytes_read_since_printout += n;
--
--try_again:
-+try_again:
- ut_ad(file);
- ut_ad(buf);
- ut_ad(n > 0);
@@ -2177,7 +2208,7 @@
os_bytes_read_since_printout += n;
@@ -693,15 +666,6 @@
{
os_aio_slot_t* slot;
#ifdef WIN_ASYNC_IO
-@@ -3196,7 +3228,7 @@
- slot->offset = offset;
- slot->offset_high = offset_high;
- slot->io_already_done = FALSE;
--
-+
- #ifdef WIN_ASYNC_IO
- control = &(slot->control);
- control->Offset = (DWORD)offset;
@@ -3390,7 +3422,8 @@
can be used to identify a completed aio
operation); if mode is OS_AIO_SYNC, these
@@ -723,7 +687,7 @@
}
ut_a(type == OS_FILE_WRITE);
-@@ -3463,14 +3496,19 @@
+@@ -3463,8 +3496,13 @@
ut_error;
}
@@ -738,37 +702,19 @@
if (type == OS_FILE_READ) {
if (os_aio_use_native_aio) {
#ifdef WIN_ASYNC_IO
- os_n_file_reads++;
- os_bytes_read_since_printout += len;
--
-+
- ret = ReadFile(file, buf, (DWORD)n, &len,
- &(slot->control));
- #elif defined(POSIX_ASYNC_IO)
-@@ -4038,7 +4076,7 @@
-
- ut_memcpy(consecutive_ios[i]->buf, combined_buf + offs,
- consecutive_ios[i]->len);
-- offs += consecutive_ios[i]->len;
-+ offs += consecutive_ios[i]->len;
- }
- }
-
-@@ -4050,9 +4088,8 @@
-
- /* Mark the i/os done in slots */
+diff -r 25523be1816e innobase/srv/srv0srv.c
+--- a/innobase/srv/srv0srv.c Mon Dec 22 00:25:06 2008 -0800
++++ b/innobase/srv/srv0srv.c Mon Dec 22 00:26:39 2008 -0800
+@@ -47,6 +47,8 @@
+ #include "dict0boot.h"
+ #include "srv0start.h"
+ #include "row0mysql.h"
++
++ibool srv_slow_log = 0;
-- for (i = 0; i < n_consecutive; i++) {
-+ for (i = 0; i < n_consecutive; i++)
- consecutive_ios[i]->io_already_done = TRUE;
-- }
-
- /* We return the messages for the first slot now, and if there were
- several slots, the messages will be returned with subsequent calls
-diff -r bb81fcdd7db2 innobase/srv/srv0srv.c
---- a/innobase/srv/srv0srv.c Mon Sep 08 16:38:33 2008 -0700
-+++ b/innobase/srv/srv0srv.c Mon Sep 08 16:38:46 2008 -0700
-@@ -996,6 +996,10 @@
+ /* This is set to TRUE if the MySQL user has set it in MySQL; currently
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/mysql-microslow_innodb.patch?r1=1.1.2.2&r2=1.1.2.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/mysql-userstatv2.patch?r1=1.1.2.2&r2=1.1.2.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/mysql-show_patches.patch?r1=1.1.2.1&r2=1.1.2.2&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/mysql-split_buf_pool_mutex_fixed_optimistic_safe.patch?r1=1.1.2.1&r2=1.1.2.2&f=u
More information about the pld-cvs-commit
mailing list