Fix handling of dropped columns in logical replication
authorPeter Eisentraut <[email protected]>
Mon, 7 Aug 2017 14:28:35 +0000 (10:28 -0400)
committerPeter Eisentraut <[email protected]>
Mon, 7 Aug 2017 14:28:35 +0000 (10:28 -0400)
The relation attribute map was not initialized for dropped columns,
leading to errors later on.

Author: Petr Jelinek <[email protected]>
Reported-by: Scott Milliken <[email protected]>
Bug: #14769

src/backend/replication/logical/relation.c

index 77798574562ebc48eb291c8f7a88a478808a2147..a7ea16d714b02ed1f569d8e67ac37436bd193ac3 100644 (file)
@@ -280,7 +280,10 @@ logicalrep_rel_open(LogicalRepRelId remoteid, LOCKMODE lockmode)
                        int                     attnum;
 
                        if (desc->attrs[i]->attisdropped)
+                       {
+                               entry->attrmap[i] = -1;
                                continue;
+                       }
 
                        attnum = logicalrep_rel_att_by_name(remoterel,
                                                                                                NameStr(desc->attrs[i]->attname));