--- bin/PrepareSnapshot 2003/08/05 21:10:28 1.4 +++ bin/PrepareSnapshot 2003/11/02 10:21:45 1.11 @@ -15,14 +15,13 @@ use IO::File; use Getopt::Long; use RServ; -use Sys::Hostname; $| = 1; my ($debug,$verbose) = (0,0); my ($help,$masterhost,$masterport,$masteruser,$masterpassword, $slavehost,$slaveport,$slaveuser,$slavepassword); -my $snapshot = "__Snapshot"; +my $snapshot; my $result = GetOptions( "debug!" => \$debug, "verbose!" => \$verbose, "help" => \$help, @@ -41,20 +40,18 @@ exit ((scalar(@ARGV) < 2)? 1:0); } +$RServ::quiet = !$verbose; +if ($debug) { + $RServ::quiet = 0; + no warnings 'vars'; + $RServ::debug = $debug; +} + my $master = $ARGV[0] || "master"; my $slave = $ARGV[1] || "slave"; -my $minfo = "dbname=$master"; -$minfo = "$minfo host=$masterhost" if (defined($masterhost)); -$minfo = "$minfo port=$masterport" if (defined($masterport)); -$minfo = "$minfo user=$masteruser" if (defined($masteruser)); -$minfo = "$minfo password=$masterpassword" if (defined($masterpassword)); - -my $sinfo = "dbname=$slave"; -$sinfo = "$sinfo host=$slavehost" if (defined($slavehost)); -$sinfo = "$sinfo port=$slaveport" if (defined($slaveport)); -$sinfo = "$sinfo user=$slaveuser" if (defined($slaveuser)); -$sinfo = "$sinfo password=$slavepassword" if (defined($slavepassword)); +my $minfo = MkInfo($master,$masterhost,$masterport,$masteruser,$masterpassword); +my $sinfo = MkInfo($slave,$slavehost,$slaveport,$slaveuser,$slavepassword); my $mconn = Pg::connectdb($minfo); if ($mconn->status != Pg::PGRES_CONNECTION_OK) { @@ -75,15 +72,22 @@ $outf = *STDOUT; } -my $hostname = defined($slavehost) ? $slavehost : hostname; -my $slaveId = GetSlaveId($mconn, $slave, $hostname); -if (! $slaveId) { - print STDERR "Can't find SlaveId for db '$slave' on host $hostname. Is this database slave?\n"; +$slavehost = 'localhost' if (! $slavehost); +my $slaveId = GetServerId($mconn, $slave, $slavehost); +if (! defined($slaveId)) { + print STDERR "Can't find SlaveId for db '$slave' on host $slavehost. Is this database slave?\n"; exit 1; } -die "Unknown SlaveId $slaveId for host $hostname" if ($slaveId < 0); +die "Unknown SlaveId $slaveId for host $slavehost" if ($slaveId < 0); -my $res = PrepareSnapshot ($mconn, $sconn, $outf, $slaveId); +$masterhost = 'localhost' if (! $masterhost); +my $masterId = GetServerId($mconn, $master, $masterhost); +if (! defined($masterId)) { + print STDERR "Can't find masterId for db '$master' on host $masterhost. Is this database master?\n"; + exit 1; +} +die "Unknown masterId $masterId for host $masterhost" if ($masterId < 0); +my $res = PrepareSnapshot ($mconn, $sconn, $outf, $masterId, $slaveId); if ($res == 0) {