From f7fca553be18c073ed455fee98a79ebd4765b239 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 5 Feb 2017 15:45:28 +0000 Subject: Handle the case when a use flag looks like it belongs in a group, but isn't defined in that group --- gentoobrowse-api/service/sql/portage/getPackageUses.sql | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gentoobrowse-api/service/sql/portage/getPackageUses.sql b/gentoobrowse-api/service/sql/portage/getPackageUses.sql index 0b06b20..9c61bcd 100644 --- a/gentoobrowse-api/service/sql/portage/getPackageUses.sql +++ b/gentoobrowse-api/service/sql/portage/getPackageUses.sql @@ -1,4 +1,6 @@ -SELECT SUBSTRING(COALESCE(ugg.use, eu.use), 1, 1) = '+' isdefault, ul.packageid, ugs.name AS group, LTRIM(COALESCE(ugg.use, eu.use), '+') AS use, +SELECT SUBSTRING(COALESCE(ugg.use, eu.use), 1, 1) = '+' isdefault, ul.packageid, + CASE WHEN ugg.usegroupid IS NOT NULL THEN ugs.name END AS group, + LTRIM(COALESCE(ugg.use, eu.use), '+') AS use, COALESCE(ul.description, ugg.description, ug.description) description FROM gentoobrowse.ebuilds e JOIN gentoobrowse.ebuild_uses eu @@ -9,10 +11,10 @@ FROM gentoobrowse.ebuilds e ON LTRIM(eu.use, '+') = ul.use AND ul.packageid = e.packageid LEFT OUTER JOIN gentoobrowse.use_groups ugs - ON eu.use like ugs.name || '\_%' escape '\' + ON eu.use like ugs.name || '#_%' escape '#' LEFT OUTER JOIN gentoobrowse.use_group ugg ON ugg.usegroupid = ugs.usegroupid AND eu.use = ugs.name || '_' || ugg.use WHERE e.packageid = ? GROUP BY eu.use, ul.use, ul.packageid, ug.use, ugs.name, ugg.usegroupid, ugg.use, ugg.description -ORDER BY ugs.name nulls first, LTRIM(COALESCE(ugg.use, eu.use), '+') +ORDER BY ugg.usegroupid IS NOT NULL, ugs.name, LTRIM(COALESCE(ugg.use, eu.use), '+') -- cgit v1.2.3