From b758be1d37cb49ced8cb17fca3d5a4cb2dd2e03e Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Mon, 6 Jul 2015 19:21:04 +0000 Subject: Bug 1172968: Move the scripts we want to keep from contrib/* and place them in scripts/ directory. Remove contrib from repo --- contrib/reorg-tools/fixqueries.pl | 136 -------------------------------------- 1 file changed, 136 deletions(-) delete mode 100755 contrib/reorg-tools/fixqueries.pl (limited to 'contrib/reorg-tools/fixqueries.pl') diff --git a/contrib/reorg-tools/fixqueries.pl b/contrib/reorg-tools/fixqueries.pl deleted file mode 100755 index 221213058..000000000 --- a/contrib/reorg-tools/fixqueries.pl +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/perl -w -# -*- Mode: perl; indent-tabs-mode: nil -*- -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Bugzilla Bug Tracking System. -# -# The Initial Developer of the Original Code is Netscape Communications -# Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): Gervase Markham - -use strict; - -use lib qw(. lib); - -use Bugzilla; -use Bugzilla::Constants; -use Bugzilla::Util; - -sub usage() { - print < - -E.g.: fixqueries.pl product FoodReplicator SeaMonkey -will change all occurrences of "FoodReplicator" to "Seamonkey" in the -appropriate places in the namedqueries, series and series_categories tables. - -Note that all parameters are case-sensitive. -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++; - } - } - } - - #$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); - } - } - - #$dbh->bz_commit_transaction(); - print "series: $replace_count replacements made.\n"; -} - -# series_categories -sub do_series_categories($$) { - my ($old, $new) = @_; - my $dbh = Bugzilla->dbh; - - $dbh->do("UPDATE series_categories SET name = ? WHERE name = ?", - undef, - ($new, $old)); -} - -############################################################################# -# MAIN CODE -############################################################################# -# This is a pure command line script. -Bugzilla->usage_mode(USAGE_MODE_CMDLINE); - -if (scalar @ARGV < 3) { - usage(); - exit(); -} - -my ($field, $old, $new) = @ARGV; - -print "Changing all instances of '$old' to '$new'.\n\n"; - -do_namedqueries($field, $old, $new); -do_series($field, $old, $new); -do_series_categories($old, $new); - -# It's complex to determine which items now need to be flushed from memcached. -# As this is expected to be a rare event, we just flush the entire cache. -Bugzilla->memcached->clear_all(); - -exit(0); - -- cgit v1.2.3-24-g4f1b