[PATCH][DOC] Fix for PREPARE TRANSACTION doc and postgres_fdw message.

Gilles DAROLD <gilles@darold.net>

From: Gilles Darold <gilles@darold.net>
To: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2019-11-01T16:29:23Z
Lists: pgsql-hackers

Attachments

Hi,


As per the following code, t1 is a remote table through postgres_fdw:


    test=# BEGIN;
    BEGIN
    test=# SELECT * FROM t1;
    ...

    test=# PREPARE TRANSACTION 'gxid1';
    ERROR:  cannot prepare a transaction that modified remote tables


I have attached a patch to the documentation that adds remote tables to
the list of objects where any operation prevent using a prepared
transaction, currently it is just notified "operations involving
temporary tables or the session's temporary namespace".


The second patch modify the message returned by postgres_fdw as per the
SELECT statement above the message should be more comprehensible with:

    ERROR:  cannot PREPARE a transaction that has operated on remote tables

like for temporary objects:

    ERROR:  cannot PREPARE a transaction that has operated on temporary
objects


Best regards,

--

Gilles

-- 
Gilles Darold
http://www.darold.net/

Commits

  1. Add regression test for two-phase transaction in postgres_fdw

  2. postgres_fdw: Fix error message for PREPARE TRANSACTION.