From 079ca7a046442ce189db1ffd98a6f602f9728413 Mon Sep 17 00:00:00 2001 From: Sean Finney Date: Sat, 28 Jun 2008 15:11:39 +0200 Subject: have a "slightly" more efficient frontpage query --- patchtracker/DB.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'patchtracker/DB.py') 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 \ -- cgit v1.2.3