summaryrefslogtreecommitdiff
path: root/storage/xtradb/read
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-07-16 19:30:39 +0200
committerSergei Golubchik <sergii@pisem.net>2013-07-16 19:30:39 +0200
commita5b534a08e5c666da6f1e909e24e40f5d6d626c0 (patch)
tree401798af6dda2e1952d57c5f91296348bd10293e /storage/xtradb/read
parent005c7e54214546584c8dc67a746e215f8dbe4b58 (diff)
parent6bd24f07d4357d32a4bc7208654dc8bd0df30b76 (diff)
downloadmariadb-git-a5b534a08e5c666da6f1e909e24e40f5d6d626c0.tar.gz
merge Percona-Server-5.5.32-rel31.0.tar.gz
Diffstat (limited to 'storage/xtradb/read')
-rw-r--r--storage/xtradb/read/read0read.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/storage/xtradb/read/read0read.c b/storage/xtradb/read/read0read.c
index c04dae51ff5..3380d1bb4ba 100644
--- a/storage/xtradb/read/read0read.c
+++ b/storage/xtradb/read/read0read.c
@@ -150,6 +150,7 @@ read_view_create_low(
{
if (view == NULL) {
view = ut_malloc(sizeof(read_view_t));
+ srv_read_views_memory += sizeof(read_view_t);
view->max_descr = 0;
view->descriptors = NULL;
}
@@ -159,6 +160,8 @@ read_view_create_low(
/* avoid frequent re-allocations by extending the array to the
desired size + 10% */
+ srv_read_views_memory += (n + n / 10 - view->max_descr) *
+ sizeof(trx_id_t);
view->max_descr = n + n / 10;
view->descriptors = ut_realloc(view->descriptors,
view->max_descr *
@@ -370,6 +373,9 @@ read_view_free(
{
ut_ad(mutex_own(&kernel_mutex));
+ srv_read_views_memory -= sizeof(read_view_t) +
+ view->max_descr * sizeof(trx_id_t);
+
if (view->descriptors != NULL) {
ut_free(view->descriptors);
}