Skip to content
Snippets Groups Projects
Commit 980aa037 authored by Alex Wiens's avatar Alex Wiens
Browse files

Prule.db: Fix bugs

parent 942a2909
Branches
No related tags found
No related merge requests found
...@@ -7,6 +7,7 @@ import sqlite3 ...@@ -7,6 +7,7 @@ import sqlite3
class ResultsDB: class ResultsDB:
def __init__(self, path): def __init__(self, path):
self.path = path
self.con = sqlite3.connect(path) self.con = sqlite3.connect(path)
self.rule_dict = None self.rule_dict = None
def close(self): def close(self):
...@@ -121,6 +122,7 @@ rulename TEXT ...@@ -121,6 +122,7 @@ rulename TEXT
res = cur.execute('SELECT DISTINCT cluster from jobs;') res = cur.execute('SELECT DISTINCT cluster from jobs;')
clusters = [] clusters = []
for c in res.fetchall(): for c in res.fetchall():
if c[0] != None:
clusters.append(c[0]) clusters.append(c[0])
return clusters return clusters
...@@ -132,6 +134,7 @@ rulename TEXT ...@@ -132,6 +134,7 @@ rulename TEXT
res = cur.execute('SELECT DISTINCT user FROM jobs WHERE cluster = ?;', [cluster]) res = cur.execute('SELECT DISTINCT user FROM jobs WHERE cluster = ?;', [cluster])
users = [] users = []
for u in res.fetchall(): for u in res.fetchall():
if u[0] != None:
users.append(u[0]) users.append(u[0])
return users return users
...@@ -143,6 +146,7 @@ rulename TEXT ...@@ -143,6 +146,7 @@ rulename TEXT
res = cur.execute('SELECT DISTINCT project FROM jobs WHERE cluster = ?;', [cluster]) res = cur.execute('SELECT DISTINCT project FROM jobs WHERE cluster = ?;', [cluster])
projects = [] projects = []
for p in res.fetchall(): for p in res.fetchall():
if p[0] != None:
projects.append(p[0]) projects.append(p[0])
return projects return projects
...@@ -150,19 +154,19 @@ rulename TEXT ...@@ -150,19 +154,19 @@ rulename TEXT
cur = self.con.cursor() cur = self.con.cursor()
cur.execute("SELECT * FROM jobs WHERE ccid = ?", [ccid]) cur.execute("SELECT * FROM jobs WHERE ccid = ?", [ccid])
res = cur.fetchall() res = cur.fetchall()
return res return self.db_rows_to_dicts(res, 'jobs')
def db_get_result_slurm(self, slurmid, cluster): def db_get_result_slurm(self, slurmid, cluster):
cur = self.con.cursor() cur = self.con.cursor()
cur.execute("SELECT * FROM jobs WHERE jobid = ? AND cluster = ?", [slurmid, cluster]) cur.execute("SELECT * FROM jobs WHERE jobid = ? AND cluster = ?", [slurmid, cluster])
res = cur.fetchall() res = cur.fetchall()
return res return self.db_rows_to_dicts(res, 'jobs')
def db_get_all_results(self): def db_get_all_results(self):
cur = self.con.cursor() cur = self.con.cursor()
cur.execute("SELECT * FROM jobs") cur.execute("SELECT * FROM jobs")
res = cur.fetchall() res = cur.fetchall()
return res return self.db_rows_to_dicts(res, 'jobs')
def db_insert_failure(self, ccjobid): def db_insert_failure(self, ccjobid):
res = self.db_get_result(ccjobid) res = self.db_get_result(ccjobid)
...@@ -288,12 +292,17 @@ rulename TEXT ...@@ -288,12 +292,17 @@ rulename TEXT
res = cur.fetchall() res = cur.fetchall()
return self.db_rows_to_dicts(res, 'jobs') return self.db_rows_to_dicts(res, 'jobs')
def __db_last_result(self): def db_last_result(self):
cur = self.con.cursor() cur = self.con.cursor()
cur.execute("SELECT * FROM jobs ORDER BY rowid DESC LIMIT 1;") cur.execute("SELECT * FROM jobs ORDER BY rowid DESC LIMIT 1;")
res = cur.fetchall() res = cur.fetchall()
return self.db_rows_to_dicts(res, 'jobs') return self.db_rows_to_dicts(res, 'jobs')
def db_first_result(self):
cur = self.con.cursor()
cur.execute("SELECT * FROM jobs ORDER BY rowid ASC LIMIT 1;")
res = cur.fetchall()
return self.db_rows_to_dicts(res, 'jobs')
def db_rule_stats(self, cluster): def db_rule_stats(self, cluster):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment