aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2007-11-07 01:12:25 -0800
committerRobin H. Johnson <robbat2@gentoo.org>2007-11-07 01:12:25 -0800
commitd5eb941c7ae7a12e5976ee013f761c096f10c5f4 (patch)
tree30cdffc5a01c30d46e180b97fdade88edc7ab056 /dbgenerator
parentAdd functions to select CP/CPV ids for deletion detection. (diff)
downloadpackages-3-d5eb941c7ae7a12e5976ee013f761c096f10c5f4.tar.gz
packages-3-d5eb941c7ae7a12e5976ee013f761c096f10c5f4.tar.bz2
packages-3-d5eb941c7ae7a12e5976ee013f761c096f10c5f4.zip
Provide DELETE functions for database cleanups.
Diffstat (limited to 'dbgenerator')
-rw-r--r--dbgenerator/database.py38
1 files changed, 34 insertions, 4 deletions
diff --git a/dbgenerator/database.py b/dbgenerator/database.py
index 0ce8a65..a046bac 100644
--- a/dbgenerator/database.py
+++ b/dbgenerator/database.py
@@ -149,11 +149,39 @@ class SQLPackageDatabase(object):
sql = '%s %s' % (self.sql['DROP_TABLE'], table)
self.cursor.execute(sql)
self.db.commit()
+
+ sql['DELETE_packages'] = """
+ DELETE FROM packages
+ WHERE cp = ?
+ """
+ def del_packages(self, cpi):
+ sql = self.sql['DELETE_packages']
+ self.cursor.execute(sql, (cpi, ))
+
+ sql['DELETE_versions'] = """
+ DELETE FROM versions
+ WHERE cpv = ?
+ """
+ def del_versions(self, cpvi):
+ sql = self.sql['DELETE_versions']
+ self.cursor.execute(sql, (cpvi, ))
+
+ sql['DELETE_verbumps'] = """
+ DELETE FROM verbumps
+ WHERE cpv = ?
+ """
+ def del_verbumps(self, cpvi):
+ sql = self.sql['DELETE_verbumps']
+ self.cursor.execute(sql, (cpvi, ))
sql['DELETE_keywords'] = """
DELETE FROM keywords
WHERE cpv = ?
"""
+ def del_keywords(self, cpvi):
+ sql = self.sql['DELETE_keywords']
+ self.cursor.execute(sql, (cpvi, ))
+
sql['INSERT_keywords'] = """
INSERT INTO keywords
(cpv, a, mode)
@@ -170,8 +198,7 @@ class SQLPackageDatabase(object):
else:
# discard mtime and sha1
(cpv, dummy, dummy) = cpv
- sql1 = self.sql['DELETE_keywords']
- self.cursor.execute(sql1, (cpv, ))
+ self.del_keywords(cpv)
sql2 = self.sql['INSERT_keywords']
for arch in keyword_dict.keys():
if arch is "*":
@@ -188,6 +215,10 @@ class SQLPackageDatabase(object):
DELETE FROM metadata
WHERE cp = ?
"""
+ def del_metadata(self, cpi):
+ sql = self.sql['DELETE_metadata']
+ self.cursor.execute(sql, (cpi, ))
+
sql['INSERT_metadata'] = """
INSERT INTO metadata
(cp, homepage, description, license,
@@ -204,8 +235,7 @@ class SQLPackageDatabase(object):
msg = 'CP for %s/%s does not exist' \
% (category, pn)
raise DBStateError(msg)
- sql = self.sql['DELETE_metadata']
- self.cursor.execute(sql, (cp, ))
+ self.del_metadata(cp)
sql = self.sql['INSERT_metadata']
params = (cp, homepage, description, str(pkglicense),
changelog, changelog_mtime, changelog_sha1)