diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_addtable.in erserver_v1.2-pdn_0.1/bin/ers_addtable.in
--- erserver_v1.2/bin/ers_addtable.in	Tue Aug 26 14:00:21 2003
+++ erserver_v1.2-pdn_0.1/bin/ers_addtable.in	Wed Nov 12 12:20:55 2003
@@ -67,16 +67,28 @@ if($rows->rows == 0) {
   exit(1);
 }
 
-#check if table already contains the _ers_uniq field
+#check if _ers sequence exists in master
+$rows = $master->prepare("SELECT relname FROM pg_class WHERE relname = ?;");
+$rows->execute("_ers_${table}_seq");
+$seq_exist = $rows->rows;
+
+#check if table not contains the _ers_uniq field or
+#contains it but there is no _ers sequence (like in an ex-slave table)
 $rows = $master->prepare("SELECT pga.attname 
                             FROM pg_class pgc, pg_attribute pga 
                            WHERE pgc.relname = ?
                              AND pgc.oid = pga.attrelid 
                              AND pga.attname = '_ers_uniq';");
 $rows->execute($table);
-if($rows->rows == 0) {
+if(($rows->rows == 0) || ($rows->rows == 1 && $seq_exist == 0)) {
   $master->do("LOCK ${table} IN EXCLUSIVE MODE;") || die $master->errstr;
-  $master->do("ALTER TABLE ${table} ADD COLUMN _ers_uniq BIGINT;") || die $master->errstr;
+
+  if($rows->rows == 0) {
+    $master->do("ALTER TABLE ${table} ADD COLUMN _ers_uniq BIGINT;") || die $master->errstr;
+  } else {
+    $master->do("UPDATE ${table} SET _ers_uniq=NULL;") || die $master->errstr;
+  }
+
   $master->do("CREATE SEQUENCE _ers_${table}_seq;") || die $master->errstr;
   $master->do("ALTER TABLE ${table} ALTER COLUMN _ers_uniq SET DEFAULT NEXTVAL('\"_ers_${table}_seq\"');") || die $master->errstr;
   $master->do("UPDATE ${table} SET _ers_uniq = nextval('\"_ers_${table}_seq\"') WHERE _ers_uniq IS NULL;") || die $master->errstr;
@@ -103,7 +115,6 @@ if($rows->rows == 0) {
 }
 
 $rows->finish();
-$master->disconnect();
 
 for($ii=0;$ii<$replic->{'replic.master.ConnectionPoolSize'};$ii++) {
 
@@ -135,6 +146,8 @@ for($ii=0;$ii<$replic->{'replic.master.C
   $slave->disconnect();
 }
 
+$master->disconnect();
+
 # Let the user know that the table was added
 if(!$quiet) {
   print "Table '${table}' added\n\n";
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_mastershowcolumns erserver_v1.2-pdn_0.1/bin/ers_mastershowcolumns
--- erserver_v1.2/bin/ers_mastershowcolumns	Tue Aug 26 14:00:21 2003
+++ erserver_v1.2-pdn_0.1/bin/ers_mastershowcolumns	Wed Dec 31 18:00:00 1969
@@ -1,10 +0,0 @@
-#!/bin/sh
-# ers_mastershowcolumns
-# Copyright (C) 2002 Digital Distribution GFS P/L
-# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
-
-if [ "$REPLIC_HOME" = "" ]; then
-	. @prefix@/bin/ers_setvars
-fi
-
-$REPLIC_JAVA $SQL_GEN_CLASS $MASTER_J -mode columns -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_mastershowcolumns.in erserver_v1.2-pdn_0.1/bin/ers_mastershowcolumns.in
--- erserver_v1.2/bin/ers_mastershowcolumns.in	Wed Dec 31 18:00:00 1969
+++ erserver_v1.2-pdn_0.1/bin/ers_mastershowcolumns.in	Tue Aug 26 14:00:21 2003
@@ -0,0 +1,10 @@
+#!/bin/sh
+# ers_mastershowcolumns
+# Copyright (C) 2002 Digital Distribution GFS P/L
+# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
+
+if [ "$REPLIC_HOME" = "" ]; then
+	. @prefix@/bin/ers_setvars
+fi
+
+$REPLIC_JAVA $SQL_GEN_CLASS $MASTER_J -mode columns -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_mastershowtables erserver_v1.2-pdn_0.1/bin/ers_mastershowtables
--- erserver_v1.2/bin/ers_mastershowtables	Tue Aug 26 14:00:21 2003
+++ erserver_v1.2-pdn_0.1/bin/ers_mastershowtables	Wed Dec 31 18:00:00 1969
@@ -1,10 +0,0 @@
-#!/bin/sh
-# ers_mastershowtables
-# Copyright (C) 2002 Digital Distribution GFS P/L
-# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
-
-if [ "$REPLIC_HOME" = "" ]; then
-	. @prefix@/bin/ers_setvars
-fi
-
-$REPLIC_JAVA $SQL_GEN_CLASS $MASTER_J -mode tables -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_mastershowtables.in erserver_v1.2-pdn_0.1/bin/ers_mastershowtables.in
--- erserver_v1.2/bin/ers_mastershowtables.in	Wed Dec 31 18:00:00 1969
+++ erserver_v1.2-pdn_0.1/bin/ers_mastershowtables.in	Tue Aug 26 14:00:21 2003
@@ -0,0 +1,10 @@
+#!/bin/sh
+# ers_mastershowtables
+# Copyright (C) 2002 Digital Distribution GFS P/L
+# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
+
+if [ "$REPLIC_HOME" = "" ]; then
+	. @prefix@/bin/ers_setvars
+fi
+
+$REPLIC_JAVA $SQL_GEN_CLASS $MASTER_J -mode tables -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_remove.in erserver_v1.2-pdn_0.1/bin/ers_remove.in
--- erserver_v1.2/bin/ers_remove.in	Tue Aug 26 14:00:22 2003
+++ erserver_v1.2-pdn_0.1/bin/ers_remove.in	Wed Nov 12 10:46:16 2003
@@ -103,6 +103,10 @@ if(!$quiet) {
   print "\n";
 }
 
+# Stop eRServer
+
+system "ers_ctl stop";
+
 # Remove Master Tables
 
 # List of slave servers
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_slaveshowcolumns erserver_v1.2-pdn_0.1/bin/ers_slaveshowcolumns
--- erserver_v1.2/bin/ers_slaveshowcolumns	Tue Aug 26 14:00:23 2003
+++ erserver_v1.2-pdn_0.1/bin/ers_slaveshowcolumns	Wed Dec 31 18:00:00 1969
@@ -1,10 +0,0 @@
-#!/bin/sh
-# ers_slaveshowcolumns
-# Copyright (C) 2002 Digital Distribution GFS P/L
-# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
-
-if [ "$REPLIC_HOME" = "" ]; then
-	. @prefix@/bin/ers_setvars
-fi
-
-$REPLIC_JAVA $SQL_GEN_CLASS $SLAVE_J -mode columns -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_slaveshowcolumns.in erserver_v1.2-pdn_0.1/bin/ers_slaveshowcolumns.in
--- erserver_v1.2/bin/ers_slaveshowcolumns.in	Wed Dec 31 18:00:00 1969
+++ erserver_v1.2-pdn_0.1/bin/ers_slaveshowcolumns.in	Tue Aug 26 14:00:23 2003
@@ -0,0 +1,10 @@
+#!/bin/sh
+# ers_slaveshowcolumns
+# Copyright (C) 2002 Digital Distribution GFS P/L
+# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
+
+if [ "$REPLIC_HOME" = "" ]; then
+	. @prefix@/bin/ers_setvars
+fi
+
+$REPLIC_JAVA $SQL_GEN_CLASS $SLAVE_J -mode columns -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_slaveshowtables erserver_v1.2-pdn_0.1/bin/ers_slaveshowtables
--- erserver_v1.2/bin/ers_slaveshowtables	Tue Aug 26 14:00:23 2003
+++ erserver_v1.2-pdn_0.1/bin/ers_slaveshowtables	Wed Dec 31 18:00:00 1969
@@ -1,10 +0,0 @@
-#!/bin/sh
-# ers_slaveshowtables
-# Copyright (C) 2002 Digital Distribution GFS P/L
-# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
-
-if [ "$REPLIC_HOME" = "" ]; then
-	. @prefix@/bin/ers_setvars
-fi
-
-$REPLIC_JAVA $SQL_GEN_CLASS $SLAVE_J -mode tables -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/bin/ers_slaveshowtables.in erserver_v1.2-pdn_0.1/bin/ers_slaveshowtables.in
--- erserver_v1.2/bin/ers_slaveshowtables.in	Wed Dec 31 18:00:00 1969
+++ erserver_v1.2-pdn_0.1/bin/ers_slaveshowtables.in	Tue Aug 26 14:00:23 2003
@@ -0,0 +1,10 @@
+#!/bin/sh
+# ers_slaveshowtables
+# Copyright (C) 2002 Digital Distribution GFS P/L
+# Derived from code Copyright (C) 2000 PostgreSQL, Inc.
+
+if [ "$REPLIC_HOME" = "" ]; then
+	. @prefix@/bin/ers_setvars
+fi
+
+$REPLIC_JAVA $SQL_GEN_CLASS $SLAVE_J -mode tables -postgres $POSTGRES_HOME
diff -pP --new-file --recursive --unified=3 erserver_v1.2/configure erserver_v1.2-pdn_0.1/configure
--- erserver_v1.2/configure	Tue Aug 26 14:00:20 2003
+++ erserver_v1.2-pdn_0.1/configure	Wed Nov 12 08:38:57 2003
@@ -3144,7 +3144,7 @@ fi
 done
 
 
-ac_config_files="$ac_config_files Makefile.global bin/ers_setup bin/ers_ctl bin/ers_remove bin/ers_addtable bin/ers_addslave perl/eRServer.pm templates/ers_setvars-template"
+ac_config_files="$ac_config_files Makefile.global bin/ers_setup bin/ers_ctl bin/ers_remove bin/ers_addtable bin/ers_addslave bin/ers_mastershowcolumns bin/ers_mastershowtables bin/ers_slaveshowcolumns bin/ers_slaveshowtables perl/eRServer.pm templates/ers_setvars-template"
 
 
 ac_config_links="$ac_config_links Makefile.port:makefiles/Makefile.${template}"
@@ -3630,6 +3630,10 @@ do
   "bin/ers_remove" ) CONFIG_FILES="$CONFIG_FILES bin/ers_remove" ;;
   "bin/ers_addtable" ) CONFIG_FILES="$CONFIG_FILES bin/ers_addtable" ;;
   "bin/ers_addslave" ) CONFIG_FILES="$CONFIG_FILES bin/ers_addslave" ;;
+  "bin/ers_mastershowcolumns" ) CONFIG_FILES="$CONFIG_FILES bin/ers_mastershowcolumns" ;;
+  "bin/ers_mastershowtables" ) CONFIG_FILES="$CONFIG_FILES bin/ers_mastershowtables" ;;
+  "bin/ers_slaveshowcolumns" ) CONFIG_FILES="$CONFIG_FILES bin/ers_slaveshowcolumns" ;;
+  "bin/ers_slaveshowtables" ) CONFIG_FILES="$CONFIG_FILES bin/ers_slaveshowtables" ;;
   "perl/eRServer.pm" ) CONFIG_FILES="$CONFIG_FILES perl/eRServer.pm" ;;
   "templates/ers_setvars-template" ) CONFIG_FILES="$CONFIG_FILES templates/ers_setvars-template" ;;
   "Makefile.port" ) CONFIG_LINKS="$CONFIG_LINKS Makefile.port:makefiles/Makefile.${template}" ;;
