]> granicus.if.org Git - postgresql/commit
Set range table for CopyFrom() in tablesync
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 18 Apr 2017 03:22:04 +0000 (23:22 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 18 Apr 2017 03:23:49 +0000 (23:23 -0400)
commite6242c18a5bb08788e6c4cc773952fc8e2a6291a
treebee146b5e683d5d83fe11a559a2e43fb6f3e1206
parentee6922112e9b3c02b995bd1d838c9a261f060133
Set range table for CopyFrom() in tablesync

CopyFrom() needs a range table for formatting certain errors for
constraint violations.

This changes the mechanism of how the range table is passed to the
CopyFrom() executor state.  We used to generate the range table and one
entry for the relation manually inside DoCopy().  Now we use
addRangeTableEntryForRelation() to setup the range table and relation
entry for the ParseState, which is then passed down by BeginCopyFrom().

Author: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Reported-by: Euler Taveira <euler@timbira.com.br>
src/backend/commands/copy.c
src/backend/replication/logical/tablesync.c