other hand the code may work without, in a compatible way. This bit hasn't
been very well tested (the 'no Storable' condition that is).
+[*** NOTE ***] make sure that you do an 'export_user' BEFORE restarting
+you node. (Yes I know this is like a shrinkwrap licence, but I can't
+help it).
+
It will take several minutes for the node to restart when it does the
conversion from .v2 to .v3 user file. Please go and have a good strong cup
of tea whilst this is happening.
+
+If it fails then you will need to edit your latest user_asc file on (or about)
+line 25 it says: $ref = decode($f[1]); you will need to change that to
+$ref = asc_decode($f[1]); and then do: perl user_asc
+
21Feb03=======================================================================
1. moved the export of the users file to Wednesday night (GMT) to avoid
possible crashes and/or delays during a contest weekend.
if ($@) {
$ufn = "$fn.v2";
+ $v3 = $convert = 0;
} else {
import Storable qw(nfreeze thaw);
$ufn = "$fn.v3";
$v3 = 1;
- $convert = ! -e $ufn;
+ $convert++ unless -e $ufn;
}
if ($mode) {
} else {
$dbm = tie (%u, 'DB_File', $ufn, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
}
+
+ $lru = LRU->newbase("DXUser", $lrusize);
# do a conversion if required
if ($convert) {
my ($key, $val, $action, $count, $err) = ('','',0,0,0);
my %oldu;
- dbg("Converting the User File to V3 (I suggest you go and have cup of strong tea)");
- my $odbm = tie (%oldu, 'DB_File', "${fn}.v2", O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
+ dbg("Converting the User File to V3 ");
+ dbg("This will take a while, I suggest you go and have cup of strong tea");
+ my $odbm = tie (%oldu, 'DB_File', "$fn.v2", O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn.v2 ($!) [rebuild it from user_asc?]";
for ($action = R_FIRST; !$odbm->seq($key, $val, $action); $action = R_NEXT) {
my $ref = asc_decode($val);
if ($ref) {
dbg("Conversion completed $count records $err errors");
}
$filename = $ufn;
- $lru = LRU->newbase("DXUser", $lrusize);
}
sub del_file