~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/system_variables.h

Merge Revision revid:marko.makela@oracle.com-20100601140355-u3kxl0yl0ljl5tx9 from MySQL InnoDB

Original revid:marko.makela@oracle.com-20100601140355-u3kxl0yl0ljl5tx9

Original Authors: Marko Mäkelä <marko.makela@oracle.com>
Original commit message:
Merge a change from mysql-5.1-innodb:

  ------------------------------------------------------------
  revno: 3491
  revision-id: marko.makela@oracle.com-20100601134335-ccthwwru23kn09qw
  parent: marko.makela@oracle.com-20100601120751-1uq7bbta5n7ts0qr
  committer: Marko Mäkelä <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Tue 2010-06-01 16:43:35 +0300
  message:
    Bug#48197: Concurrent rw_lock_free may cause assertion failure

    rw_lock_t: Remove magic_n unless UNIV_DEBUG is defined.
    rw_lock_free(): Invalidate magic_n only after removing from rw_lock_list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 
 *
4
 
 *  Copyright (C) 2011 Brian Aker
5
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
6
 
 *
7
 
 *  This program is free software; you can redistribute it and/or modify
8
 
 *  it under the terms of the GNU General Public License as published by
9
 
 *  the Free Software Foundation; version 2 of the License.
10
 
 *
11
 
 *  This program is distributed in the hope that it will be useful,
12
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 
 *  GNU General Public License for more details.
15
 
 *
16
 
 *  You should have received a copy of the GNU General Public License
17
 
 *  along with this program; if not, write to the Free Software
18
 
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
 
 */
20
 
 
21
 
#ifndef DRIZZLED_SYSTEM_VARIABLES_H
22
 
#define DRIZZLED_SYSTEM_VARIABLES_H
23
 
 
24
 
namespace drizzled
25
 
{
26
 
 
27
 
struct drizzle_system_variables
28
 
{
29
 
  drizzle_system_variables()
30
 
  {}
31
 
  /*
32
 
    How dynamically allocated system variables are handled:
33
 
 
34
 
    The global_system_variables and max_system_variables are "authoritative"
35
 
    They both should have the same 'version' and 'size'.
36
 
    When attempting to access a dynamic variable, if the session version
37
 
    is out of date, then the session version is updated and realloced if
38
 
    neccessary and bytes copied from global to make up for missing data.
39
 
  */
40
 
  ulong dynamic_variables_version;
41
 
  char * dynamic_variables_ptr;
42
 
  uint32_t dynamic_variables_head;  /* largest valid variable offset */
43
 
  uint32_t dynamic_variables_size;  /* how many bytes are in use */
44
 
 
45
 
  uint64_t myisam_max_extra_sort_file_size;
46
 
  uint64_t max_heap_table_size;
47
 
  uint64_t tmp_table_size;
48
 
  ha_rows select_limit;
49
 
  ha_rows max_join_size;
50
 
  uint64_t auto_increment_increment;
51
 
  uint64_t auto_increment_offset;
52
 
  uint64_t bulk_insert_buff_size;
53
 
  uint64_t join_buff_size;
54
 
  uint32_t max_allowed_packet;
55
 
  uint64_t max_error_count;
56
 
  uint64_t max_length_for_sort_data;
57
 
  size_t max_sort_length;
58
 
  uint64_t min_examined_row_limit;
59
 
  bool optimizer_prune_level;
60
 
  bool log_warnings;
61
 
 
62
 
  uint32_t optimizer_search_depth;
63
 
  uint32_t div_precincrement;
64
 
  uint64_t preload_buff_size;
65
 
  uint32_t read_buff_size;
66
 
  uint32_t read_rnd_buff_size;
67
 
  bool replicate_query;
68
 
  size_t sortbuff_size;
69
 
  uint32_t thread_handling;
70
 
  uint32_t tx_isolation;
71
 
  uint32_t completion_type;
72
 
  /* Determines which non-standard SQL behaviour should be enabled */
73
 
  uint32_t sql_mode;
74
 
  uint64_t max_seeks_for_key;
75
 
  size_t range_alloc_block_size;
76
 
  uint32_t query_alloc_block_size;
77
 
  uint32_t query_prealloc_size;
78
 
  uint64_t group_concat_max_len;
79
 
  uint64_t pseudo_thread_id;
80
 
 
81
 
  plugin::StorageEngine *storage_engine;
82
 
 
83
 
  /* Only charset part of these variables is sensible */
84
 
  const CHARSET_INFO  *character_set_filesystem;
85
 
 
86
 
  /* Both charset and collation parts of these variables are important */
87
 
  const CHARSET_INFO    *collation_server;
88
 
 
89
 
  inline const CHARSET_INFO  *getCollation(void) 
90
 
  {
91
 
    return collation_server;
92
 
  }
93
 
 
94
 
  /* Locale Support */
95
 
  MY_LOCALE *lc_time_names;
96
 
 
97
 
  Time_zone *time_zone;
98
 
};
99
 
 
100
 
 
101
 
} /* namespace drizzled */
102
 
 
103
 
#endif /* DRIZZLED_SYSTEM_VARIABLES_H */