calculate_dependencies_of_package_upto_first_built_one NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `calculate_dependencies_of_package_upto_first_built_one`(IN `target_pkgbase` VARCHAR(64)) BEGIN INSERT IGNORE INTO `relevant_binary_packages` (`id`) SELECT `binary_packages`.`id` FROM `binary_packages` JOIN `binary_packages_in_repositories` ON `binary_packages`.`id`=`binary_packages_in_repositories`.`package` JOIN `repositories` ON `binary_packages_in_repositories`.`repository`=`repositories`.`id` AND `repositories`.`name`="build-list" JOIN `build_assignments` ON `binary_packages`.`build_assignment`=`build_assignments`.`id` JOIN `package_sources` ON `build_assignments`.`package_source`=`package_sources`.`id` WHERE `package_sources`.`pkgbase`=`target_pkgbase`; REPEAT INSERT IGNORE INTO `relevant_binary_packages_copy` (`id`) SELECT `relevant_binary_packages`.`id` FROM `relevant_binary_packages`; INSERT IGNORE INTO `relevant_binary_packages` (`id`) SELECT `install_target_providers`.`package` FROM `relevant_binary_packages_copy` JOIN `binary_packages` ON `relevant_binary_packages_copy`.`id`=`binary_packages`.`id` JOIN `binary_packages_in_repositories` ON `binary_packages`.`id`=`binary_packages_in_repositories`.`package` JOIN `repositories` ON `binary_packages_in_repositories`.`repository`=`repositories`.`id` AND `repositories`.`name`="build-list" JOIN `dependencies` ON `binary_packages`.`id`=`dependencies`.`dependent` JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id` AND `dependency_types`.`relevant_for_building` JOIN `install_target_providers` ON `dependencies`.`depending_on`=`install_target_providers`.`install_target`; UNTIL ROW_COUNT()=0 END REPEAT; END utf8mb4 utf8mb4_unicode_ci utf8mb4_unicode_ci calculate_maximal_moveable_set NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `calculate_maximal_moveable_set`(IN `from_stability` MEDIUMINT) BEGIN DECLARE row_count_saved INT DEFAULT 0; DROP TEMPORARY TABLE IF EXISTS `moveable_bpir`; DROP TEMPORARY TABLE IF EXISTS `replaced_bpir`; CREATE TEMPORARY TABLE `replaced_bpir` (`id` BIGINT, `replaced_by` BIGINT, UNIQUE KEY (`id`)); CREATE TEMPORARY TABLE `moveable_bpir` (`id` BIGINT, `to_repository` MEDIUMINT, UNIQUE KEY (`id`)); DROP TEMPORARY TABLE IF EXISTS `moveable_bpir_copy`; DROP TEMPORARY TABLE IF EXISTS `replaced_bpir_copy`; CREATE TEMPORARY TABLE `replaced_bpir_copy` (`id` BIGINT, `replaced_by` BIGINT, UNIQUE KEY (`id`)); CREATE TEMPORARY TABLE `moveable_bpir_copy` (`id` BIGINT, `to_repository` MEDIUMINT, UNIQUE KEY (`id`)); DROP TEMPORARY TABLE IF EXISTS `moveable_bpir_copy2`; DROP TEMPORARY TABLE IF EXISTS `replaced_bpir_copy2`; CREATE TEMPORARY TABLE `replaced_bpir_copy2` (`id` BIGINT, `replaced_by` BIGINT, UNIQUE KEY (`id`)); DROP TEMPORARY TABLE IF EXISTS `package_blobs`; CREATE TEMPORARY TABLE `package_blobs` (`ps_a` BIGINT, `ps_b` BIGINT, UNIQUE KEY `content` (`ps_a`,`ps_b`)); INSERT IGNORE INTO `package_blobs` (`ps_a`,`ps_b`) SELECT `a_ps`.`id`,`b_ps`.`id` FROM `package_sources` AS `a_ps` JOIN `package_sources` AS `b_ps` ON UNIX_TIMESTAMP(`a_ps`.`commit_time`) - UNIX_TIMESTAMP(`b_ps`.`commit_time`) BETWEEN -10 AND 10 JOIN `build_assignments` AS `a_ba` ON `a_ps`.`id`=`a_ba`.`package_source` JOIN `build_assignments` AS `b_ba` ON `b_ps`.`id`=`b_ba`.`package_source` JOIN `binary_packages` AS `a_bp` ON `a_ba`.`id`=`a_bp`.`build_assignment` JOIN `binary_packages` AS `b_bp` ON `b_ba`.`id`=`b_bp`.`build_assignment` JOIN `binary_packages_in_repositories` AS `a_bpir` ON `a_bp`.`id`=`a_bpir`.`package` JOIN `repositories` AS `a_r` ON `a_bpir`.`repository`=`a_r`.`id` JOIN `binary_packages_in_repositories` AS `b_bpir` ON `b_bp`.`id`=`b_bpir`.`package` JOIN `repositories` AS `b_r` ON `b_bpir`.`repository`=`b_r`.`id` WHERE `a_r`.`stability` = `from_stability` AND `b_r`.`stability` = `from_stability`; INSERT IGNORE INTO `moveable_bpir` (`id`,`to_repository`) SELECT `binary_packages_in_repositories`.`id`,`repository_moves`.`to_repository` FROM `binary_packages_in_repositories` JOIN `binary_packages` ON `binary_packages_in_repositories`.`package`=`binary_packages`.`id` JOIN `repositories` ON `binary_packages_in_repositories`.`repository`=`repositories`.`id` JOIN `repository_stabilities` ON `repositories`.`stability`=`repository_stabilities`.`id` JOIN `build_assignments` ON `binary_packages`.`build_assignment`=`build_assignments`.`id` JOIN `package_sources` ON `build_assignments`.`package_source`=`package_sources`.`id` JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository`=`upstream_repositories`.`id` JOIN `repository_moves` ON `upstream_repositories`.`id`=`repository_moves`.`upstream_package_repository` AND `repository_moves`.`from_repository`=`binary_packages_in_repositories`.`repository` WHERE `repository_stabilities`.`id`=`from_stability` AND (`repository_stabilities`.`name`="staging" OR `binary_packages`.`is_tested`) AND NOT `binary_packages`.`has_issues`; INSERT IGNORE INTO `replaced_bpir` (`id`,`replaced_by`) SELECT `r_bpir`.`id`,`m_bpir`.`id` FROM `moveable_bpir` JOIN `binary_packages_in_repositories` AS `m_bpir` ON `m_bpir`.`id`=`moveable_bpir`.`id` JOIN `binary_packages` AS `m_bp` ON `m_bpir`.`package`=`m_bp`.`id` JOIN `repositories` AS `m_from_r` ON `m_bpir`.`repository`=`m_from_r`.`id` JOIN `repositories` AS `m_to_r` ON `moveable_bpir`.`to_repository`=`m_to_r`.`id` JOIN `repository_stability_relations` AS `rsr_a` ON `rsr_a`.`less_stable`=`m_to_r`.`stability` JOIN `repositories` AS `r_r` ON `rsr_a`.`more_stable`=`r_r`.`stability` AND `r_r`.`architecture`=`m_to_r`.`architecture` JOIN `binary_packages_in_repositories` AS `r_bpir` ON `r_r`.`id`=`r_bpir`.`repository` JOIN `binary_packages` AS `r_bp` ON `r_bpir`.`package`=`r_bp`.`id` AND `r_bp`.`pkgname`=`m_bp`.`pkgname` WHERE NOT EXISTS ( SELECT 1 FROM `binary_packages_in_repositories` AS `sup_bpir` JOIN `binary_packages` AS `sup_bp` ON `sup_bpir`.`package`=`sup_bp`.`id` JOIN `repositories` AS `sup_r` ON `sup_bp`.`repository`=`sup_r`.`id` JOIN `repository_stability_relations` AS `rsr_b` ON `rsr_b`.`less_stable`=`sup_r`.`stability` WHERE `sup_bp`.`pkgname`=`m_bp`.`pkgname` AND `sup_r`.`architecture`=`m_to_r`.`architecture` AND `rsr_b`.`more_stable`=`r_r`.`stability`); REPEAT SET row_count_saved = 0; DELETE FROM `replaced_bpir_copy`; INSERT IGNORE INTO `replaced_bpir_copy` SELECT `replaced_bpir`.* FROM `replaced_bpir`; DELETE FROM `replaced_bpir_copy2`; INSERT IGNORE INTO `replaced_bpir_copy2` SELECT `replaced_bpir`.* FROM `replaced_bpir`; DELETE FROM `moveable_bpir_copy`; INSERT IGNORE INTO `moveable_bpir_copy` SELECT `moveable_bpir`.* FROM `moveable_bpir`; DELETE `replaced_bpir`,`moveable_bpir` FROM `replaced_bpir` RIGHT JOIN `moveable_bpir` ON `moveable_bpir`.`id`=`replaced_bpir`.`replaced_by` JOIN `binary_packages_in_repositories` ON `binary_packages_in_repositories`.`id`=`moveable_bpir`.`id` JOIN `repositories` AS `target_repositories` ON `moveable_bpir`.`to_repository`=`target_repositories`.`id` JOIN `binary_packages` ON `binary_packages_in_repositories`.`package`=`binary_packages`.`id` JOIN `dependencies` ON `binary_packages`.`id`=`dependencies`.`dependent` JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id` AND `dependency_types`.`relevant_for_binary_packages` WHERE NOT EXISTS ( SELECT 1 FROM `install_target_providers` JOIN `binary_packages` AS `prov_bp` ON `install_target_providers`.`package`=`prov_bp`.`id` JOIN `binary_packages_in_repositories` AS `prov_bpir` ON `prov_bp`.`id`=`prov_bpir`.`package` JOIN `repositories` AS `prov_r` ON `prov_bpir`.`repository`=`prov_r`.`id` JOIN `repository_stability_relations` ON `prov_r`.`stability`=`repository_stability_relations`.`more_stable` WHERE `install_target_providers`.`install_target`=`dependencies`.`depending_on` AND `target_repositories`.`stability`=`repository_stability_relations`.`less_stable` AND NOT EXISTS ( SELECT 1 FROM `replaced_bpir_copy` WHERE `replaced_bpir_copy`.`id`=`prov_bpir`.`id`)) AND NOT EXISTS ( SELECT 1 FROM `install_target_providers` JOIN `binary_packages_in_repositories` AS `itp_bpir` ON `install_target_providers`.`package`=`itp_bpir`.`package` JOIN `moveable_bpir_copy` ON `moveable_bpir_copy`.`id`=`itp_bpir`.`id` WHERE `install_target_providers`.`install_target`=`dependencies`.`depending_on`); SET row_count_saved = row_count_saved + ROW_COUNT(); DELETE FROM `replaced_bpir_copy`; INSERT IGNORE INTO `replaced_bpir_copy` SELECT `replaced_bpir`.* FROM `replaced_bpir`; DELETE FROM `replaced_bpir_copy2`; INSERT IGNORE INTO `replaced_bpir_copy2` SELECT `replaced_bpir`.* FROM `replaced_bpir`; DELETE FROM `moveable_bpir_copy`; INSERT IGNORE INTO `moveable_bpir_copy` SELECT `moveable_bpir`.* FROM `moveable_bpir`; DELETE `replaced_bpir`,`moveable_bpir` FROM `replaced_bpir` JOIN `moveable_bpir` ON `replaced_bpir`.`replaced_by`=`moveable_bpir`.`id` JOIN `binary_packages_in_repositories` AS `repl_bpir` ON `repl_bpir`.`id`=`replaced_bpir`.`id` JOIN `install_target_providers` ON `repl_bpir`.`package`=`install_target_providers`.`package` JOIN `repositories` AS `repl_r` ON `repl_bpir`.`repository`=`repl_r`.`id` JOIN `dependencies` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on` AND NOT EXISTS ( SELECT 1 FROM `replaced_bpir_copy` JOIN `binary_packages_in_repositories` AS `repl_bpir_copy` ON `repl_bpir_copy`.`id`=`replaced_bpir_copy`.`id` JOIN `repositories` AS `repl_r_copy` ON `repl_bpir_copy`.`repository`=`repl_r_copy`.`id` WHERE `repl_bpir_copy`.`package`=`dependencies`.`dependent` AND `repl_r_copy`.`architecture`=`repl_r`.`architecture`) JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id` AND `dependency_types`.`relevant_for_binary_packages` JOIN `binary_packages` AS `req_bp` ON `dependencies`.`dependent`=`req_bp`.`id` JOIN `binary_packages_in_repositories` AS `req_bpir` ON `req_bp`.`id`=`req_bpir`.`package` JOIN `repositories` AS `req_r` ON `req_bpir`.`repository`=`req_r`.`id` AND `repl_r`.`architecture`=`req_r`.`architecture` JOIN `repository_stability_relations` AS `repl_rr` ON `repl_rr`.`more_stable`=`repl_r`.`stability` AND `repl_rr`.`less_stable`=`req_r`.`stability` WHERE NOT EXISTS ( SELECT 1 FROM `moveable_bpir_copy` JOIN `binary_packages_in_repositories` AS `subst_bpir` ON `subst_bpir`.`id`=`moveable_bpir_copy`.`id` JOIN `install_target_providers` AS `subst_itp` ON `subst_bpir`.`package`=`subst_itp`.`package` JOIN `repositories` AS `subst_r` ON `subst_bpir`.`repository`=`subst_r`.`id` WHERE `subst_itp`.`install_target`=`install_target_providers`.`install_target` AND `subst_r`.`architecture`=`repl_r`.`architecture`) AND NOT EXISTS ( SELECT 1 FROM `binary_packages_in_repositories` AS `subst_bpir` JOIN `install_target_providers` AS `subst_itp` ON `subst_bpir`.`package`=`subst_itp`.`package` JOIN `repositories` AS `subst_r` ON `subst_bpir`.`repository`=`subst_r`.`id` JOIN `repository_stability_relations` AS `subst_rr` ON `subst_rr`.`more_stable`=`subst_r`.`stability` WHERE `subst_rr`.`less_stable`=`repl_r`.`stability` AND NOT EXISTS ( SELECT 1 FROM `replaced_bpir_copy2` WHERE `replaced_bpir_copy2`.`id`=`subst_bpir`.`id`) AND `subst_itp`.`install_target`=`install_target_providers`.`install_target`); SET row_count_saved = row_count_saved + ROW_COUNT(); DELETE FROM `replaced_bpir_copy`; INSERT IGNORE INTO `replaced_bpir_copy` SELECT `replaced_bpir`.* FROM `replaced_bpir`; DELETE FROM `replaced_bpir_copy2`; INSERT IGNORE INTO `replaced_bpir_copy2` SELECT `replaced_bpir`.* FROM `replaced_bpir`; DELETE FROM `moveable_bpir_copy`; INSERT IGNORE INTO `moveable_bpir_copy` SELECT `moveable_bpir`.* FROM `moveable_bpir`; DELETE `replaced_bpir`,`moveable_bpir` FROM `replaced_bpir` RIGHT JOIN `moveable_bpir` ON `replaced_bpir`.`replaced_by`=`moveable_bpir`.`id` JOIN `binary_packages_in_repositories` ON `binary_packages_in_repositories`.`id`=`moveable_bpir`.`id` JOIN `binary_packages` ON `binary_packages_in_repositories`.`package`=`binary_packages`.`id` JOIN `build_assignments` ON `binary_packages`.`build_assignment`=`build_assignments`.`id` JOIN `package_blobs` ON `build_assignments`.`package_source`=`package_blobs`.`ps_a` JOIN `build_assignments` AS `bl_ba` ON `bl_ba`.`package_source`=`package_blobs`.`ps_b` JOIN `binary_packages` AS `bl_bp` ON `bl_ba`.`id`=`bl_bp`.`build_assignment` JOIN `binary_packages_in_repositories` AS `bl_bpir` ON `bl_bp`.`id`=`bl_bpir`.`package` WHERE NOT EXISTS ( SELECT 1 FROM `moveable_bpir_copy` WHERE `moveable_bpir_copy`.`id`=`bl_bpir`.`id`); SET row_count_saved = row_count_saved + ROW_COUNT(); UNTIL row_count_saved=0 END REPEAT; DROP TEMPORARY TABLE `moveable_bpir_copy`; DROP TEMPORARY TABLE `replaced_bpir_copy`; DROP TEMPORARY TABLE `replaced_bpir_copy2`; END utf8mb4 utf8mb4_unicode_ci utf8mb4_unicode_ci show_broken_packages_and_dependencies NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `show_broken_packages_and_dependencies`() BEGIN CREATE TEMPORARY TABLE `broken_packages_and_dependencies` (`id` BIGINT, UNIQUE KEY (`id`)); CREATE TEMPORARY TABLE `broken_packages_and_dependencies_old` (`id` BIGINT, UNIQUE KEY (`id`)); INSERT IGNORE INTO `broken_packages_and_dependencies` (`id`) SELECT `build_assignments`.`id` FROM `binary_packages` JOIN `build_assignments` ON `binary_packages`.`build_assignment`=`build_assignments`.`id` AND `build_assignments`.`is_broken` JOIN `binary_packages_in_repositories` ON `binary_packages`.`id`=`binary_packages_in_repositories`.`package` JOIN `repositories` ON `binary_packages_in_repositories`.`repository`=`repositories`.`id` AND `repositories`.`name`="build-list"; REPEAT INSERT IGNORE INTO `broken_packages_and_dependencies_old` (`id`) SELECT `broken_packages_and_dependencies`.`id` FROM `broken_packages_and_dependencies`; INSERT IGNORE INTO `broken_packages_and_dependencies` (`id`) SELECT `new_bp`.`build_assignment` FROM `broken_packages_and_dependencies_old` JOIN `binary_packages` AS `old_bp` ON `broken_packages_and_dependencies_old`.`id`=`old_bp`.`build_assignment` JOIN `dependencies` ON `old_bp`.`id`=`dependencies`.`dependent` JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id` AND `dependency_types`.`relevant_for_building` JOIN `install_target_providers` ON `dependencies`.`depending_on`=`install_target_providers`.`install_target` JOIN `binary_packages` AS `new_bp` ON `install_target_providers`.`package`=`new_bp`.`id` JOIN `binary_packages_in_repositories` AS `new_bpir` ON `new_bp`.`id`=`new_bpir`.`package` JOIN `repositories` AS `new_repo` ON `new_bpir`.`repository`=`new_repo`.`id` AND `new_repo`.`name` IN ("build-list","deletion-list"); UNTIL ROW_COUNT()=0 END REPEAT; SELECT `package_sources`.`pkgbase`,`package_sources`.`git_revision`,`package_sources`.`mod_git_revision`,`upstream_repositories`.`name` FROM `build_assignments` JOIN `package_sources` ON `build_assignments`.`package_source`=`package_sources`.`id` JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository`=`upstream_repositories`.`id` JOIN `broken_packages_and_dependencies` ON `broken_packages_and_dependencies`.`id`=`build_assignments`.`id`; END utf8mb4 utf8mb4_unicode_ci utf8mb4_unicode_ci allowed_email_actions CREATE TABLE `allowed_email_actions` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `gpg_key` bigint(20) NOT NULL, `action` mediumint(9) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`gpg_key`,`action`), KEY `action` (`action`), CONSTRAINT `allowed_email_actions_ibfk_1` FOREIGN KEY (`action`) REFERENCES `email_actions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `allowed_email_actions_ibfk_2` FOREIGN KEY (`gpg_key`) REFERENCES `gpg_keys` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci architecture_compatibilities CREATE TABLE `architecture_compatibilities` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `built_for` smallint(6) NOT NULL, `runs_on` smallint(6) NOT NULL, `fully_compatible` bit(1) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`built_for`,`runs_on`), KEY `architecture_compatibilities_ibfk_2` (`runs_on`), CONSTRAINT `architecture_compatibilities_ibfk_1` FOREIGN KEY (`built_for`) REFERENCES `architectures` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `architecture_compatibilities_ibfk_2` FOREIGN KEY (`runs_on`) REFERENCES `architectures` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci architectures CREATE TABLE `architectures` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `name` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci binary_packages CREATE TABLE `binary_packages` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `build_assignment` bigint(20) NOT NULL, `epoch` mediumint(9) NOT NULL, `pkgver` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `pkgrel` mediumint(9) NOT NULL, `sub_pkgrel` mediumint(9) NOT NULL, `has_issues` bit(1) NOT NULL, `is_tested` bit(1) NOT NULL, `pkgname` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `architecture` smallint(6) NOT NULL, `sha512sum` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `sub_pkgrel_omitted` bit(1) NOT NULL DEFAULT b'0', PRIMARY KEY (`id`), UNIQUE KEY `file_name` (`pkgname`,`epoch`,`pkgver`,`pkgrel`,`sub_pkgrel`,`architecture`), UNIQUE KEY `content` (`build_assignment`,`sub_pkgrel`,`pkgname`,`architecture`), KEY `architecture` (`architecture`), CONSTRAINT `binary_packages_ibfk_1` FOREIGN KEY (`architecture`) REFERENCES `architectures` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `binary_packages_ibfk_2` FOREIGN KEY (`build_assignment`) REFERENCES `build_assignments` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci binary_packages_in_repositories CREATE TABLE `binary_packages_in_repositories` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `package` bigint(20) NOT NULL, `repository` mediumint(9) NOT NULL, `last_moved` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `is_to_be_deleted` bit(1) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`package`,`repository`), KEY `binary_packages_in_repositories_ibfk_2` (`repository`), CONSTRAINT `binary_packages_in_repositories_ibfk_1` FOREIGN KEY (`package`) REFERENCES `binary_packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `binary_packages_in_repositories_ibfk_2` FOREIGN KEY (`repository`) REFERENCES `repositories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci build_assignments CREATE TABLE `build_assignments` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `package_source` bigint(20) NOT NULL, `architecture` smallint(6) NOT NULL, `is_blocked` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `is_broken` bit(1) NOT NULL, `priority` smallint(6) NOT NULL, `is_black_listed` text COLLATE utf8mb4_unicode_ci, `return_date` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`package_source`,`architecture`), KEY `architecture` (`architecture`), CONSTRAINT `build_assignments_ibfk_1` FOREIGN KEY (`package_source`) REFERENCES `package_sources` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `build_assignments_ibfk_2` FOREIGN KEY (`architecture`) REFERENCES `architectures` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci build_dependency_loops CREATE TABLE `build_dependency_loops` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `loop` mediumint(9) NOT NULL, `build_assignment` bigint(20) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`loop`,`build_assignment`), KEY `build_assignment` (`build_assignment`), CONSTRAINT `build_dependency_loops_ibfk_1` FOREIGN KEY (`build_assignment`) REFERENCES `build_assignments` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci build_slaves CREATE TABLE `build_slaves` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `currently_building` bigint(20) DEFAULT NULL, `logged_lines` bigint(20) DEFAULT NULL, `last_action` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `ssh_key` bigint(20) NOT NULL, `trials` mediumint(9) DEFAULT NULL, `is_sane` bit(1) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `currently_building` (`currently_building`), KEY `ssh_key` (`ssh_key`), CONSTRAINT `build_slaves_ibfk_1` FOREIGN KEY (`currently_building`) REFERENCES `build_assignments` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `build_slaves_ibfk_2` FOREIGN KEY (`ssh_key`) REFERENCES `ssh_keys` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci dependencies CREATE TABLE `dependencies` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `dependent` bigint(20) NOT NULL, `depending_on` bigint(20) NOT NULL, `dependency_type` smallint(6) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`dependent`,`depending_on`,`dependency_type`), KEY `depending_on` (`depending_on`), KEY `dependency_type` (`dependency_type`), CONSTRAINT `dependencies_ibfk_1` FOREIGN KEY (`dependent`) REFERENCES `binary_packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `dependencies_ibfk_2` FOREIGN KEY (`depending_on`) REFERENCES `install_targets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `dependencies_ibfk_3` FOREIGN KEY (`dependency_type`) REFERENCES `dependency_types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci dependency_types CREATE TABLE `dependency_types` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `relevant_for_building` bit(1) NOT NULL, `relevant_for_binary_packages` bit(1) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci email_actions CREATE TABLE `email_actions` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci email_log CREATE TABLE `email_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `success` bit(1) NOT NULL, `action` mediumint(9) DEFAULT NULL, `count` mediumint(9) DEFAULT NULL, `gpg_key` bigint(20) DEFAULT NULL, `comment` text COLLATE utf8mb4_unicode_ci, PRIMARY KEY (`id`), KEY `action` (`action`), KEY `gpg_key` (`gpg_key`), CONSTRAINT `email_log_ibfk_1` FOREIGN KEY (`action`) REFERENCES `email_actions` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `email_log_ibfk_2` FOREIGN KEY (`gpg_key`) REFERENCES `gpg_keys` (`id`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci fail_reasons CREATE TABLE `fail_reasons` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `identifier` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `severity` smallint(6) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci failed_builds CREATE TABLE `failed_builds` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `build_slave` mediumint(9) NOT NULL, `build_assignment` bigint(20) NOT NULL, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `reason` smallint(6) NOT NULL, `log_file` varchar(512) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `build_slave` (`build_slave`), KEY `build_assignment` (`build_assignment`), KEY `reason` (`reason`), CONSTRAINT `failed_builds_ibfk_1` FOREIGN KEY (`build_slave`) REFERENCES `build_slaves` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `failed_builds_ibfk_2` FOREIGN KEY (`build_assignment`) REFERENCES `build_assignments` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `failed_builds_ibfk_3` FOREIGN KEY (`reason`) REFERENCES `fail_reasons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci git_repositories CREATE TABLE `git_repositories` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `url` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `directory` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `head` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), UNIQUE KEY `url` (`url`), UNIQUE KEY `directory` (`directory`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci gpg_keys CREATE TABLE `gpg_keys` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `owner` mediumint(9) NOT NULL, `fingerprint` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fingerprint` (`fingerprint`), KEY `owner` (`owner`), CONSTRAINT `gpg_keys_ibfk_1` FOREIGN KEY (`owner`) REFERENCES `persons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci install_target_providers CREATE TABLE `install_target_providers` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `package` bigint(20) NOT NULL, `install_target` bigint(20) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`package`,`install_target`), KEY `install_target` (`install_target`), CONSTRAINT `install_target_providers_ibfk_1` FOREIGN KEY (`package`) REFERENCES `binary_packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `install_target_providers_ibfk_2` FOREIGN KEY (`install_target`) REFERENCES `install_targets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci install_targets CREATE TABLE `install_targets` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci package_sources CREATE TABLE `package_sources` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `pkgbase` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `git_revision` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, `mod_git_revision` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, `upstream_package_repository` smallint(6) NOT NULL, `uses_upstream` bit(1) NOT NULL, `uses_modification` bit(1) NOT NULL, `commit_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `content` (`pkgbase`,`git_revision`,`mod_git_revision`), KEY `upstream_package_repository` (`upstream_package_repository`), CONSTRAINT `package_sources_ibfk_1` FOREIGN KEY (`upstream_package_repository`) REFERENCES `upstream_repositories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci persons CREATE TABLE `persons` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci repositories CREATE TABLE `repositories` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `stability` mediumint(9) NOT NULL, `is_on_master_mirror` bit(1) NOT NULL, `architecture` smallint(6) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `stability` (`stability`), KEY `architecture` (`architecture`), CONSTRAINT `repositories_ibfk_1` FOREIGN KEY (`stability`) REFERENCES `repository_stabilities` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `repositories_ibfk_2` FOREIGN KEY (`architecture`) REFERENCES `architectures` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci repository_moves CREATE TABLE `repository_moves` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `from_repository` mediumint(9) NOT NULL, `to_repository` mediumint(9) NOT NULL, `upstream_package_repository` smallint(6) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `source` (`from_repository`,`upstream_package_repository`), KEY `to_repository` (`to_repository`), KEY `upstream_package_repository` (`upstream_package_repository`), CONSTRAINT `repository_moves_ibfk_1` FOREIGN KEY (`from_repository`) REFERENCES `repositories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `repository_moves_ibfk_2` FOREIGN KEY (`to_repository`) REFERENCES `repositories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `repository_moves_ibfk_3` FOREIGN KEY (`upstream_package_repository`) REFERENCES `upstream_repositories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci repository_stabilities CREATE TABLE `repository_stabilities` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `bugtracker_category` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci repository_stability_relations CREATE TABLE `repository_stability_relations` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `more_stable` mediumint(9) NOT NULL, `less_stable` mediumint(9) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`more_stable`,`less_stable`), KEY `less_stable` (`less_stable`), CONSTRAINT `repository_stability_relations_ibfk_1` FOREIGN KEY (`more_stable`) REFERENCES `repository_stabilities` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `repository_stability_relations_ibfk_2` FOREIGN KEY (`less_stable`) REFERENCES `repository_stabilities` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ssh_keys CREATE TABLE `ssh_keys` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `owner` mediumint(9) NOT NULL, `fingerprint` text COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `owner` (`owner`), CONSTRAINT `ssh_keys_ibfk_1` FOREIGN KEY (`owner`) REFERENCES `persons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ssh_log CREATE TABLE `ssh_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `build_slave` mediumint(9) DEFAULT NULL, `action` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `parameters` text COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `build_slave` (`build_slave`), CONSTRAINT `ssh_log_ibfk_1` FOREIGN KEY (`build_slave`) REFERENCES `build_slaves` (`id`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci statistics CREATE TABLE `statistics` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `stable_packages_count` mediumint(9) NOT NULL, `pending_tasks_count` mediumint(9) NOT NULL, `pending_packages_count` mediumint(9) NOT NULL, `staging_packages_count` mediumint(9) NOT NULL, `testing_packages_count` mediumint(9) NOT NULL, `tested_packages_count` mediumint(9) NOT NULL, `broken_tasks_count` mediumint(9) NOT NULL, `dependency_loops_count` mediumint(9) NOT NULL, `dependency_looped_tasks_count` mediumint(9) NOT NULL, `locked_tasks_count` mediumint(9) NOT NULL, `blocked_tasks_count` mediumint(9) NOT NULL, `next_tasks_count` mediumint(9) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `date` (`date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci todo_links CREATE TABLE `todo_links` ( `dependent` bigint(20) NOT NULL, `depending_on` bigint(20) NOT NULL, UNIQUE KEY `content` (`dependent`,`depending_on`), KEY `depending_on` (`depending_on`), CONSTRAINT `todo_links_ibfk_1` FOREIGN KEY (`dependent`) REFERENCES `todos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `todo_links_ibfk_2` FOREIGN KEY (`depending_on`) REFERENCES `todos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci todos CREATE TABLE `todos` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `file` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `line` mediumint(9) NOT NULL, `description` text COLLATE utf8mb4_unicode_ci NOT NULL, `importance` smallint(6) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci upstream_repositories CREATE TABLE `upstream_repositories` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `git_repository` smallint(6) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `content` (`name`,`git_repository`), KEY `git_repository` (`git_repository`), CONSTRAINT `upstream_repositories_ibfk_1` FOREIGN KEY (`git_repository`) REFERENCES `git_repositories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci INSERT INTO `architectures` VALUES (1,'any'), (2,'i686'); INSERT INTO `architecture_compatibilities` VALUES (1,1,1,'1'), (2,2,2,'1'), (3,1,2,'1'); INSERT INTO `dependency_types` VALUES (2,'run','1','1'), (3,'check','\0','\0'), (4,'link','\0','1'), (5,'make','1','\0'); INSERT INTO `email_actions` VALUES (2,'block'), (5,'copy-to-build-support'), (7,'delete'), (6,'prioritize'), (4,'schedule'), (1,'stabilize'), (3,'unblock'); INSERT INTO `fail_reasons` VALUES (1,'build()','==> ERROR: A failure occurred in build()\\.',0), (2,'source','==> ERROR: Could not download sources\\.',1), (3,'package-cache','.*error: failed to commit transaction (invalid or corrupted pack',2), (4,'prepare()','==> ERROR: A failure occurred in prepare()\\.',2), (5,'package()','==> ERROR: A failure occurred in package\\(_\\S\\+\\)\\?()\\.',3), (6,'check()','==> ERROR: A failure occurred in check()\\.',4), (7,'dependencies','==> ERROR: \'pacman\' failed to install missing dependencies\\.',1), (8,'run-as-root','==> ERROR: Running makepkg as root is not allowed as it can caus',1), (9,'unknown','.*',100); INSERT INTO `repositories` VALUES (1,'core',1,'1',2), (2,'extra',1,'1',2), (3,'community',1,'1',2), (4,'build-support',4,'1',2), (5,'testing',2,'1',2), (6,'community-testing',2,'1',2), (7,'staging',3,'1',2), (8,'community-staging',3,'1',2), (9,'build-list',5,'\0',1), (10,'deletion-list',6,'\0',1), (11,'to-be-decided',7,'\0',1), (12,'gnome-unstable',8,'1',2), (13,'kde-unstable',8,'1',2); INSERT INTO `repository_moves` VALUES (1,6,3,3), (2,6,3,4), (3,8,6,3), (4,8,6,4), (5,5,1,1), (6,5,2,2), (8,7,5,1), (9,7,5,2), (10,9,7,1), (11,9,7,2), (12,9,8,3), (13,9,8,4); INSERT INTO `repository_stabilities` VALUES (1,'stable','Packages: Stable'), (2,'testing','Packages: Testing'), (3,'staging',NULL), (4,'standalone',NULL), (5,'unbuilt','Packages: Build-list'), (6,'forbidden',NULL), (7,'virtual',NULL), (8,'unstable',NULL); INSERT INTO `repository_stability_relations` VALUES (16,1,1), (7,1,2), (5,1,3), (24,1,4), (8,1,5), (1,1,6), (17,2,2), (6,2,3), (26,2,4), (10,2,5), (3,2,6), (18,3,3), (25,3,4), (9,3,5), (2,3,6), (23,4,4), (4,5,6); INSERT INTO `upstream_repositories` VALUES (4,'community',2), (1,'core',1), (2,'extra',1), (3,'multilib',2);