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 b99fd556398c62a131b68bd565269a60876ae762..b3762e0f2cd1b1a7192bcb105f33297e09374b84 100644 (file)
@@ -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