diff options
author | 2007-11-07 01:12:25 -0800 | |
---|---|---|
committer | 2007-11-07 01:12:25 -0800 | |
commit | d5eb941c7ae7a12e5976ee013f761c096f10c5f4 (patch) | |
tree | 30cdffc5a01c30d46e180b97fdade88edc7ab056 /dbgenerator | |
parent | Add functions to select CP/CPV ids for deletion detection. (diff) | |
download | packages-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.py | 38 |
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) |