]> granicus.if.org Git - postgresql/commitdiff
A) Fixes a bug that prevented mirroring of data on a table that has had
authorBruce Momjian <bruce@momjian.us>
Mon, 29 Sep 2003 18:16:48 +0000 (18:16 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 29 Sep 2003 18:16:48 +0000 (18:16 +0000)
a column dropped.

B) Updated the documentation for the 7.4 release.

Steven Singer

contrib/dbmirror/README.dbmirror
contrib/dbmirror/pending.c

index f6201f7de96499af926c2228176e6213e3de851d..48412ab2bf5f923db545acf7e14bb102f03b3034 100644 (file)
@@ -66,7 +66,7 @@ time a row inside of a table being mirrored changes.
 
 To build the trigger run  make on the "Makefile" in the DBMirror directory.
 
-Postgres-7.3 Make Instructions:
+Postgres-7.3 & 7.4  Make Instructions:
 
   If you have already run "configure" in the pgsql-server directory 
   then run "make" in the dbmirror directory to compile the trigger.
@@ -78,7 +78,7 @@ Postgres-7.1 & Postgres-7.2 Make Instructions:
 
   Run the following commands
 
-  gcc -fpic -I/usr/local/pgsql/include/server -c pending.c -DNOSCHEMAS
+  gcc -fpic -I/usr/local/pgsql/include/server -c pending.c -DNOSCHEMAS -DNODROPCOLUMN
   ld -shared -o pending.so pending.o
 
   Assuming the postgres include files are in /usr/local/pgsql/include/server.  
@@ -236,6 +236,7 @@ RedHat Linux 7.1 & 6.2
 Mandrake Linux 8.0(Limited Testing)
  -Postgres 7.2
  -Postgres 7.3
+ -Postgres 7.4
  -Perl 5.6
 
 
index cf00276a8f176f3ff35cbf60c7bdebac9296a9ea..110a6308dc8604cd28f8b4c7f234f620692edbb9 100644 (file)
@@ -1,6 +1,6 @@
 /****************************************************************************
  * pending.c
- * $Id: pending.c,v 1.13 2003/08/04 00:43:10 momjian Exp $
+ * $Id: pending.c,v 1.14 2003/09/29 18:16:48 momjian Exp $
  *
  * This file contains a trigger for Postgresql-7.x to record changes to tables
  * to a pending table for mirroring.
@@ -437,6 +437,16 @@ packageData(HeapTuple tTupleData, TupleDesc tTupleDesc,
                                continue;
                        }
                }                                               /* KeyUsage!=ALL */
+#ifndef  NODROPCOLUMN
+               if(tTupleDesc->attrs[iColumnCounter-1]->attisdropped)
+                 {
+                   /**
+                    * This column has been dropped.
+                    * Do not mirror it.
+                    */
+                   continue;
+                 }
+#endif
                cpFieldName = DatumGetPointer(NameGetDatum(&tTupleDesc->attrs
                                                                                 [iColumnCounter - 1]->attname));
 #if defined DEBUG_OUTPUT