summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/database-layout.dump36
1 files changed, 20 insertions, 16 deletions
diff --git a/misc/database-layout.dump b/misc/database-layout.dump
index fe963d4..309e9e1 100644
--- a/misc/database-layout.dump
+++ b/misc/database-layout.dump
@@ -7,6 +7,7 @@ INSERT IGNORE INTO `bl`(`arch`,`pkgbase`)
FROM `blacklist`
JOIN `architectures`
ON `architectures`.`name`=`blacklist`.`arch`;
+CREATE TEMPORARY TABLE `available_install_targets` (`architecture` SMALLINT,`install_target` BIGINT,UNIQUE KEY `content`(`architecture`,`install_target`),KEY (`architecture`),KEY (`install_target`));
REPEAT
DELETE
FROM `bl_copy`;
@@ -23,6 +24,21 @@ DELETE
INSERT IGNORE INTO `bl_copy` (`arch`,`pkgbase`)
SELECT `bl`.`arch`, `bl`.`pkgbase`
FROM `bl`;
+DELETE
+ FROM `available_install_targets`;
+INSERT IGNORE INTO `available_install_targets` (`architecture`,`install_target`)SELECT `architectures`.`id`,`install_target_providers`.`install_target`
+ FROM `install_target_providers`
+ JOIN `binary_packages`
+ ON `install_target_providers`.`package`=`binary_packages`.`id`
+ JOIN `build_assignments`
+ ON `binary_packages`.`build_assignment`=`build_assignments`.`id`
+ JOIN `package_sources`
+ ON `build_assignments`.`package_source`=`package_sources`.`id`
+ JOIN `architectures`
+ ON (`architectures`.`id`=`binary_packages`.`architecture` OR `binary_packages`.`architecture`=1 OR `architectures`.`id`=1)
+ LEFT JOIN `bl_copy`
+ ON `bl_copy`.`pkgbase`=`package_sources`.`pkgbase` AND (`bl_copy`.`arch`=`build_assignments`.`architecture` OR `bl_copy`.`arch`=1)
+ WHERE `bl_copy`.`pkgbase` IS NULL;
INSERT IGNORE INTO `bl` (`arch`,`pkgbase`)
SELECT `a_bp`.`architecture`,`a_ps`.`pkgbase`
FROM `package_sources` AS `a_ps`
@@ -40,22 +56,9 @@ INSERT IGNORE INTO `bl` (`arch`,`pkgbase`)
ON `dependencies`.`depending_on`=`itp_dummy`.`install_target`
JOIN `binary_packages` AS `itp_bp_dummy`
ON `itp_dummy`.`package`=`itp_bp_dummy`.`id` AND (`itp_bp_dummy`.`architecture`=`a_ba`.`architecture` OR `a_ba`.`architecture`=1 OR `itp_bp_dummy`.`architecture`=1)
- LEFT JOIN (
-SELECT DISTINCT `install_target_providers`.`install_target`,`architectures`.`id` AS `architecture`
- FROM `install_target_providers`
- JOIN `binary_packages`
- ON `install_target_providers`.`package`=`binary_packages`.`id`
- JOIN `build_assignments`
- ON `binary_packages`.`build_assignment`=`build_assignments`.`id`
- JOIN `package_sources`
- ON `build_assignments`.`package_source`=`package_sources`.`id`
- JOIN `architectures`
- ON (`architectures`.`id`=`binary_packages`.`architecture` OR `binary_packages`.`architecture`=1 OR `architectures`.`id`=1)
- LEFT JOIN `bl_copy`
- ON `bl_copy`.`pkgbase`=`package_sources`.`pkgbase` AND (`bl_copy`.`arch`=`build_assignments`.`architecture` OR `bl_copy`.`arch`=1)
- WHERE `bl_copy`.`pkgbase` IS NULL) AS `itp_query`
- ON `itp_query`.`install_target`=`dependencies`.`depending_on` AND `itp_query`.`architecture`=`a_ba`.`architecture`
- WHERE `itp_query`.`install_target` IS NULL;
+ LEFT JOIN `available_install_targets`
+ ON `available_install_targets`.`install_target`=`dependencies`.`depending_on` AND `available_install_targets`.`architecture`=`a_ba`.`architecture`
+ WHERE `available_install_targets`.`install_target` IS NULL;
UNTIL ROW_COUNT()=0
END REPEAT;
SELECT `architectures`.`name`,`bl`.`pkgbase`
@@ -64,6 +67,7 @@ SELECT `architectures`.`name`,`bl`.`pkgbase`
ON `architectures`.`id`=`bl`.`arch`;
DROP TEMPORARY TABLE `bl`;
DROP TEMPORARY TABLE `bl_copy`;
+DROP TEMPORARY TABLE `available_install_targets`;
END utf8mb4 utf8mb4_unicode_ci utf8mb4_unicode_ci
calculate_maximal_moveable_set STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `calculate_maximal_moveable_set`(IN `arch_id` MEDIUMINT,IN `from_stability` MEDIUMINT)
BEGIN