~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/memory/sql_alloc.h

  • Committer: Stewart Smith
  • Author(s): Vasil Dimov, Stewart Smith
  • Date: 2010-12-20 02:24:00 UTC
  • mto: (2021.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2022.
  • Revision ID: stewart@flamingspork.com-20101220022400-0p9lvvppwgaowdju
Merge Revision revid:vasil.dimov@oracle.com-20101102165720-164z3666y3tut4c2 from MySQL InnoDB

Original revid:vasil.dimov@oracle.com-20101102165720-164z3666y3tut4c2

Original Authors: Vasil Dimov <vasil.dimov@oracle.com>
Original commit message:
Fix Bug#53046 dict_update_statistics_low can still be run concurrently on same table

Replace the array of mutexes that used to protect
dict_index_t::stat_n_diff_key_vals[] with an array of rw locks that protects
all the stats related members in dict_table_t and all of its indexes.

Approved by:    Jimmy (rb://503)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
 
21
 
 
22
20
#ifndef DRIZZLED_MEMORY_SQL_ALLOC_H
23
21
#define DRIZZLED_MEMORY_SQL_ALLOC_H
24
22
 
25
23
#include <unistd.h>
26
 
#include <drizzled/memory/root.h>
27
 
 
28
 
#include <drizzled/visibility.h>
 
24
#include "drizzled/memory/root.h"
29
25
 
30
26
namespace drizzled
31
27
{
41
37
char *sql_strmake(const char *str, size_t len);
42
38
void *sql_memdup(const void * ptr, size_t size);
43
39
 
44
 
class DRIZZLED_API SqlAlloc
 
40
class SqlAlloc
45
41
{
46
42
public:
47
43
  static void *operator new(size_t size);