- /* Now process same set but making delete list */
- db_sql_query(ua->db, query, file_delete_handler, (void *)&del);
-
- for (i=0; i < del.num_ids; i++) {
- struct s_count_ctx cnt;
- Dmsg1(050, "Delete JobId=%d\n", del.JobId[i]);
- Mmsg(&query, cnt_File, del.JobId[i]);
- cnt.count = 0;
- db_sql_query(ua->db, query, count_handler, (void *)&cnt);
- del.tot_ids += cnt.count;
- Mmsg(&query, del_File, del.JobId[i]);
- db_sql_query(ua->db, query, NULL, (void *)NULL);
- /*
- * Now mark Job as having files purged. This is necessary to
- * avoid having too many Jobs to process in future prunings. If
- * we don't do this, the number of JobId's in our in memory list
- * will grow very large.
- */
- Mmsg(&query, upd_Purged, del.JobId[i]);
- db_sql_query(ua->db, query, NULL, (void *)NULL);
- Dmsg1(050, "Del sql=%s\n", query);
- }
- edit_uint64_with_commas(del.tot_ids, ed1);
- edit_uint64_with_commas(del.num_ids, ed2);
- bsendmsg(ua, _("Pruned %s Files from %s Jobs for client %s from catalog.\n"),
- ed1, ed2, client->hdr.name);
-
+ /* Now process same set but making a delete list */
+ Mmsg(query, select_job, edit_int64(now - period, ed1),
+ edit_int64(cr.ClientId, ed2));
+ db_sql_query(ua->db, query.c_str(), file_delete_handler, (void *)&del);
+
+ purge_files_from_job_list(ua, del);
+
+ edit_uint64_with_commas(del.num_del, ed1);
+ ua->info_msg(_("Pruned Files from %s Jobs for client %s from catalog.\n"),
+ ed1, client->name());
+