diff -pP --new-file --recursive --unified=3 erserver_v1.2/configure.ac erserver_v1.2-pdn_0.1/configure.ac
--- erserver_v1.2/configure.ac	Tue Aug 26 14:00:20 2003
+++ erserver_v1.2-pdn_0.1/configure.ac	Tue Nov 11 16:52:24 2003
@@ -96,6 +96,10 @@ AC_CONFIG_FILES([
 	Makefile.global 
 	bin/ers_setup
 	bin/ers_ctl
+	bin/ers_mastershowcolumns
+	bin/ers_mastershowtables
+	bin/ers_slaveshowcolumns
+	bin/ers_slaveshowtables
 	bin/ers_remove
 	bin/ers_addtable
 	bin/ers_addslave
Binary files erserver_v1.2/java/lib/xerces.jar and erserver_v1.2-pdn_0.1/java/lib/xerces.jar differ
diff -pP --new-file --recursive --unified=3 erserver_v1.2/perl/eRServer.pm.in erserver_v1.2-pdn_0.1/perl/eRServer.pm.in
--- erserver_v1.2/perl/eRServer.pm.in	Tue Aug 26 14:03:17 2003
+++ erserver_v1.2-pdn_0.1/perl/eRServer.pm.in	Fri Nov  7 16:39:44 2003
@@ -51,7 +51,7 @@ sub CopyTbl
                                    WHERE c.relname = ?
                                      AND a.attnum > 0 AND a.attrelid = c.oid
                                   ORDER BY a.attnum;");
-  $get_struct->execute($tablename);
+  $get_struct->execute($table);
 
   $get_default = $master->prepare("SELECT 'DEFAULT ' || adsrc
                                      FROM pg_class pc, pg_attrdef pa
@@ -62,19 +62,19 @@ sub CopyTbl
   $check_slave_seq = $master->prepare("SELECT * FROM pg_class WHERE relname = ?;");
 
   if($get_struct->rows > 0) {
-    $table_struct = sprintf"CREATE TABLE %s (\n", $tablename;
+    $table_struct = sprintf"CREATE TABLE %s (\n", $table;
 
     while (($attname, $atttype, $attnotnull, $atthasdef, $attnum) = $get_struct->fetchrow_array()) {
       if($attnum != 1) {
-        $table_struct .= sprint ",\n";
+        $table_struct .= ",\n";
       }
       if($attnotnull) {
         $notnull = "NOT NULL";
       } else {
         $notnull = "";
       }
-      if($atthasdef) {
-        $get_default->execute($tablename, $attnum);
+      if($atthasdef eq 't') {
+        $get_default->execute($table, $attnum);
         ( $default  ) = $get_default->fetchrow_array();
         if($default =~ /nextval/) {
           ( $junk, $sequence ) = split(/"/, $default);
@@ -103,16 +103,16 @@ sub CopyTbl
                                 WHERE pgc.relname = ?
                                   AND pgc.oid = pga.attrelid
                                   AND pga.attname = ?");
-    $stable->execute($table, 'ers_uniq');
+    $stable->execute($table, '_ers_uniq');
     ( $s_oid, $s_attnum ) = $stable->fetchrow_array();
     $stable->finish();
 
-    $slave->do("INSERT INTO _RSERV_SLAVE_TABLES_ (tname, cname, reloid, key) values ('${table}', '_ers_uniq', ${s_oid}, ${s_attnum})");
+    $slave->do("INSERT INTO _RSERV_SLAVE_TABLES_ (tname, cname, reloid, key) values ('${table}', '_ers_uniq', ${s_oid}, ${s_attnum});");
 
     foreach $seq_name ( keys %trig_seq ) {
       $stable->execute($seq_name, 'last_value');
       ( $s_oid, $s_attnum ) = $stable->fetchrow_array();
-      $slave->do("INSERT INTO _RSERV_SLAVE_TABLES_ (tname, cname, reloid, key) values ('${table}', 'last_value', ${s_oid}, ${s_attnum})");
+      $slave->do("INSERT INTO _RSERV_SLAVE_TABLES_ (tname, cname, reloid, key) values ('${table}', 'last_value', ${s_oid}, ${s_attnum});");
     }
   }
   $get_default->finish();
diff -pP --new-file --recursive --unified=3 erserver_v1.2/templates/ers_setvars-template.in erserver_v1.2-pdn_0.1/templates/ers_setvars-template.in
--- erserver_v1.2/templates/ers_setvars-template.in	Tue Aug 26 14:03:19 2003
+++ erserver_v1.2-pdn_0.1/templates/ers_setvars-template.in	Fri Nov  7 16:43:12 2003
@@ -17,6 +17,9 @@ REPLIC_REPLIC=1
 # start cleanup thread only
 REPLIC_CLEAN=1
 
+# debug
+REPLIC_DEBUG=0
+
 # set CLASSPATH
 CLASSPATH=$REPLIC_HOME/lib/erserver.jar:$REPLIC_HOME/lib/jdbc7.0-1.2.jar:$REPLIC_HOME/lib/log4j.jar:$REPLIC_HOME/etc:$CLASSPATH
 
diff -pP --new-file --recursive --unified=3 erserver_v1.2/templates/replication.cfg-template erserver_v1.2-pdn_0.1/templates/replication.cfg-template
--- erserver_v1.2/templates/replication.cfg-template	Tue Aug 26 14:03:19 2003
+++ erserver_v1.2-pdn_0.1/templates/replication.cfg-template	Wed Nov 12 10:28:03 2003
@@ -7,7 +7,7 @@
 # coincide with number of slaves) :
 #--------------------------------------
 
-replic.server.debug=false
+replic.server.debug=true
 replic.server.verbose=true
 
 #  how many seconds to sleep between replications (
@@ -36,7 +36,7 @@ replic.server.HowOldLog=10
 #--------------------------------------
 replic.master.JDBCDriver=org.postgresql.Driver
 replic.master.ConnectionPoolSize=1
-replic.master.ConnectionPoolMax=1
+replic.master.ConnectionPoolMax=2
 replic.master.ConnectionUseCount=1000
 replic.master.ConnectionTimeout=2
 # change this to correspond to you master database settings: