@@ -, +, @@ --- .../data/mysql/atomicupdate/bug_33297.pl | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) --- a/installer/data/mysql/atomicupdate/bug_33297.pl +++ a/installer/data/mysql/atomicupdate/bug_33297.pl @@ -6,20 +6,27 @@ return { up => sub { my ($args) = @_; my ($dbh, $out) = @$args{qw(dbh out)}; - # Correct preference may have been generated via interface - my ($correct_syspref_exists) = $dbh->selectrow_array(q{ - SELECT COUNT(*) FROM systempreferences WHERE variable='RetainPatronsSearchTerms' + my ($wrong_syspref_exists) = $dbh->selectrow_array(q{ + SELECT COUNT(*) FROM systempreferences WHERE variable='RetainPatronSearchTerms' }); - if ($correct_syspref_exists) { - $dbh->do(q{ - DELETE FROM systempreferences WHERE variable='RetainPatronSearchTerms' + if ($wrong_syspref_exists) { + # Correct preference may have been generated via interface + my ($correct_syspref_exists) = $dbh->selectrow_array(q{ + SELECT COUNT(*) FROM systempreferences WHERE variable='RetainPatronsSearchTerms' }); - say $out "Wrong system preference 'RetainPatronSearchTerms' deleted"; + if ( $correct_syspref_exists ) { + $dbh->do(q{ + DELETE FROM systempreferences WHERE variable='RetainPatronSearchTerms' + }); + say $out "Wrong system preference 'RetainPatronSearchTerms' deleted"; + } else { + $dbh->do(q{ + UPDATE systempreferences SET variable='RetainPatronsSearchTerms' WHERE variable='RetainPatronSearchTerms' + }); + say $out "Wrong system preference 'RetainPatronSearchTerms' renamed 'RetainPatronsSearchTerms'"; + } } else { - $dbh->do(q{ - UPDATE systempreferences SET variable='RetainPatronsSearchTerms' WHERE variable='RetainPatronSearchTerms' - }); - say $out "Wrong system preference 'RetainPatronSearchTerms' renamed 'RetainPatronsSearchTerms'"; + say $out "Wrong system preference 'RetainPatronSearchTerms' does not exist"; } }, }; --