afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
afuna ([personal profile] afuna) wrote in [site community profile] changelog2009-09-07 02:05 pm

[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 [personal profile] kareila.

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";
--------------------------------------------------------------------------------