From d3b1f6043992052d87c0d1fd04fff3c376b74329 Mon Sep 17 00:00:00 2001 From: randomdan Date: Fri, 13 Aug 2010 01:16:02 +0000 Subject: Import and deal with the existance of changelogs --- gentoobrowse/console/packagefileimport.xml | 34 +++++++++++++++++---------- gentoobrowse/console/packageimport.xml | 37 +++++++++++++++++++----------- gentoobrowse/views/newebuilds.xml | 13 +++++++++-- gentoobrowse/views/newebuildsatom.xml | 1 + 4 files changed, 57 insertions(+), 28 deletions(-) diff --git a/gentoobrowse/console/packagefileimport.xml b/gentoobrowse/console/packagefileimport.xml index 45a41a8..422655f 100644 --- a/gentoobrowse/console/packagefileimport.xml +++ b/gentoobrowse/console/packagefileimport.xml @@ -4,16 +4,25 @@ - - - filename - moddate - - + + + SELECT filetypeid, searchroot, LENGTH(searchroot) + 1 || '-' AS rootlen, searchspec + FROM filetypes + ORDER BY filetypeid DESC + + + + filetypeid + filename + moddate + + + filename moddate + filetypeid @@ -21,12 +30,13 @@ updatewhere="*a.fileid IN (SELECT o.fileid FROM files o WHERE o.cachedat IS NULL OR o.cachedat != o.moddate)"> - SELECT fileid, '/usr/portage/metadata/cache/' || filename AS filename - FROM files - WHERE cachedat IS NULL OR cachedat != moddate - ORDER BY fileid + SELECT f.fileid, ft.searchroot || f.filename AS filename, f.cachedat, f.moddate + FROM files f, filetypes ft + WHERE (f.cachedat IS NULL OR f.cachedat != f.moddate) + AND f.filetypeid = ft.filetypeid + ORDER BY f.fileid; - fileid diff --git a/gentoobrowse/console/packageimport.xml b/gentoobrowse/console/packageimport.xml index 6f8d39d..82ab447 100644 --- a/gentoobrowse/console/packageimport.xml +++ b/gentoobrowse/console/packageimport.xml @@ -4,7 +4,7 @@ - SELECT DISTINCT (REGEXP_MATCHES(filename, '^[^/]+'))[1] AS name FROM files + SELECT DISTINCT (REGEXP_MATCHES(filename, '^[^/]+'))[1] AS name FROM files WHERE filetypeid = 1 name @@ -36,7 +36,8 @@ (REGEXP_MATCHES(filename, '^[^/]+'))[1] AS cat, (REGEXP_MATCHES(filename, '/(.+)-[0-9]'))[1] AS name, (REGEXP_MATCHES(filename, '/.+-([0-9].*)$'))[1] AS version - FROM files f) f, categories c, packages p + FROM files f + WHERE filetypeid = 1) f, categories c, packages p WHERE f.cat = c.name AND c.categoryid = p.categoryid AND p.name = f.name @@ -51,9 +52,11 @@ - SELECT DISTINCT f.fileid AS ebuildid, REGEXP_SPLIT_TO_TABLE(f.content, ' ') AS arch - FROM filecache f - WHERE f.line = 9 + SELECT DISTINCT f.fileid AS ebuildid, REGEXP_SPLIT_TO_TABLE(fc.content, ' ') AS arch + FROM filecache fc, files f + WHERE fc.line = 9 + AND fc.fileid = f.fileid + AND filetypeid = 1 ebuildid @@ -63,9 +66,11 @@ - SELECT DISTINCT f.fileid AS ebuildid, REGEXP_SPLIT_TO_TABLE(f.content, ' ') AS use - FROM filecache f - WHERE f.line = 11 + SELECT DISTINCT fc.fileid AS ebuildid, REGEXP_SPLIT_TO_TABLE(fc.content, ' ') AS use + FROM filecache fc, files f + WHERE fc.line = 11 + AND fc.fileid = f.fileid + AND filetypeid = 1 ebuildid @@ -75,10 +80,12 @@ - SELECT DISTINCT e.packageid, REGEXP_SPLIT_TO_TABLE(f.content, ' ') AS url - FROM filecache f, ebuilds e - WHERE f.line = 6 - AND f.fileid = e.ebuildid + SELECT DISTINCT e.packageid, REGEXP_SPLIT_TO_TABLE(fc.content, ' ') AS url + FROM filecache fc, ebuilds e, files f + WHERE fc.line = 6 + AND fc.fileid = e.ebuildid + AND fc.fileid = f.fileid + AND filetypeid = 1 packageid @@ -97,9 +104,11 @@ SELECT fileid, REGEXP_MATCHES(dep, '([^a-z0-9]*)([a-z0-9-]+)/([a-z0-9-]+?)(-([0-9][^:]*))?(:([0-9.]+))?(\\[([^]]+)\\])?') as field FROM ( - SELECT f.fileid, REGEXP_SPLIT_TO_TABLE(f.content, ' ') AS dep - FROM filecache f + SELECT fc.fileid, REGEXP_SPLIT_TO_TABLE(fc.content, ' ') AS dep + FROM filecache fc, files f WHERE line = 1 + AND fc.fileid = f.fileid + AND filetypeid = 1 ) src ) AS src2 ) AS src3, categories c, packages p diff --git a/gentoobrowse/views/newebuilds.xml b/gentoobrowse/views/newebuilds.xml index a95fa3c..8f1b544 100644 --- a/gentoobrowse/views/newebuilds.xml +++ b/gentoobrowse/views/newebuilds.xml @@ -11,7 +11,12 @@ WHERE e.ebuildid = f.fileid AND e.packageid = p.packageid AND p.categoryid = c.categoryid - AND f.firstseen IN (SELECT DISTINCT f.firstseen FROM files f ORDER BY f.firstseen DESC LIMIT 3) + AND f.firstseen IN ( + SELECT DISTINCT f.firstseen + FROM files f + WHERE f.filetypeid = 1 + ORDER BY f.firstseen + DESC LIMIT 3) ORDER BY tracked DESC, c.name, p.name, e.versioninst @@ -20,7 +25,11 @@ - SELECT DISTINCT f.firstseen AS synctime FROM files f ORDER BY f.firstseen DESC LIMIT 3 + SELECT DISTINCT f.firstseen AS synctime + FROM files f + WHERE filetypeid = 1 + ORDER BY f.firstseen + DESC LIMIT 3 diff --git a/gentoobrowse/views/newebuildsatom.xml b/gentoobrowse/views/newebuildsatom.xml index fba9e2b..93ae207 100644 --- a/gentoobrowse/views/newebuildsatom.xml +++ b/gentoobrowse/views/newebuildsatom.xml @@ -12,6 +12,7 @@ AND u.username = ? AND up.packageid = p.packageid AND f.firstseen >= up.trackedsince + AND f.filetypeid = 1 ORDER BY f.firstseen DESC, c.name, p.name, e.versioninst LIMIT 50 -- cgit v1.2.3