~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/logging_stats/user_commands.cc

  • Committer: Brian Aker
  • Date: 2010-05-15 01:19:45 UTC
  • Revision ID: brian@gaz-20100515011945-uxhf94vi0tzm0vq6
Rename of KEY to KeyInfo

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
 
30
30
#include "user_commands.h"
31
31
 
 
32
using namespace drizzled;
 
33
using namespace std;
 
34
 
 
35
const char* UserCommands::USER_COUNTS[] =
 
36
{
 
37
  "COUNT_SELECT",
 
38
  "COUNT_DELETE",
 
39
  "COUNT_UPDATE",
 
40
  "COUNT_INSERT",
 
41
  "COUNT_ROLLBACK",
 
42
  "COUNT_COMMIT",
 
43
  "COUNT_CREATE",
 
44
  "COUNT_ALTER",
 
45
  "COUNT_DROP",
 
46
  "COUNT_ADMIN"
 
47
};
 
48
 
 
49
const char* UserCommands::COM_STATUS_VARS[] =
 
50
{
 
51
  "select",
 
52
  "create_table",
 
53
  "create_index",
 
54
  "alter_table",
 
55
  "update",
 
56
  "insert",
 
57
  "insert_select",
 
58
  "delete",
 
59
  "truncate",
 
60
  "drop_table",
 
61
  "drop_index",
 
62
  "show_create",
 
63
  "show_create_db",
 
64
  "load",
 
65
  "set_option",
 
66
  "unlock_tables",
 
67
  "change_db",
 
68
  "create_db",
 
69
  "drop_db",
 
70
  "alter_db",
 
71
  "replace",
 
72
  "replace_select",
 
73
  "check",
 
74
  "flush",
 
75
  "kill",
 
76
  "analyze",
 
77
  "rollback",
 
78
  "rollback_to_savepoint",
 
79
  "commit",
 
80
  "savepoint",
 
81
  "release_savepoint",
 
82
  "begin",
 
83
  "rename_table",
 
84
  "show_warns",
 
85
  "empty_query",
 
86
  "show_errors",
 
87
  "checksum"
 
88
};
 
89
 
32
90
UserCommands::UserCommands()
33
 
    :
34
 
      update_count(0),
35
 
      delete_count(0),
36
 
      insert_count(0),
37
 
      select_count(0),
38
 
      rollback_count(0),
39
 
      commit_count(0),
40
 
      create_count(0),
41
 
      alter_count(0),
42
 
      drop_count(0),
43
 
      admin_count(0)
44
 
{}
 
91
{
 
92
  init();
 
93
}
 
94
 
 
95
void UserCommands::init()
 
96
{
 
97
  vector<uint64_t>::iterator it= vector_of_command_counts.begin();
 
98
  for (int j=0; j < SQLCOM_END; ++j)
 
99
  {
 
100
    it=  vector_of_command_counts.insert(it, 0);
 
101
  }
 
102
  vector_of_command_counts.resize(SQLCOM_END);
 
103
}
 
104
 
 
105
void UserCommands::incrementCount(uint32_t index, uint32_t i)
 
106
{
 
107
  uint64_t *count= &(vector_of_command_counts.at(index));
 
108
  *count= *count + i;
 
109
}
 
110
 
 
111
uint64_t UserCommands::getCount(uint32_t index)
 
112
{
 
113
  uint64_t *count= &(vector_of_command_counts.at(index));
 
114
  return *count;
 
115
}
 
116
 
 
117
uint64_t UserCommands::getUserCount(uint32_t index)
 
118
{
 
119
  switch (index)
 
120
  {
 
121
    case COUNT_SELECT:
 
122
      return getCount(SQLCOM_SELECT);
 
123
    case COUNT_DELETE:
 
124
      return getCount(SQLCOM_DELETE);
 
125
    case COUNT_UPDATE:
 
126
      return getCount(SQLCOM_UPDATE);
 
127
    case COUNT_INSERT:
 
128
      return getCount(SQLCOM_INSERT);
 
129
    case COUNT_ROLLBACK:
 
130
      return getCount(SQLCOM_ROLLBACK);
 
131
    case COUNT_COMMIT:
 
132
      return getCount(SQLCOM_COMMIT);
 
133
    case COUNT_CREATE:
 
134
      return getCount(SQLCOM_CREATE_TABLE);
 
135
    case COUNT_ALTER:
 
136
      return getCount(SQLCOM_ALTER_TABLE);
 
137
    case COUNT_DROP:
 
138
      return getCount(SQLCOM_DROP_TABLE);
 
139
    default:
 
140
      return 0;
 
141
  }
 
142
}
45
143
 
