diff options
author | Sean Finney <seanius@debian.org> | 2008-06-28 15:11:39 +0200 |
---|---|---|
committer | Sean Finney <seanius@debian.org> | 2008-06-28 15:11:39 +0200 |
commit | 079ca7a046442ce189db1ffd98a6f602f9728413 (patch) | |
tree | 0795ec827e817da782082dac11e2a405158865b8 /patchtracker/DB.py | |
parent | 74fc254a08433f5d61fcc085ef95099d5dadaac9 (diff) | |
download | patch-tracker-079ca7a046442ce189db1ffd98a6f602f9728413.tar.gz |
have a "slightly" more efficient frontpage query
Diffstat (limited to 'patchtracker/DB.py')
-rw-r--r-- | patchtracker/DB.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/patchtracker/DB.py b/patchtracker/DB.py index efa3c8e..4160b90 100644 --- a/patchtracker/DB.py +++ b/patchtracker/DB.py @@ -108,8 +108,21 @@ class PatchTrackerDB: def findLetterToc(self, letter): return self.findCollection(package=letter+"%").getletter(letter) - def findMasterIndex(self): - return self.findCollection(package="%") + def findIndices(self): + indices = [] + cursor = self.db.cursor() + q1 = "SELECT DISTINCT SUBSTR(name,1,1) FROM packages \ + WHERE name NOT LIKE 'lib%'" + q2 = "SELECT DISTINCT SUBSTR(name,1,4) FROM packages \ + WHERE name LIKE 'lib%'" + + for q in [q1, q2]: + cursor.execute(q) + for idx in cursor.fetchall(): + indices.append(idx[0]) + + indices.sort() + return indices def relateSourcePackage(self, name, version, suite, component): q = "INSERT INTO package_rel_map \ |