On Tue, Apr 24, 2018 at 12:21 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Mon, Apr 23, 2018 at 11:25 AM, Alvaro Herrera
> <alvherre@alvh.no-ip.org> wrote:
>> Robert, I think this is your turf, per 3d956d9562aa. Are you looking
>> into it?
>
> Thanks for the ping. I just had a look over the proposed patch and I
> guess I don't like it very much. Temporarily modifying the range
> table in place and then changing it back before we return seems ugly
> and error-prone. I hope we can come up with a solution that doesn't
> involve needing to do that.
I have done some refactoring to avoid that. See attached.
I didn't really get beyond the refactoring stage with this today.
This version still seems to work, but I don't really understand the
logic in postgresBeginForeignInsert which decides whether to use the
RTE from the range table or create our own. We seem to need to do one
sometimes and the other sometimes, but I don't know why that is,
really. Nor do I understand why we need the other changes in the
patch. There's probably a good reason, but I haven't figured it out
yet.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company