Commit f9f2fda7 authored by Etsuro Fujita's avatar Etsuro Fujita

Doc: Update FDW documentation about direct foreign table modification.

1. Commit 7086be6e should have documented the limitation that the direct
   modification is disabled when WCO constraints are present, but didn't,
   which is definitely my fault.  Update the documentation (Postgres 9.6
   onwards).

2. Commit fc22b662 should have documented the limitation that the direct
   modification is disabled when generated columns are defined, but
   didn't.  Update the documentation (Postgres 12 onwards).

Author: Etsuro Fujita
Discussion: https://postgr.es/m/CAPmGK14AYCPunLb6TRz1CQsW5Le01Z2ox8LSOKH0P-cOVDcQRA%40mail.gmail.com
parent 48770492
...@@ -820,9 +820,11 @@ IsForeignRelUpdatable(Relation rel); ...@@ -820,9 +820,11 @@ IsForeignRelUpdatable(Relation rel);
row-by-row approach is necessary, but it can be inefficient. If it is row-by-row approach is necessary, but it can be inefficient. If it is
possible for the foreign server to determine which rows should be possible for the foreign server to determine which rows should be
modified without actually retrieving them, and if there are no local modified without actually retrieving them, and if there are no local
triggers which would affect the operation, then it is possible to structures which would affect the operation (row-level local triggers,
arrange things so that the entire operation is performed on the remote stored generated columns, or <literal>WITH CHECK OPTION</literal>
server. The interfaces described below make this possible. constraints from parent views), then it is possible to arrange things
so that the entire operation is performed on the remote server. The
interfaces described below make this possible.
</para> </para>
<para> <para>
......
...@@ -504,9 +504,9 @@ ...@@ -504,9 +504,9 @@
sending the whole query to the remote server if there are no query sending the whole query to the remote server if there are no query
<literal>WHERE</literal> clauses that cannot be sent to the remote server, <literal>WHERE</literal> clauses that cannot be sent to the remote server,
no local joins for the query, no row-level local <literal>BEFORE</literal> or no local joins for the query, no row-level local <literal>BEFORE</literal> or
<literal>AFTER</literal> triggers on the target table, and no <literal>AFTER</literal> triggers or stored generated columns on the target
<literal>CHECK OPTION</literal> constraints from parent views. table, and no <literal>CHECK OPTION</literal> constraints from parent
In <command>UPDATE</command>, views. In <command>UPDATE</command>,
expressions to assign to target columns must use only built-in data types, expressions to assign to target columns must use only built-in data types,
<literal>IMMUTABLE</literal> operators, or <literal>IMMUTABLE</literal> functions, <literal>IMMUTABLE</literal> operators, or <literal>IMMUTABLE</literal> functions,
to reduce the risk of misexecution of the query. to reduce the risk of misexecution of the query.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment