diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-02-05 15:45:28 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-02-05 15:45:28 +0000 |
commit | 194951e1130a1396793a1a51c4769aa828d8b2ef (patch) | |
tree | 89b3af6e6fc0d8727ff25a4c985da256b0834b38 | |
parent | Add explicit init and clean up of XML/XSLT things with the API instance (diff) | |
download | gentoobrowse-api-194951e1130a1396793a1a51c4769aa828d8b2ef.tar.bz2 gentoobrowse-api-194951e1130a1396793a1a51c4769aa828d8b2ef.tar.xz gentoobrowse-api-194951e1130a1396793a1a51c4769aa828d8b2ef.zip |
Handle the case when a use flag looks like it belongs in a group, but isn't defined in that group
-rw-r--r-- | gentoobrowse-api/service/sql/portage/getPackageUses.sql | 8 |
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), '+') |