Re: [PATCH][DOC] Fix for PREPARE TRANSACTION doc and postgres_fdw message.
Etsuro Fujita <etsuro.fujita@gmail.com>
From: Etsuro Fujita <etsuro.fujita@gmail.com>
To: Gilles Darold <gilles@darold.net>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2019-11-05T09:35:54Z
Lists: pgsql-hackers
Attachments
- improve-postgres-fdw-doc.patch (application/octet-stream) patch
Hi Gilles, On Sat, Nov 2, 2019 at 1:29 AM Gilles Darold <gilles@darold.net> wrote: > 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". I'm not sure that's a good idea because file_fdw works well for PREPARE TRANSACTION! How about adding a note about that to the section of Transaction Management in the postgres_fdw documentation like the attached? > 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 +1 (I too think it would be better to use "foreign tables" rather than "remote tables" as pointed by Michael-san, but I think it might be much better to use "postgres_fdw foreign tables", not just "foreign tables".) Best regards, Etsuro Fujita
Commits
-
Add regression test for two-phase transaction in postgres_fdw
- 94fec48516a7 13.0 landed
-
postgres_fdw: Fix error message for PREPARE TRANSACTION.
- 1bd67d535843 9.4.25 landed
- b260ce9c19b6 9.5.20 landed
- bca0aed2d01c 9.6.16 landed
- 0c7a28a5eabd 10.11 landed
- 042e82cef949 11.6 landed
- 0cc31cc32da0 12.1 landed
- 879c11761571 13.0 landed