diff options
Diffstat (limited to 'scripts/fixqueries.pl')
-rwxr-xr-x | scripts/fixqueries.pl | 117 |
1 files changed, 62 insertions, 55 deletions
diff --git a/scripts/fixqueries.pl b/scripts/fixqueries.pl index c26165160..d29ba03a1 100755 --- a/scripts/fixqueries.pl +++ b/scripts/fixqueries.pl @@ -42,72 +42,79 @@ USAGE } sub do_namedqueries($$$) { - my ($field, $old, $new) = @_; - $old = url_quote($old); - $new = url_quote($new); - - my $dbh = Bugzilla->dbh; - #$dbh->bz_start_transaction(); - - my $replace_count = 0; - my $query = $dbh->selectall_arrayref("SELECT id, query FROM namedqueries"); - if ($query) { - my $sth = $dbh->prepare("UPDATE namedqueries SET query = ? - WHERE id = ?"); - - foreach my $row (@$query) { - my ($id, $query) = @$row; - if ($query =~ /(?:^|&|;)$field=$old(?:&|$|;)/) { - $query =~ s/((?:^|&|;)$field=)$old(;|&|$)/$1$new$2/; - $sth->execute($query, $id); - $replace_count++; - } - } + my ($field, $old, $new) = @_; + $old = url_quote($old); + $new = url_quote($new); + + my $dbh = Bugzilla->dbh; + + #$dbh->bz_start_transaction(); + + my $replace_count = 0; + my $query = $dbh->selectall_arrayref("SELECT id, query FROM namedqueries"); + if ($query) { + my $sth = $dbh->prepare( + "UPDATE namedqueries SET query = ? + WHERE id = ?" + ); + + foreach my $row (@$query) { + my ($id, $query) = @$row; + if ($query =~ /(?:^|&|;)$field=$old(?:&|$|;)/) { + $query =~ s/((?:^|&|;)$field=)$old(;|&|$)/$1$new$2/; + $sth->execute($query, $id); + $replace_count++; + } } + } - #$dbh->bz_commit_transaction(); - print "namedqueries: $replace_count replacements made.\n"; + #$dbh->bz_commit_transaction(); + print "namedqueries: $replace_count replacements made.\n"; } # series sub do_series($$$) { - my ($field, $old, $new) = @_; - $old = url_quote($old); - $new = url_quote($new); - - my $dbh = Bugzilla->dbh; - #$dbh->bz_start_transaction(); - - my $replace_count = 0; - my $query = $dbh->selectall_arrayref("SELECT series_id, query - FROM series"); - if ($query) { - my $sth = $dbh->prepare("UPDATE series SET query = ? - WHERE series_id = ?"); - foreach my $row (@$query) { - my ($series_id, $query) = @$row; - - if ($query =~ /(?:^|&|;)$field=$old(?:&|$|;)/) { - $query =~ s/((?:^|&|;)$field=)$old(;|&|$)/$1$new$2/; - $replace_count++; - } - - $sth->execute($query, $series_id); - } + my ($field, $old, $new) = @_; + $old = url_quote($old); + $new = url_quote($new); + + my $dbh = Bugzilla->dbh; + + #$dbh->bz_start_transaction(); + + my $replace_count = 0; + my $query = $dbh->selectall_arrayref( + "SELECT series_id, query + FROM series" + ); + if ($query) { + my $sth = $dbh->prepare( + "UPDATE series SET query = ? + WHERE series_id = ?" + ); + foreach my $row (@$query) { + my ($series_id, $query) = @$row; + + if ($query =~ /(?:^|&|;)$field=$old(?:&|$|;)/) { + $query =~ s/((?:^|&|;)$field=)$old(;|&|$)/$1$new$2/; + $replace_count++; + } + + $sth->execute($query, $series_id); } + } - #$dbh->bz_commit_transaction(); - print "series: $replace_count replacements made.\n"; + #$dbh->bz_commit_transaction(); + print "series: $replace_count replacements made.\n"; } # series_categories sub do_series_categories($$) { - my ($old, $new) = @_; - my $dbh = Bugzilla->dbh; + my ($old, $new) = @_; + my $dbh = Bugzilla->dbh; - $dbh->do("UPDATE series_categories SET name = ? WHERE name = ?", - undef, - ($new, $old)); + $dbh->do("UPDATE series_categories SET name = ? WHERE name = ?", + undef, ($new, $old)); } ############################################################################# @@ -117,8 +124,8 @@ sub do_series_categories($$) { Bugzilla->usage_mode(USAGE_MODE_CMDLINE); if (scalar @ARGV < 3) { - usage(); - exit(); + usage(); + exit(); } my ($field, $old, $new) = @ARGV; |