10 |
use Pg; |
use Pg; |
11 |
use Getopt::Long; |
use Getopt::Long; |
12 |
|
|
|
my $lib = '/usr/lib/postgresql/lib/rserv.so'; |
|
|
|
|
13 |
$| = 1; |
$| = 1; |
14 |
|
|
15 |
my ($debug,$verbose) = (0,0); |
my ($debug,$verbose) = (0,0); |
16 |
my ($help,$masterhost,$masterport,$masteruser,$masterpassword); |
my ($help,$masterhost,$masterport,$masteruser,$masterpassword); |
17 |
|
my $lib; |
18 |
|
|
19 |
my $result = GetOptions( |
my $result = GetOptions( |
20 |
"debug!" => \$debug, "verbose!" => \$verbose, "help" => \$help, |
"debug!" => \$debug, "verbose!" => \$verbose, "help" => \$help, |
40 |
$minfo = "$minfo user=$masteruser" if (defined($masteruser)); |
$minfo = "$minfo user=$masteruser" if (defined($masteruser)); |
41 |
$minfo = "$minfo password=$masterpassword" if (defined($masterpassword)); |
$minfo = "$minfo password=$masterpassword" if (defined($masterpassword)); |
42 |
|
|
43 |
|
if (!defined($lib) || !-e $lib) { |
44 |
|
# find my compiled rserv.so module |
45 |
|
$lib = $0; $lib =~ s#/[^/]+$#/../lib#; |
46 |
|
if ($lib =~ m#^\.#) { |
47 |
|
my $pwd = `pwd`; |
48 |
|
chomp($pwd); |
49 |
|
$lib = "$pwd/$lib/"; |
50 |
|
} |
51 |
|
while ($lib =~ s#/[^/]+/\.\./#/#g) {}; |
52 |
|
while ($lib =~ s#/\./#/#g) {}; |
53 |
|
$lib =~ s#//#/#g; |
54 |
|
|
55 |
|
if (-e "$lib/rserv.so") { |
56 |
|
$lib .= "rserv.so"; |
57 |
|
} else { |
58 |
|
print STDERR "Can't find compiled rserv.so in $lib. Go there and type make.\n"; |
59 |
|
exit 1; |
60 |
|
} |
61 |
|
} |
62 |
|
print "Using lib '$lib'\n" if ($verbose); |
63 |
|
|
64 |
sub RollbackAndQuit { |
sub RollbackAndQuit { |
65 |
my $conn = shift @_; |
my $conn = shift @_; |
66 |
|
|