summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/mysql-functions16
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}"