31 #include <drizzled/plugin.h>
32 #include <drizzled/statistics_variables.h>
33 #include <drizzled/session.h>
34 #include <drizzled/drizzled.h>
35 #include "status_vars.h"
37 using namespace drizzled;
39 StatusVars::StatusVars()
46 StatusVars::StatusVars(
const StatusVars &status_vars)
50 copySystemStatusVar(status_var_counters, status_vars.status_var_counters);
54 StatusVars::~StatusVars()
56 free(status_var_counters);
63 last_system_status_var) +
sizeof(uint64_t));
65 uint64_t *to= (uint64_t*) to_var;
66 uint64_t *from= (uint64_t*) from_var;
72 to_var->last_query_cost= from_var->last_query_cost;
75 void StatusVars::merge(
StatusVars *status_vars)
79 uint64_t *end= (uint64_t*) ((
unsigned char*) status_var_counters + offsetof(
system_status_var,
80 last_system_status_var) +
sizeof(uint64_t));
82 uint64_t *to= (uint64_t*) status_var_counters;
83 uint64_t *from= (uint64_t*) from_var;
90 sent_row_count+= status_vars->sent_row_count;
93 void StatusVars::reset()
99 void StatusVars::logStatusVar(
Session *session)
101 copySystemStatusVar(status_var_counters, &session->status_var);
105 bool StatusVars::hasBeenFlushed(
Session *session)
110 uint64_t current_bytes_received= current_status_var->bytes_received;
111 uint64_t my_bytes_received= status_var_counters->bytes_received;
112 return current_bytes_received < my_bytes_received;
115 void StatusVars::copyGlobalVariables(
StatusVars *global_status_vars)
118 status_var_counters->aborted_connects= from_var->aborted_connects;
119 status_var_counters->aborted_threads= from_var->aborted_threads;
120 status_var_counters->connection_time= from_var->connection_time;