~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/get_system_var.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
21
21
#define DRIZZLED_FUNCTION_GET_SYSTEM_VAR_H
22
22
 
23
23
#include <drizzled/function/func.h>
24
 
#include <drizzled/lex_string.h>
25
24
 
26
25
namespace drizzled
27
26
{
28
27
 
29
 
class sys_var;
30
 
 
31
28
Item *get_system_var(Session *session, sql_var_t var_type, LEX_STRING name,
32
29
                     LEX_STRING component);
33
30
 
38
35
  sys_var *var;
39
36
  sql_var_t var_type;
40
37
  LEX_STRING component;
41
 
 
42
38
public:
43
39
  Item_func_get_system_var(sys_var *var_arg, sql_var_t var_type_arg,
44
40
                           LEX_STRING *component_arg, const char *name_arg,