From 9b9b8eb72586ce7d5890b78c9fd67b1da3acb474 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 12 Sep 2018 11:09:07 +0200 Subject: bin/get-assignment,lib/mysql-functions: mysql_query_has_pending_dependencies() now only looks for a single architecture --- bin/get-assignment | 2 +- lib/mysql-functions | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bin/get-assignment b/bin/get-assignment index 26b0bff..40acdb2 100755 --- a/bin/get-assignment +++ b/bin/get-assignment @@ -260,7 +260,7 @@ next_building=$( printf ') AND (' mysql_query_is_part_of_loop '`build_assignments`.`id`' printf ' OR NOT ' - mysql_query_has_pending_dependencies '`build_assignments`.`id`' + mysql_query_has_pending_dependencies '`architectures`.`name`' '`build_assignments`.`id`' printf ')' printf ' AND `binary_packages_in_repositories`.`repository`=%s' \ "${repository_ids__any_build_list}" diff --git a/lib/mysql-functions b/lib/mysql-functions index 13a751e..972f227 100755 --- a/lib/mysql-functions +++ b/lib/mysql-functions @@ -824,16 +824,20 @@ mysql_cleanup() { mysql_run_query 'unimportant' } -# mysql_query_has_pending_dependencies `build_assignment`.`id` +# mysql_query_has_pending_dependencies builder-architecture `build_assignment`.`id` # print a mysql query giving whether dependencies are pending mysql_query_has_pending_dependencies() { printf 'EXISTS (' printf 'SELECT 1 FROM `binary_packages_in_repositories` as `todos_bpir`' mysql_join_binary_packages_in_repositories_binary_packages 'todos_bpir' 'todos' + printf ' JOIN `architecture_compatibilities` AS `todo_ac`' + printf ' ON `todos`.`architecture`=`todo_ac`.`runs_on`' mysql_join_binary_packages_dependencies 'todos' 'l_deps' mysql_join_dependencies_dependency_types 'l_deps' 'l_dep_ts' mysql_join_dependencies_install_target_providers_with_versions 'l_deps' 'l_itps' mysql_join_install_target_providers_binary_packages 'l_itps' 'deps' + printf ' JOIN `architecture_compatibilities` AS `dep_ac`' + printf ' ON `deps`.`architecture`=`dep_ac`.`runs_on`' mysql_join_binary_packages_binary_packages_in_repositories 'deps' 'deps_bpir' printf ' WHERE' printf ' `%s`.`repository`=%s AND' \ @@ -842,7 +846,10 @@ mysql_query_has_pending_dependencies() { printf ' `l_dep_ts`.`relevant_for_building` AND ' printf ' `deps`.`build_assignment`!=`todos`.`build_assignment` AND' printf ' `todos`.`build_assignment`=%s' \ - "$1" + "$2" + printf ' AND `%s`.`runs_on`=%s' \ + 'todo_ac' "$1" \ + 'dep_ac' "$1" printf ')' } -- cgit v1.2.3-54-g00ecf