From f420e759db5e8d975d9285215661b7935e190b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kusalananda=20K=C3=A4h=C3=A4ri?= <ak4@sanger.ac.uk> Date: Tue, 15 Jul 2003 09:40:50 +0000 Subject: [PATCH] Now even scarier... Conserver space by keeping at most two databases locally. Might still not be good enough to create deltas for mart. --- misc-scripts/binary_delta/planner.pl | 43 +++++++++++++++++----------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/misc-scripts/binary_delta/planner.pl b/misc-scripts/binary_delta/planner.pl index a362ebe09b..899dc69890 100755 --- a/misc-scripts/binary_delta/planner.pl +++ b/misc-scripts/binary_delta/planner.pl @@ -39,29 +39,40 @@ while (defined(my $line = <>)) { } foreach my $db (keys %thing) { - foreach my $v (@{ $thing{$db} }) { - print <<EOT; -if [ ! -f databases/${db}_$v.done ]; then - scp -c none -r ecs3:/mysqla/current/var/${db}_$v databases/ -fi + my @pair; + print <<EOT; +# DATABASE: $db EOT - } + foreach my $v (@{ $thing{$db} }) { + shift(@pair) if (scalar @pair == 2); + push(@pair, [ $db, $v ]); + next if (scalar @pair != 2); - for (my $i = 0; $i < scalar @{ $thing{$db} } - 1; ++$i) { + my $p0 = $pair[0][0] . '_' . $pair[0][1]; + my $p1 = $pair[1][0] . '_' . $pair[1][1]; + my $d = $p0 . '_delta_' . $pair[1][1]; print <<EOT; -if [ ! -f deltas/${db}_$thing{$db}[$i]_delta_$thing{$db}[$i + 1].txt ]; then - /usr/bin/time perl ./build.pl -c ./xdelta.osf -s databases -d deltas \\ - $db $thing{$db}[$i] $thing{$db}[$i + 1] 2>&1 | \\ - tee deltas/${db}_$thing{$db}[$i]_delta_$thing{$db}[$i + 1].txt +# DELTA: $pair[0][1] -> $pair[1][1] +if [ ! -d databases/$p0 -a ! -f databases/$p0.done ]; then + scp -c none -r ecs3:/mysqla/current/var/$p0 databases/ +fi +if [ ! -d databases/$p1 -a ! -f databases/$p1.done ]; then + scp -c none -r ecs3:/mysqla/current/var/$p1 databases/ +fi +if [ ! -f deltas/$d.txt ]; then + /usr/bin/time ./build.pl -c ./xdelta.osf -s databases -d deltas \\ + $pair[0][0] $pair[0][1] $pair[1][1] 2>&1 | \\ + tee deltas/$d.txt + rm -rf databases/$p0 + touch databases/$p0.done fi EOT } - - foreach my $v (@{ $thing{$db} }) { + if (defined $pair[1]) { print <<EOT; -if [ ! -f databases/${db}_$v.done ]; then - rm -rf databases/${db}_$v - touch databases/${db}_$v.done +if [ -d databases/$pair[1][0]_$pair[1][1] ]; then + rm -rf databases/$pair[1][0]_$pair[1][1] + touch databases/$pair[1][0]_$pair[1][1].done fi EOT } -- GitLab