From 0f6652d62bd9053c87de5b94eb6a35f68a3af4bf Mon Sep 17 00:00:00 2001 From: Juan Romay Sieira Date: Tue, 21 Jan 2014 12:46:09 +0100 Subject: [PATCH] Bug 11441: enhance remove_unused_authorities.pl ability to select records remove_unused_authorities.pl previously required that --aut be supplied to specify one or more authority types to check for unlinked authority records. If --aut was omitted, it would default to search for records of authority type NC, which is not present in many (or any?) Koha databases. Now, if --aut is omitted, unlinked authority records of any type are removed. To test it: Parse only PERSO_NAME authorities: misc/migration_tools/remove_unused_authorities.pl -aut PERSO_NAME Parse all authorities: misc/migration_tools/remove_unused_authorities.pl Signed-off-by: Nicolas Legrand Signed-off-by: Kyle M Hall Signed-off-by: Galen Charlton --- misc/migration_tools/remove_unused_authorities.pl | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/misc/migration_tools/remove_unused_authorities.pl b/misc/migration_tools/remove_unused_authorities.pl index 7920923ad8..5171538e83 100755 --- a/misc/migration_tools/remove_unused_authorities.pl +++ b/misc/migration_tools/remove_unused_authorities.pl @@ -46,16 +46,13 @@ if ($test) { } my $dbh=C4::Context->dbh; -@authtypes or @authtypes = qw( NC ); my $thresholdmin=0; my $thresholdmax=0; my @results; # prepare the request to retrieve all authorities of the requested types -my $rqselect = $dbh->prepare( - qq{SELECT * from auth_header where authtypecode IN (} - . join(",",map{$dbh->quote($_)}@authtypes) - . ")" -); +my $rqsql = "SELECT * from auth_header where 1"; +$rqsql .= " AND authtypecode IN (".join(",",map{$dbh->quote($_)}@authtypes).")" if @authtypes; +my $rqselect = $dbh->prepare($rqsql); $|=1; $rqselect->execute; @@ -89,7 +86,7 @@ sub print_usage { print <<_USAGE_; $0: Removes unused authorities. -This script will parse all authoritiestypes given as parameter, and remove authorities without any biblio attached. +This script will parse all authoritiestypes (or only those given as parameter), and remove authorities without any biblio attached. warning : there is no individual confirmation ! parameters --aut|authtypecode TYPE the list of authtypes to check -- 2.20.1