]> granicus.if.org Git - postgresql/commitdiff
Fix handling of dropped columns in logical replication
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 7 Aug 2017 14:28:35 +0000 (10:28 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
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 <petr.jelinek@2ndquadrant.com>
Reported-by: Scott Milliken <scott@deltaex.com>
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));