diff options
author | Rob Austein <sra@hactrn.net> | 2007-09-16 18:15:01 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-09-16 18:15:01 +0000 |
commit | 2019eba07431cbcaf9c5fbe2ae57a07136bc23f5 (patch) | |
tree | ce769a8154f985f40a42e0cee04c0662cf879176 /scripts/rpki/sql.py | |
parent | aa9feac66922993763c85c918dc02a820df8677c (diff) |
Left-right for some trivial objects sort of working
svn path=/scripts/rpki/left_right.py; revision=968
Diffstat (limited to 'scripts/rpki/sql.py')
-rw-r--r-- | scripts/rpki/sql.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/scripts/rpki/sql.py b/scripts/rpki/sql.py index 23c00db8..b066c837 100644 --- a/scripts/rpki/sql.py +++ b/scripts/rpki/sql.py @@ -34,10 +34,10 @@ def cache_clear(): sql_cache = {} -def get_column(db, cur, query): +def get_column(db, cur, *query): """Pull a single column from SQL, return it as a list.""" - cur.execute(query) + cur.execute(*query) return [x[0] for x in cur.fetchall()] @@ -146,5 +146,13 @@ class ca_obj(sql_persistant): sql_template = template("ca", "ca_id", "last_crl_sn", "next_crl_update", "last_issued_sn", "last_manifest_sn", "next_manifest_update", "sia_uri", "parent_id") - def __init__(self): - self.children = [] + def sql_fetch_hook(self, db, cur): + self.children = get_column(db, cur, "SELECT child_id FROM child_ca_link WHERE ca_id = %s", self.ca_id) + + def sql_insert_hook(self, db, cur): + if self.children: + cur.executemany("INSERT child_ca_link (ca_id, child_id) VALUES (%s, %s)", + ((self.ca_id, x.child_id) for x in self.children)) + + def sql_delete_hook(self, db, cur): + cur.execute("DELETE FROM child_ca_link where ca_id = %s", self.ca_id) |