~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/status_helper.cc

  • Committer: Monty Taylor
  • Date: 2010-08-12 20:27:32 UTC
  • mto: (1720.1.5 build)
  • mto: This revision was merged to the branch mainline in revision 1722.
  • Revision ID: mordred@inaugust.com-20100812202732-9kzchbkvkyki4n3u
Merged libdrizzle directly into tree.

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
 *  Copyright (C) 2010 Joseph Daly 
6
6
 *
7
7
 *  This program is free software; you can redistribute it and/or modify
18
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
19
 */
20
20
 
21
 
#include <config.h>
22
 
#include <boost/lexical_cast.hpp>
 
21
#include "config.h"
23
22
#include "status_helper.h"
24
 
#include <drizzled/set_var.h>
25
 
#include <drizzled/drizzled.h>
26
 
#include <plugin/myisam/myisam.h>
27
 
 
28
 
#include <drizzled/refresh_version.h>
 
23
#include "drizzled/set_var.h"
 
24
#include "drizzled/drizzled.h"
 
25
#include "plugin/myisam/myisam.h"
29
26
 
30
27
#include <sstream>
31
28
 
 
29
using namespace drizzled;
32
30
using namespace std;
33
31
 
34
 
namespace drizzled
35
 
{
36
 
 
37
 
extern time_t server_start_time;
38
 
extern time_t flush_status_time;
39
 
 
40
32
static int show_starttime_new(drizzle_show_var *var, char *buff)
41
33
{
42
34
  var->type= SHOW_LONG;
85
77
    value= ((char *) status_var + (ulong) value);
86
78
    /* fall through */
87
79
  case SHOW_LONG:
88
 
    return_value=boost::lexical_cast<std::string>(*(long*) value);
 
80
    oss << *(long*) value;
 
81
    return_value= oss.str();
89
82
    break;
90
83
  case SHOW_LONGLONG_STATUS:
91
84
    value= ((char *) status_var + (uint64_t) value);
92
85
    /* fall through */
93
86
  case SHOW_LONGLONG:
94
 
    return_value=boost::lexical_cast<std::string>(*(int64_t*) value);
 
87
    oss << *(int64_t*) value;
 
88
    return_value= oss.str();
95
89
    break;
96
90
  case SHOW_SIZE:
97
 
    return_value=boost::lexical_cast<std::string>(*(size_t*) value);
 
91
    oss << *(size_t*) value;
 
92
    return_value= oss.str();
98
93
    break;
99
94
  case SHOW_HA_ROWS:
100
 
    return_value=boost::lexical_cast<std::string>((int64_t) *(ha_rows*) value);
 
95
    oss << (int64_t) *(ha_rows*) value;
 
96
    return_value= oss.str();
101
97
    break;
102
98
  case SHOW_BOOL:
103
99
  case SHOW_MY_BOOL:
105
101
    break;
106
102
  case SHOW_INT:
107
103
  case SHOW_INT_NOFLUSH: // the difference lies in refresh_status()
108
 
    return_value=boost::lexical_cast<std::string>((long) *(uint32_t*) value);
 
104
    oss << (long) *(uint32_t*) value;
 
105
    return_value= oss.str();
109
106
    break;
110
107
  case SHOW_CHAR:
111
108
    {
137
134
  {"Aborted_connects",          (char*) offsetof(system_status_var, aborted_connects), SHOW_LONGLONG_STATUS},
138
135
  {"Bytes_received",            (char*) offsetof(system_status_var, bytes_received), SHOW_LONGLONG_STATUS},
139
136
  {"Bytes_sent",                (char*) offsetof(system_status_var, bytes_sent), SHOW_LONGLONG_STATUS},
140
 
  {"Connections",               (char*) &current_global_counters.connections,  SHOW_LONGLONG},
 
137
  {"Connections",               (char*) &global_thread_id, SHOW_INT_NOFLUSH},
141
138
  {"Created_tmp_disk_tables",   (char*) offsetof(system_status_var, created_tmp_disk_tables), SHOW_LONGLONG_STATUS},
142
139
  {"Created_tmp_tables",        (char*) offsetof(system_status_var, created_tmp_tables), SHOW_LONGLONG_STATUS},
143
140
  {"Flush_commands",            (char*) &refresh_version,    SHOW_INT_NOFLUSH},
163
160
  {"Select_range",              (char*) offsetof(system_status_var, select_range_count), SHOW_LONGLONG_STATUS},
164
161
  {"Select_range_check",        (char*) offsetof(system_status_var, select_range_check_count), SHOW_LONGLONG_STATUS},
165
162
  {"Select_scan",               (char*) offsetof(system_status_var, select_scan_count), SHOW_LONGLONG_STATUS},
166
 
  {"Sessions_connected",         (char*) &show_connection_count_cont_new,  SHOW_FUNC},
167
163
  {"Slow_queries",              (char*) offsetof(system_status_var, long_query_count), SHOW_LONGLONG_STATUS},
168
164
  {"Sort_merge_passes",         (char*) offsetof(system_status_var, filesort_merge_passes), SHOW_LONGLONG_STATUS},
169
165
  {"Sort_range",                (char*) offsetof(system_status_var, filesort_range_count), SHOW_LONGLONG_STATUS},
171
167
  {"Sort_scan",                 (char*) offsetof(system_status_var, filesort_scan_count), SHOW_LONGLONG_STATUS},
172
168
  {"Table_locks_immediate",     (char*) &current_global_counters.locks_immediate,        SHOW_LONGLONG},
173
169
  {"Table_locks_waited",        (char*) &current_global_counters.locks_waited,           SHOW_LONGLONG},
 
170
  {"Threads_connected",         (char*) &show_connection_count_cont_new,  SHOW_FUNC},
174
171
  {"Uptime",                    (char*) &show_starttime_cont_new,         SHOW_FUNC},
175
172
  {"Uptime_since_flush_status", (char*) &show_flushstatustime_cont_new,   SHOW_FUNC},
176
173
  {NULL, NULL, SHOW_LONGLONG}
177
174
};
178
 
 
179
 
} /* namespace drizzled */