summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gentoobrowse-api/service/sql/portage/getPackageUses.sql8
1 files 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), '+')