From 43530e54a5e220ff6b284677e681fcf49bb5fdb5 Mon Sep 17 00:00:00 2001 From: "mkanat%kerio.com" Date: Thu, 12 Jan 2006 07:03:46 +0000 Subject: [PATCH] Bug 322771: PostgreSQL incorrectly detects that some summaries have control characters when they don't Patch By Frederic Buclin r=mkanat, a=justdave --- webtools/bugzilla/checksetup.pl | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/webtools/bugzilla/checksetup.pl b/webtools/bugzilla/checksetup.pl index 847ada5bbf8..4ec455efa83 100755 --- a/webtools/bugzilla/checksetup.pl +++ b/webtools/bugzilla/checksetup.pl @@ -4245,17 +4245,22 @@ $dbh->bz_alter_column('logincookies', 'cookie', my $controlchar_bugs = $dbh->selectall_arrayref("SELECT short_desc, bug_id FROM bugs WHERE " . $dbh->sql_regexp('short_desc', "'[[:cntrl:]]'")); -if (@$controlchar_bugs) +if (scalar(@$controlchar_bugs)) { - print 'Cleaning control characters from bug summaries...'; + my $msg = 'Cleaning control characters from bug summaries...'; + my $found = 0; foreach (@$controlchar_bugs) { my ($short_desc, $bug_id) = @$_; - print " $bug_id..."; - $short_desc = clean_text($short_desc); - $dbh->do("UPDATE bugs SET short_desc = ? WHERE bug_id = ?", - undef, $short_desc, $bug_id); + my $clean_short_desc = clean_text($short_desc); + if ($clean_short_desc ne $short_desc) { + print $msg if !$found; + $found = 1; + print " $bug_id..."; + $dbh->do("UPDATE bugs SET short_desc = ? WHERE bug_id = ?", + undef, $clean_short_desc, $bug_id); + } } - print " done.\n"; + print " done.\n" if $found; } # If you had to change the --TABLE-- definition in any way, then add your