From 8043b2aa0ef5b97e4da6bad6f3fb7aeabde70de2 Mon Sep 17 00:00:00 2001 From: "bzrmirror%bugzilla.org" Date: Tue, 26 Aug 2014 14:30:48 +0000 Subject: [PATCH] Bug 1056087 - contrib/merge-users.pl fails if there are no duplicate bug_user_last_visit rows git-svn-id: svn://10.0.0.236/trunk@265520 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/bugzilla/.bzrrev | 2 +- mozilla/webtools/bugzilla/.gitrev | 2 +- mozilla/webtools/bugzilla/contrib/merge-users.pl | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/mozilla/webtools/bugzilla/.bzrrev b/mozilla/webtools/bugzilla/.bzrrev index 82d5d03ef6f..7e7a48acb34 100644 --- a/mozilla/webtools/bugzilla/.bzrrev +++ b/mozilla/webtools/bugzilla/.bzrrev @@ -1 +1 @@ -9115 \ No newline at end of file +9116 \ No newline at end of file diff --git a/mozilla/webtools/bugzilla/.gitrev b/mozilla/webtools/bugzilla/.gitrev index 50408ef0893..2ef417c8cc7 100644 --- a/mozilla/webtools/bugzilla/.gitrev +++ b/mozilla/webtools/bugzilla/.gitrev @@ -1 +1 @@ -0922b44649075532dea64bdc6469446a34f5219f \ No newline at end of file +82346032ecfef148e78a8d19e17c5ed41ed41d10 \ No newline at end of file diff --git a/mozilla/webtools/bugzilla/contrib/merge-users.pl b/mozilla/webtools/bugzilla/contrib/merge-users.pl index ddb828eefaf..86b209ab243 100755 --- a/mozilla/webtools/bugzilla/contrib/merge-users.pl +++ b/mozilla/webtools/bugzilla/contrib/merge-users.pl @@ -154,12 +154,17 @@ my $dupe_ids = $dbh->selectcol_arrayref(" SELECT earlier.id FROM bug_user_last_visit as earlier INNER JOIN bug_user_last_visit as later - ON (earlier.user_id != later.user_id AND earlier.last_visit_ts < later.last_visit_ts + ON (earlier.user_id != later.user_id + AND earlier.last_visit_ts < later.last_visit_ts AND earlier.bug_id = later.bug_id) WHERE (earlier.user_id = ? OR earlier.user_id = ?) AND (later.user_id = ? OR later.user_id = ?)", undef, $old_id, $new_id, $old_id, $new_id); -$dbh->do("DELETE FROM bug_user_last_visit WHERE " . $dbh->sql_in('id', $dupe_ids)); + +if (@$dupe_ids) { + $dbh->do("DELETE FROM bug_user_last_visit WHERE " . + $dbh->sql_in('id', $dupe_ids)); +} # Migrate records from old user to new user. foreach my $table (keys %changes) {