/[pgdiff]/pgdiff
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 /pgdiff

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

revision 1.6 by dpavlin, Wed Aug 13 13:27:32 2003 UTC revision 1.8 by dpavlin, Fri Aug 15 22:51:56 2003 UTC
# Line 63  $sinfo = "$sinfo port=$slaveport" if (de Line 63  $sinfo = "$sinfo port=$slaveport" if (de
63  print "Master connection is $minfo\n" if ($debug);  print "Master connection is $minfo\n" if ($debug);
64  print "Slave connection is $sinfo\n" if ($debug);  print "Slave connection is $sinfo\n" if ($debug);
65    
66  my $mdbh = DBI->connect("DBI:Pg:$minfo", $masteruser, $masterpassword, { PrintError => 1 });  my $mdbh = DBI->connect("DBI:Pg:$minfo", $masteruser, $masterpassword, { PrintError => 0 } );
67  my $sdbh = DBI->connect("DBI:Pg:$sinfo", $slaveuser, $slavepassword, { PrintError => 1 });  if (! $mdbh) {
68            print "Can't connect to master database $master";
69            print "on $masterhost" if ($masterhost);
70            print "\n";
71            exit 1;
72    }
73    my $sdbh = DBI->connect("DBI:Pg:$sinfo", $slaveuser, $slavepassword, { PrintError => 0 });
74    if (! $sdbh) {
75            print "Can't connect to slave database $slave";
76            print "on $slavehost" if ($slavehost);
77            print "\n";
78            exit 1;
79    }
80    
81  my ($diff_shema,$diff_data) = (0,0);  my ($diff_shema,$diff_data) = (0,0);
82    
# Line 107  sub debug { Line 119  sub debug {
119  $verbose = 1 if ($debug);  $verbose = 1 if ($debug);
120    
121  # init object for scheme in master database  # init object for scheme in master database
122  my $mscheme = new Pg::Scheme( 'dbh' => $mdbh, 'DEBUG' => 0 ) || die "can't query schema";  my $mscheme = new Pg::Scheme( 'dbh' => $mdbh, 'DEBUG' => 0 ) || die "can't query master schema";
123    my $sscheme = new Pg::Scheme( 'dbh' => $sdbh, 'DEBUG' => 0 ) || die "can't query slave schema";
124    
125  # which tables to compare?  # which tables to compare?
126    
# Line 115  my @tables = $mscheme->list_tables($tabl Line 128  my @tables = $mscheme->list_tables($tabl
128    
129  debug "Comparing tables: ".join(", ",@tables)."\n";  debug "Comparing tables: ".join(", ",@tables)."\n";
130    
131    # start transaction
132    print "begin work;\n";
133    
134    # disable active triggers on slave database
135    my @triggers = $sscheme->get_triggers();
136    
137    foreach my $tr (@triggers) {
138            print "update pg_trigger set tgenabled = false where tgname='$tr';\n";
139    }
140    
141  my $cols;  my $cols;
142  my $diff_total = 0;  my $diff_total = 0;
143    
# Line 377  if ($verbose) { Line 400  if ($verbose) {
400          }          }
401  }  }
402    
403    # enable triggers again on slave
404    foreach my $tr (@triggers) {
405            print "update pg_trigger set tgenabled = true where tgname='$tr';\n";
406    }
407    # end transaction
408    print "commit;\n";
409    
410  $mdbh->disconnect();  $mdbh->disconnect();
411  $sdbh->disconnect();  $sdbh->disconnect();

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.26