46
144
void UserCommands::reset()
47
145
{
48
 
  update_count= 0;
49
 
  delete_count= 0;
50
 
  insert_count= 0;
51
 
  select_count= 0;
52
 
  rollback_count= 0;
53
 
  commit_count= 0;
54
 
  create_count= 0;
55
 
  alter_count= 0;
56
 
  drop_count= 0;
57
 
  admin_count= 0;
58
 
}
59
 
 
60
 
uint64_t UserCommands::getSelectCount()
61
 
{
62
 
  return select_count;
63
 
}
64
 
 
65
 
void UserCommands::incrementSelectCount(int i)
66
 
{
67
 
  select_count= select_count + i;
68
 
}
69
 
 
70
 
uint64_t UserCommands::getUpdateCount()
71
 
{
72
 
  return update_count;
73
 
}
74
 
 
75
 
void UserCommands::incrementUpdateCount(int i)
76
 
{
77
 
  update_count= update_count + i;
78
 
}
79
 
 
80
 
uint64_t UserCommands::getDeleteCount()
81
 
{
82
 
  return delete_count;
83
 
}
84
 
 
85
 
void UserCommands::incrementDeleteCount(int i)
86
 
{
87
 
  delete_count= delete_count + i;
88
 
}
89
 
 
90
 
uint64_t UserCommands::getInsertCount()
91
 
{
92
 
  return insert_count;
93
 
}
94
 
 
95
 
void UserCommands::incrementInsertCount(int i)
96
 
{
97
 
  insert_count= insert_count + i;
98
 
}
99
 
 
100
 
uint64_t UserCommands::getRollbackCount()
101
 
{
102
 
  return rollback_count;
103
 
}
104
 
 
105
 
void UserCommands::incrementRollbackCount(int i)
106
 
{
107
 
  rollback_count= rollback_count + i;
108
 
}
109
 
 
110
 
uint64_t UserCommands::getCommitCount()
111
 
{
112
 
  return commit_count;
113
 
}
114
 
 
115
 
void UserCommands::incrementCommitCount(int i)
116
 
{
117
 
  commit_count= commit_count + i;
118
 
}
119
 
 
120
 
uint64_t UserCommands::getCreateCount()
121
 
{
122
 
  return create_count;
123
 
}
124
 
 
125
 
void UserCommands::incrementCreateCount(int i)
126
 
{
127
 
  create_count= create_count + i;
128
 
}
129
 
 
130
 
uint64_t UserCommands::getAlterCount()
131
 
{
132
 
  return alter_count;
133
 
}
134
 
 
135
 
void UserCommands::incrementAlterCount(int i)
136
 
{
137
 
  alter_count= alter_count + i;
138
 
}
139
 
 
140
 
uint64_t UserCommands::getDropCount()
141
 
{
142
 
  return drop_count;
143
 
}
144
 
 
145
 
void UserCommands::incrementDropCount(int i)
146
 
{
147
 
  drop_count= drop_count + i;
148
 
}
149
 
 
150
 
uint64_t UserCommands::getAdminCount()
151
 
{
152
 
  return admin_count;
153
 
}
154
 
 
155
 
void UserCommands::incrementAdminCount(int i)
156
 
{
157
 
  admin_count= admin_count + i;
 
146
  for (uint32_t j= 0; j < SQLCOM_END; ++j)
 
147
  {
 
148
    uint64_t *count= &(vector_of_command_counts.at(j));
 
149
    *count= 0;
 
150
  }
 
151
}
 
152
 
 
153
UserCommands::UserCommands(const UserCommands &user_commands)
 
154
{
 
155
  init();
 
156
 
 
157
  for (uint32_t j= 0; j < SQLCOM_END; ++j)
 
158
  {
 
159
    uint64_t *my_count= &(vector_of_command_counts.at(j));
 
160
    uint64_t other_count= user_commands.vector_of_command_counts.at(j);
 
161
    *my_count= other_count;
 
162
  }
 
163
}
 
164
 
 
165
void UserCommands::merge(UserCommands *user_commands)
 
166
{
 
167
  for (uint32_t j= 0; j < SQLCOM_END; ++j)
 
168
  {
 
169
    uint64_t *my_count= &(vector_of_command_counts.at(j));
 
170
    uint64_t other_count= user_commands->vector_of_command_counts.at(j);
 
171
    *my_count= *my_count + other_count;
 
172
  }
 
173
}
 
174
 
 
175
void UserCommands::logCommand(enum_sql_command sql_command)
 
176
{
 
177
  if (sql_command < SQLCOM_END)
 
178
  {
 
179
    incrementCount(sql_command);
 
180
  }
158
181
}