diff options
-rwxr-xr-x | lib/mysql-functions | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/mysql-functions b/lib/mysql-functions index 17b34f6..bbf8816 100755 --- a/lib/mysql-functions +++ b/lib/mysql-functions @@ -743,16 +743,28 @@ mysql_cleanup() { exit 2 fi { - # remove to-be-decided binary_packages and binary_packages_in_repositories + # remove to-be-decided binary_packages_in_repositories printf '%s ' \ "${operator}" if [ "${operator}" = 'DELETE' ]; then - printf '`binary_packages`,`binary_packages_in_repositories` ' + printf '`binary_packages_in_repositories` ' fi printf 'FROM `binary_packages`' mysql_join_binary_packages_binary_packages_in_repositories printf ' WHERE `binary_packages_in_repositories`.`repository`=%s;\n' \ "${repository_ids__any_to_be_decided}" + # remove virtual binary_packages w/o binary_packages_in_repositories + printf '%s ' \ + "${operator}" + if [ "${operator}" = 'DELETE' ]; then + printf '`binary_packages` ' + fi + printf 'FROM `binary_packages`' + printf ' WHERE `binary_packages`.`sha512sum IS NULL' + printf ' AND NOT EXISTS (' + printf 'SELECT 1 FROM `binary_packages_in_repositories` ' + printf 'WHERE `binary_packages_in_repositories`.`package`=`binary_packages`.`id`' + printf ');\n' # remove build_assignments w/o binary_package printf '%s FROM `build_assignments` ' \ "${operator}" |