From 10718612fb23a5853e56eb792a6b1503ebddf190 Mon Sep 17 00:00:00 2001 From: Noah Misch <noah@leadboat.com> Date: Mon, 18 Aug 2014 22:58:25 -0400 Subject: [PATCH] Document new trigger-related forms of ALTER FOREIGN TABLE. Oversight in commit 7cbe57c34dec4860243e6d0f81738cfbb6e5d069. Back-patch to 9.4, where that commit first appeared. In passing, release-note the FDW API postcondition change from the same commit. --- doc/src/sgml/ref/alter_foreign_table.sgml | 46 +++++++++++++++++++++++ doc/src/sgml/release-9.4.sgml | 12 ++++++ 2 files changed, 58 insertions(+) diff --git a/doc/src/sgml/ref/alter_foreign_table.sgml b/doc/src/sgml/ref/alter_foreign_table.sgml index 4d8cfc522e..9d9c439315 100644 --- a/doc/src/sgml/ref/alter_foreign_table.sgml +++ b/doc/src/sgml/ref/alter_foreign_table.sgml @@ -42,6 +42,10 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceab ALTER [ COLUMN ] <replaceable class="PARAMETER">column_name</replaceable> SET ( <replaceable class="PARAMETER">attribute_option</replaceable> = <replaceable class="PARAMETER">value</replaceable> [, ... ] ) ALTER [ COLUMN ] <replaceable class="PARAMETER">column_name</replaceable> RESET ( <replaceable class="PARAMETER">attribute_option</replaceable> [, ... ] ) ALTER [ COLUMN ] <replaceable class="PARAMETER">column_name</replaceable> OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ]) + DISABLE TRIGGER [ <replaceable class="PARAMETER">trigger_name</replaceable> | ALL | USER ] + ENABLE TRIGGER [ <replaceable class="PARAMETER">trigger_name</replaceable> | ALL | USER ] + ENABLE REPLICA TRIGGER <replaceable class="PARAMETER">trigger_name</replaceable> + ENABLE ALWAYS TRIGGER <replaceable class="PARAMETER">trigger_name</replaceable> OWNER TO <replaceable class="PARAMETER">new_owner</replaceable> OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ]) </synopsis> @@ -148,6 +152,17 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceab </listitem> </varlistentry> + <varlistentry> + <term><literal>DISABLE</literal>/<literal>ENABLE [ REPLICA | ALWAYS ] TRIGGER</literal></term> + <listitem> + <para> + These forms configure the firing of trigger(s) belonging to the foreign + table. See the similar form of <xref linkend="sql-altertable"> for more + details. + </para> + </listitem> + </varlistentry> + <varlistentry> <term><literal>OWNER</literal></term> <listitem> @@ -289,6 +304,37 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceab </listitem> </varlistentry> + <varlistentry> + <term><replaceable class="PARAMETER">trigger_name</replaceable></term> + <listitem> + <para> + Name of a single trigger to disable or enable. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ALL</literal></term> + <listitem> + <para> + Disable or enable all triggers belonging to the foreign table. (This + requires superuser privilege if any of the triggers are internally + generated triggers. The core system does not add such triggers to + foreign tables, but add-on code could do so.) + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>USER</literal></term> + <listitem> + <para> + Disable or enable all triggers belonging to the foreign table except + for internally generated triggers. + </para> + </listitem> + </varlistentry> + <varlistentry> <term><replaceable class="PARAMETER">new_owner</replaceable></term> <listitem> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 1782be42fc..e338554995 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -191,6 +191,18 @@ </para> </listitem> + <listitem> + <para> + Writable foreign data wrappers must return all columns when the foreign + table has an <literal>AFTER ROW</> trigger (Noah Misch) + </para> + + <para> + Previously, foreign tables never had triggers, and + the <literal>RETURNING</> clause alone dictated the columns required. + </para> + </listitem> + <listitem> <para> Rename <link linkend="SQL-EXPLAIN"><command>EXPLAIN -- 2.40.0