summaryrefslogtreecommitdiff
path: root/base/stats
diff options
context:
space:
mode:
Diffstat (limited to 'base/stats')
-rw-r--r--base/stats/events.cc12
-rw-r--r--base/stats/mysql.cc10
2 files changed, 16 insertions, 6 deletions
diff --git a/base/stats/events.cc b/base/stats/events.cc
index 3a858611f..b579981e9 100644
--- a/base/stats/events.cc
+++ b/base/stats/events.cc
@@ -66,11 +66,12 @@ __event(const string &stat)
stat));
MySQL::Result result = mysql.store_result();
- if (result) {
- assert(result.num_fields() == 1);
- MySQL::Row row = result.fetch_row();
- if (!row)
- panic("could not get a run\n%s\n", mysql.error);
+ if (!result)
+ panic("could not get a run\n%s\n", mysql.error);
+
+ assert(result.num_fields() == 1);
+ MySQL::Row row = result.fetch_row();
+ if (row) {
if (!to_number(row[0], event))
panic("invalid event id: %s\n", row[0]);
} else {
@@ -85,7 +86,6 @@ __event(const string &stat)
event = mysql.insert_id();
}
-
} else {
event = (*i).second;
}
diff --git a/base/stats/mysql.cc b/base/stats/mysql.cc
index 05808c211..77366beb0 100644
--- a/base/stats/mysql.cc
+++ b/base/stats/mysql.cc
@@ -134,6 +134,16 @@ MySqlRun::cleanup()
"FROM bins "
"LEFT JOIN data ON bn_id=dt_bin "
"WHERE dt_bin IS NULL");
+
+ mysql.query("DELETE events"
+ "FROM events"
+ "LEFT JOIN runs ON ev_run=rn_id"
+ "WHERE rn_id IS NULL");
+
+ mysql.query("DELETE event_names"
+ "FROM event_names"
+ "LEFT JOIN events ON en_id=ev_event"
+ "WHERE ev_event IS NULL");
}
void