aboutsummaryrefslogtreecommitdiff
path: root/scripts/rpki/sql.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-09-16 18:15:01 +0000
committerRob Austein <sra@hactrn.net>2007-09-16 18:15:01 +0000
commit2019eba07431cbcaf9c5fbe2ae57a07136bc23f5 (patch)
treece769a8154f985f40a42e0cee04c0662cf879176 /scripts/rpki/sql.py
parentaa9feac66922993763c85c918dc02a820df8677c (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.py16
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)