[dw-free] remove support for legacy dversions
[commit: http://hg.dwscoalition.org/dw-free/rev/1043065daebc]
http://bugs.dwscoalition.org/show_bug.cgi?id=1740
Remove unneeded code from bin/
Patch by
kareila.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=1740
Remove unneeded code from bin/
Patch by
Files modified:
- bin/d7d8-rollback-user.pl
- bin/deleteusers.pl
- bin/upgrading/pop-clusterprops.pl
- bin/upgrading/update-db.pl
--------------------------------------------------------------------------------
diff -r a65687fd9fed -r 1043065daebc bin/d7d8-rollback-user.pl
--- a/bin/d7d8-rollback-user.pl Mon Sep 07 11:36:43 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#!/usr/bin/perl
-#
-# Given a specific user, change their dversion from 8 to 7
-# migrating whatever polls they have to their user cluster
-
-use strict;
-use lib "$ENV{'LJHOME'}/cgi-bin/";
-require "ljlib.pl";
-use LJ::Poll;
-use Term::ReadLine;
-
-my $user = shift() or die "need parameter of username\n";
-my $u = LJ::load_user($user) or die "user doesn't exist\n";
-die "user not at dversion 8\n" unless ($u->{'dversion'} == 8);
-
-my $VERBOSE = 0; # print out extra info
-
-my $dbh = LJ::get_db_writer()
- or die "Could not connect to global master";
-
-my $dbr = LJ::get_cluster_reader($u)
- or die "can't get cluster reader for user $user\n";;
-
-my $term = new Term::ReadLine 'd7-d8 rollback';
-my $line = $term->readline("Do you want to roll user $user back to dversion 7? [N/y] ");
-unless ($line =~ /^y/i) {
- print "Not rolling back to dversion 7\n\n";
- exit;
-}
-
-print "\n--- Downgrading user to dversion 7 ---\n\n";
-
-my $maxpollid_master = $dbh->selectrow_array("SELECT MAX(pollid) FROM poll2 WHERE journalid=?", undef, $u->{userid});
-my $maxpollid_cluster = $dbr->selectrow_array("SELECT MAX(pollid) FROM poll2 WHERE journalid=?", undef, $u->{userid});
-
-# Polls created on the cluster will not exist on the master, so ask how to proceed
-# "[Error: Invalid poll ID ####]" will appear for polls that are not retrievable
-if ($maxpollid_cluster > $maxpollid_master) {
- $line = $term->readline("User has created polls on the cluster, downgrade user anyhow? [N/y] ");
- unless ($line =~ /^y/i) {
- print "Not rolling back to dversion 7\n\n";
- exit;
- }
-}
-
-#$dbh->do("UPDATE user SET dversion=7 where userid=?", undef, $u->{userid});
-die "Downgrade failed: " . $dbh->errstr
- unless ( LJ::update_user($u, { 'dversion' => 7 }) );
-
-print "--- Done downgrading user $user to dversion 7 ---\n";
diff -r a65687fd9fed -r 1043065daebc bin/deleteusers.pl
--- a/bin/deleteusers.pl Mon Sep 07 11:36:43 2009 +0000
+++ b/bin/deleteusers.pl Mon Sep 07 13:58:45 2009 +0000
@@ -82,23 +82,14 @@ foreach my $uid (@delusers)
# delete userpics
{
print " userpics\n";
- if ($du->{'dversion'} > 6) {
- $ids = $dbcm->selectcol_arrayref("SELECT picid FROM userpic2 WHERE userid=$uid");
- } else {
- $ids = $dbh->selectcol_arrayref("SELECT picid FROM userpic WHERE userid=$uid");
- }
+ $ids = $dbcm->selectcol_arrayref("SELECT picid FROM userpic2 WHERE userid=$uid");
my $in = join(",",@$ids);
if ($in) {
print " userpics: $in\n";
$runsql->($dbcm, $user, "DELETE FROM userpicblob2 WHERE userid=$uid AND picid IN ($in)");
- if ($du->{'dversion'} > 6) {
- $runsql->($dbcm, $user, "DELETE FROM userpic2 WHERE userid=$uid");
- $runsql->($dbcm, $user, "DELETE FROM userpicmap2 WHERE userid=$uid");
- $runsql->($dbcm, $user, "DELETE FROM userkeywords WHERE userid=$uid");
- } else {
- $runsql->($dbh, $user, "DELETE FROM userpic WHERE userid=$uid");
- $runsql->($dbh, $user, "DELETE FROM userpicmap WHERE userid=$uid");
- }
+ $runsql->($dbcm, $user, "DELETE FROM userpic2 WHERE userid=$uid");
+ $runsql->($dbcm, $user, "DELETE FROM userpicmap2 WHERE userid=$uid");
+ $runsql->($dbcm, $user, "DELETE FROM userkeywords WHERE userid=$uid");
}
}
diff -r a65687fd9fed -r 1043065daebc bin/upgrading/pop-clusterprops.pl
--- a/bin/upgrading/pop-clusterprops.pl Mon Sep 07 11:36:43 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-#!/usr/bin/perl
-#
-# This script converts from dversion 3 to dversion 4,
-# which makes most userprops clustered
-#
-
-use strict;
-
-require "$ENV{'LJHOME'}/cgi-bin/ljlib.pl";
-
-my $fromver = shift;
-die "Usage: pop-clusterprops.pl <fromdversion>\n\t(where fromdversion is one of: 3)\n"
- unless $fromver == 3;
-
-my $dbh = LJ::get_db_writer();
-
-my $todo = $dbh->selectrow_array("SELECT COUNT(*) FROM user WHERE dversion=$fromver");
-my $done = 0;
-unless ($todo) {
- print "Nothing to convert.\n";
- exit 0;
-}
-
-sub get_some {
- my @list;
- my $sth = $dbh->prepare("SELECT * FROM user WHERE dversion=$fromver LIMIT 200");
- $sth->execute;
- push @list, $_ while $_ = $sth->fetchrow_hashref;
- @list;
-}
-
-my $tover = $fromver + 1;
-print "Converting $todo users from data version $fromver to $tover...\n";
-
-my @props;
-my $sth = $dbh->prepare("SELECT upropid FROM userproplist WHERE cldversion=?");
-$sth->execute($tover);
-push @props, $_ while $_ = $sth->fetchrow_array;
-my $in = join(',', @props);
-die "No values?" unless $in;
-
-my $start = time();
-while (my @list = get_some()) {
- LJ::start_request();
-
- my %cluster; # clusterid -> [ $u* ]
- foreach my $u (@list) {
- push @{$cluster{$u->{'clusterid'}}}, $u;
- }
-
- foreach my $cid (keys %cluster) {
- my $dbcm = LJ::get_cluster_master($cid);
- next unless $dbcm;
-
- my $uid_in = join(',', map { $_->{'userid'} } @{$cluster{$cid}});
-
- my @vals;
- foreach my $table (qw(userprop userproplite)) {
- $sth = $dbh->prepare("SELECT userid, upropid, value FROM $table ".
- "WHERE userid IN ($uid_in) AND upropid IN ($in)");
- $sth->execute();
- while (my ($uid, $pid, $v) = $sth->fetchrow_array) {
- push @vals, "($uid,$pid," . $dbh->quote($v) . ")";
- }
- }
- if (@vals) {
- my $sql = "REPLACE INTO userproplite2 VALUES " . join(',', @vals);
- $dbcm->do($sql);
- if ($dbcm->err) {
- die "Error: " . $dbcm->errstr . "\n\n(Do you need to --runsql on your clusters first?)\n";
- }
- $dbh->do("DELETE FROM userprop WHERE userid IN ($uid_in) AND upropid IN ($in)");
- $dbh->do("DELETE FROM userproplite WHERE userid IN ($uid_in) AND upropid IN ($in)");
- }
- $dbh->do("UPDATE user SET dversion=$tover WHERE userid IN ($uid_in) AND dversion=$fromver");
- $done += scalar @{$cluster{$cid}};
- }
-
- my $perc = $done/$todo;
- my $elapsed = time() - $start;
- my $total_time = $elapsed / $perc;
- my $min_remain = int(($total_time - $elapsed) / 60);
- printf "%d/%d complete (%.02f%%) minutes_remain=%d\n", $done, $todo, ($perc*100), $min_remain;
-}
diff -r a65687fd9fed -r 1043065daebc bin/upgrading/update-db.pl
--- a/bin/upgrading/update-db.pl Mon Sep 07 11:36:43 2009 +0000
+++ b/bin/upgrading/update-db.pl Mon Sep 07 13:58:45 2009 +0000
@@ -188,21 +188,6 @@ if ($opt_pop) {
$dbh = LJ::get_db_writer()
or die "Couldn't get master handle for population.";
populate_database();
-}
-
-# make sure they don't have cluster0 users (support for that will be going away)
-# Note: now cluster 0 means expunged (as well as statuvis 'X'), so there's
-# an option to disable the warning if you're running new code and know what's up.
-# if they're running modern code (with dversion 6 users), we won't check
-unless ($dbh->selectrow_array("SELECT userid FROM user WHERE dversion >= 6 LIMIT 1")) {
- my $cluster0 = $dbh->selectrow_array("SELECT COUNT(*) FROM user WHERE clusterid=0");
- if ($cluster0) {
- print "\n", "* "x35, "\nWARNING: You have $cluster0 users on cluster 0.\n\n".
- "Support for that old database schema is deprecated and will be removed soon.\n".
- "You should stop updating from CVS until you've moved all your users to a cluster \n".
- "(probably cluster '1', which you can run on the same database). \n".
- "See bin/moveucluster.pl for instructions.\n" . "* "x35 . "\n\n";
- }
}
print "# Done.\n";
--------------------------------------------------------------------------------
