Le 02/11/2019 à 08:31, Michael Paquier a écrit : > On Fri, Nov 01, 2019 at 05:29:23PM +0100, Gilles Darold wrote: >> 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". > Perhaps we had better use foreign tables for the error message and the > docs? > -- > Michael
Agree, attached is a new version of the patches that replace word remote by foreign. -- Gilles
diff --git a/contrib/postgres_fdw/connection.c b/contrib/postgres_fdw/connection.c index 7cd69cc709..7d0f9ed72a 100644 --- a/contrib/postgres_fdw/connection.c +++ b/contrib/postgres_fdw/connection.c @@ -725,7 +725,7 @@ pgfdw_xact_callback(XactEvent event, void *arg) */ ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot prepare a transaction that modified remote tables"))); + errmsg("cannot prepare a transaction that has operated on foreign tables"))); break; case XACT_EVENT_PARALLEL_COMMIT: case XACT_EVENT_COMMIT:
diff --git a/doc/src/sgml/ref/prepare_transaction.sgml b/doc/src/sgml/ref/prepare_transaction.sgml index 5016ca287e..d7bf2026f7 100644 --- a/doc/src/sgml/ref/prepare_transaction.sgml +++ b/doc/src/sgml/ref/prepare_transaction.sgml @@ -99,8 +99,8 @@ PREPARE TRANSACTION <replaceable class="parameter">transaction_id</replaceable> <para> It is not currently allowed to <command>PREPARE</command> a transaction that has executed any operations involving temporary tables or the session's - temporary namespace, created any cursors <literal>WITH HOLD</literal>, or - executed <command>LISTEN</command>, <command>UNLISTEN</command>, or + temporary namespace or foreign tables, created any cursors <literal>WITH HOLD</literal>, + or executed <command>LISTEN</command>, <command>UNLISTEN</command>, or <command>NOTIFY</command>. Those features are too tightly tied to the current session to be useful in a transaction to be prepared.