From 525dddfd2460e3a442fcb1af95e44f47bb69a369 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 12 Sep 2018 15:56:52 +0200 Subject: lib/mysql-functions: mysql_query_remove_old_binary_packages_from_build_list() new --- lib/mysql-functions | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'lib') diff --git a/lib/mysql-functions b/lib/mysql-functions index 972f227..17b34f6 100755 --- a/lib/mysql-functions +++ b/lib/mysql-functions @@ -1276,3 +1276,37 @@ mysql_load_min_and_max_versions() { ) fi } + +# mysql_query_remove_old_binary_packages_from_build_list +# print a query to remove old versions of packages from the build-list +mysql_query_remove_old_binary_packages_from_build_list() { + printf 'DELETE `d_bpir`' + printf ' FROM `binary_packages_in_repositories` AS `d_bpir`' + mysql_join_binary_packages_in_repositories_binary_packages 'd_bpir' 'd_bp' + printf ' JOIN `versions` as `d_v`' + printf ' ON `d_bp`.`epoch`=`d_v`.`epoch`' + printf ' AND `d_bp`.`pkgver`=`d_v`.`version`' + printf ' JOIN `binary_packages` AS `n_bp`' + printf ' ON `d_bp`.`pkgname`=`n_bp`.`pkgname`' + printf ' JOIN `versions` as `n_v`' + printf ' ON `n_bp`.`epoch`=`n_v`.`epoch`' + printf ' AND `n_bp`.`pkgver`=`n_v`.`version`' + mysql_join_binary_packages_binary_packages_in_repositories 'n_bp' 'n_bpir' + printf ' WHERE `d_bpir`.`repository`=%s' \ + "${repository_ids__any_build_list}" + printf ' AND `n_bpir`.`repository`=%s' \ + "${repository_ids__any_build_list}" + printf ' AND (' + printf '`n_v`.`order`>`d_v`.`order`' + printf ' OR (' + printf '`n_v`.`order`=`d_v`.`order`' + printf ' AND (' + printf '`n_bp`.`pkgrel`>`d_bp`.`pkgrel`' + printf ' OR (' + printf '`n_bp`.`pkgrel`=`d_bp`.`pkgrel`' + printf ' AND `n_bp`.`sub_pkgrel`>`d_bp`.`sub_pkgrel`' + printf ')' + printf ')' + printf ')' + printf ');\n' +} -- cgit v1.2.3-54-g00ecf