/[rserv]/bin/MasterInit
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /bin/MasterInit

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by dpavlin, Tue Aug 5 14:54:39 2003 UTC revision 1.5 by dpavlin, Tue Aug 5 21:10:28 2003 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl  #!/usr/bin/perl -w
2  # MasterInit  # MasterInit
3  # Vadim Mikheev, (c) 2000, PostgreSQL Inc.  # Vadim Mikheev, (c) 2000, PostgreSQL Inc.
4    
# Line 6  eval '(exit $?0)' && eval 'exec perl -S Line 6  eval '(exit $?0)' && eval 'exec perl -S
6      & eval 'exec perl -S $0 $argv:q'      & eval 'exec perl -S $0 $argv:q'
7      if 0;      if 0;
8    
9    use strict;
10  use Pg;  use Pg;
11  use Getopt::Long;  use Getopt::Long;
12    
13  $lib = '/usr/lib/postgresql/lib/rserv.so';  my $lib = '/usr/lib/postgresql/lib/rserv.so';
14    
15  $| = 1;  $| = 1;
16    
17  $result = GetOptions("debug!", "verbose!", "help",  my ($debug,$verbose) = (0,0);
18                       "masterhost=s", "masterport=i",  my ($help,$masterhost,$masterport,$masteruser,$masterpassword);
                      "masteruser=s", "masterpassword=s", "lib=s");  
19    
20  my $debug = $opt_debug || 0;  my $result = GetOptions(
21  my $verbose = $opt_verbose || 0;          "debug!" => \$debug, "verbose!" => \$verbose, "help" => \$help,
22            "masterhost=s" => \$masterhost, "masterport=i" => \$masterport,
23  if (defined($opt_help) || (scalar(@ARGV) < 1)) {          "masteruser=s" => \$masteruser, "masterpassword=s" => \$masterpassword,
24      print "Usage: $0 --masterhost=name --masterport=port\n\t--masteruser=name --masterpassword=string\n\t--lib=libpath masterdb\n";          "lib=s" => \$lib);
25    
26    if (defined($help) || (scalar(@ARGV) < 1)) {
27        print "Usage: $0 [options] masterdb
28    Options:
29            --masterhost=hostname --masterport=port
30            --masteruser=username --masterpassword=string
31            --lib=libpath
32    ";
33      exit ((scalar(@ARGV) < 1)? 1:0);      exit ((scalar(@ARGV) < 1)? 1:0);
34  }  }
35    
36  my $master = $ARGV[0] || "master";  my $master = $ARGV[0] || "master";
37    
38  my $minfo = "dbname=$master";  my $minfo = "dbname=$master";
39  $minfo = "$minfo host=$opt_masterhost" if (defined($opt_masterhost));  $minfo = "$minfo host=$masterhost" if (defined($masterhost));
40  $minfo = "$minfo user=$opt_masteruser" if (defined($opt_masteruser));  $minfo = "$minfo port=$masterport" if (defined($masterport));
41  $minfo = "$minfo port=$opt_masterport" if (defined($opt_masterport));  $minfo = "$minfo user=$masteruser" if (defined($masteruser));
42  $minfo = "$minfo password=$opt_masterpassword" if (defined($opt_masterpassword));  $minfo = "$minfo password=$masterpassword" if (defined($masterpassword));
   
 $lib = $opt_lib if (defined($opt_lib));  
43    
44  sub RollbackAndQuit {  sub RollbackAndQuit {
45      $conn = shift @_;      my $conn = shift @_;
46    
47      print STDERR "Error in query: ", $conn->errorMessage;      print STDERR "Error in query: ", $conn->errorMessage;
48      $conn->exec("ROLLBACK");      $conn->exec("ROLLBACK");
# Line 49  if ($conn->status != PGRES_CONNECTION_OK Line 55  if ($conn->status != PGRES_CONNECTION_OK
55      exit 1;      exit 1;
56  }  }
57    
58  my $result = $conn->exec("BEGIN");  $result = $conn->exec("BEGIN");
59  RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK);  RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK);
60    
61  $result = $conn->exec("set transaction isolation level serializable");  $result = $conn->exec("set transaction isolation level serializable");

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.26