package details view - package information queries
Investigating the queries on the package details page a bit it seems that we do a SELECT per package.provides()
<ul id="pkgdepslist">
{% for dep in dependencies %}
{# Collect provides for `dep`. #}
{% set provides = dep.provides() %}
fastapi-1 | 2024-08-09 10:12:08,822 INFO sqlalchemy.engine.Engine SELECT count(*) AS count_1
fastapi-1 | FROM (SELECT `PackageRelations`.`PackageID` AS `PackageRelations_PackageID`, `PackageRelations`.`RelTypeID` AS `PackageRelations_RelTypeID`, `PackageRelations`.`RelName` AS `PackageRelations_RelName`, `PackageRelations`.`RelCondition` AS `PackageRelations_RelCondition`, `PackageRelations`.`RelArch` AS `PackageRelations_RelArch`
fastapi-1 | FROM `PackageRelations`
fastapi-1 | WHERE %s = `PackageRelations`.`PackageID` AND `PackageRelations`.`RelTypeID` = %s ORDER BY `PackageRelations`.`RelName` ASC) AS anon_1
fastapi-1 | 2024-08-09 10:12:08,822 INFO sqlalchemy.engine.Engine [cached since 30.67s ago] (203, 1)
fastapi-1 | 2024-08-09 10:12:08,823 INFO sqlalchemy.engine.Engine SELECT `PackageRelations`.`PackageID` AS `PackageRelations_PackageID`, `PackageRelations`.`RelTypeID` AS `PackageRelations_RelTypeID`, `PackageRelations`.`RelName` AS `PackageRelations_RelName`, `PackageRelations`.`RelCondition` AS `PackageRelations_RelCondition`, `PackageRelations`.`RelArch` AS `PackageRelations_RelArch`
fastapi-1 | FROM `PackageRelations`
fastapi-1 | WHERE %s = `PackageRelations`.`PackageID` AND `PackageRelations`.`RelTypeID` = %s ORDER BY `PackageRelations`.`RelName` ASC
fastapi-1 | 2024-08-09 10:12:08,823 INFO sqlalchemy.engine.Engine [cached since 30.67s ago] (203, 1)
fastapi-1 | 2024-08-09 10:12:08,823 INFO sqlalchemy.engine.Engine SELECT count(*) AS count_1
fastapi-1 | FROM (SELECT `PackageRelations`.`PackageID` AS `PackageRelations_PackageID`, `PackageRelations`.`RelTypeID` AS `PackageRelations_RelTypeID`, `PackageRelations`.`RelName` AS `PackageRelations_RelName`, `PackageRelations`.`RelCondition` AS `PackageRelations_RelCondition`, `PackageRelations`.`RelArch` AS `PackageRelations_RelArch`
fastapi-1 | FROM `PackageRelations`
fastapi-1 | WHERE %s = `PackageRelations`.`PackageID` AND `PackageRelations`.`RelTypeID` = %s ORDER BY `PackageRelations`.`RelName` ASC) AS anon_1
fastapi-1 | 2024-08-09 10:12:08,823 INFO sqlalchemy.engine.Engine [cached since 30.67s ago] (203, 2)
fastapi-1 | 2024-08-09 10:12:08,824 INFO sqlalchemy.engine.Engine SELECT `PackageRelations`.`PackageID` AS `PackageRelations_PackageID`, `PackageRelations`.`RelTypeID` AS `PackageRelations_RelTypeID`, `PackageRelations`.`RelName` AS `PackageRelations_RelName`, `PackageRelations`.`RelCondition` AS `PackageRelations_RelCondition`, `PackageRelations`.`RelArch` AS `PackageRelations_RelArch`
fastapi-1 | FROM `PackageRelations`
fastapi-1 | WHERE %s = `PackageRelations`.`PackageID` AND `PackageRelations`.`RelTypeID` = %s ORDER BY `PackageRelations`.`RelName` ASC
fastapi-1 | 2024-08-09 10:12:08,824 INFO sqlalchemy.engine.Engine [cached since 30.67s ago] (203, 2)
fastapi-1 | 2024-08-09 10:12:08,825 INFO sqlalchemy.engine.Engine SELECT count(*) AS count_1
fastapi-1 | FROM (SELECT `PackageRelations`.`PackageID` AS `PackageRelations_PackageID`, `PackageRelations`.`RelTypeID` AS `PackageRelations_RelTypeID`, `PackageRelations`.`RelName` AS `PackageRelations_RelName`, `PackageRelations`.`RelCondition` AS `PackageRelations_RelCondition`, `PackageRelations`.`RelArch` AS `PackageRelations_RelArch`
fastapi-1 | FROM `PackageRelations`
fastapi-1 | WHERE %s = `PackageRelations`.`PackageID` AND `PackageRelations`.`RelTypeID` = %s ORDER BY `PackageRelations`.`RelName` ASC) AS anon_1
fastapi-1 | 2024-08-09 10:12:08,825 INFO sqlalchemy.engine.Engine [cached since 30.67s ago] (203, 3)
fastapi-1 | 2024-08-09 10:12:08,825 INFO sqlalchemy.engine.Engine SELECT `PackageRelations`.`PackageID` AS `PackageRelations_PackageID`, `PackageRelations`.`RelTypeID` AS `PackageRelations_RelTypeID`, `PackageRelations`.`RelName` AS `PackageRelations_RelName`, `PackageRelations`.`RelCondition` AS `PackageRelations_RelCondition`, `PackageRelations`.`RelArch` AS `PackageRelations_RelArch`
fastapi-1 | FROM `PackageRelations`
fastapi-1 | WHERE %s = `PackageRelations`.`PackageID` AND `PackageRelations`.`RelTypeID` = %s ORDER BY `PackageRelations`.`RelName` ASC
fastapi-1 | 2024-08-09 10:12:08,825 INFO sqlalchemy.engine.Engine [cached since 30.67s ago] (203, 3)
fastapi-1 | 2024-08-09 10:12:08,826 INFO sqlalchemy.engine.Engine SELECT anon_1.`Packages_Name` AS `anon_1_Packages_Name`, anon_1.is_official AS anon_1_is_official
fastapi-1 | FROM ((SELECT `Packages`.`Name` AS `Packages_Name`, %s AS is_official
fastapi-1 | FROM `PackageRelations` INNER JOIN `Packages` ON `Packages`.`ID` = `PackageRelations`.`PackageID`
fastapi-1 | WHERE `PackageRelations`.`RelTypeID` = %s AND `PackageRelations`.`RelName` = %s ORDER BY `Packages`.`Name` ASC) UNION (SELECT `OfficialProviders`.`Name` AS `OfficialProviders_Name`, %s AS is_official
fastapi-1 | FROM `OfficialProviders`