diff options
author | Michael Paquier | 2024-10-29 06:35:14 +0000 |
---|---|---|
committer | Michael Paquier | 2024-10-29 06:35:14 +0000 |
commit | 709ce29b16569de7ed7d013399a6249849eaae40 (patch) | |
tree | 95700aeba1282fd79d4a232eefd3f00ef8237b1d /doc/src | |
parent | e5086b3ff4413fdd163c85a2ab5bfa26c7668cd3 (diff) |
doc: Add better description for rewrite functions in event triggers
There are two functions that can be used in event triggers to get more
details about a rewrite happening on a relation. Both had a limited
documentation:
- pg_event_trigger_table_rewrite_reason() and
pg_event_trigger_table_rewrite_oid() were not mentioned in the main
event trigger section in the paragraph dedicated to the event
table_rewrite.
- pg_event_trigger_table_rewrite_reason() returns an integer which is a
bitmap of the reasons why a rewrite happens. There was no explanation
about the meaning of these values, forcing the reader to look at the
code to find out that these are defined in event_trigger.h.
While on it, let's add a comment in event_trigger.h where the
AT_REWRITE_* are defined, telling to update the documentation when
these values are changed.
Backpatch down to 13 as a consequence of 1ad23335f36b, where this area
of the documentation has been heavily reworked.
Author: Greg Sabino Mullane
Discussion: https://postgr.es/m/CAKAnmmL+Z6j-C8dAx1tVrnBmZJu+BSoc68WSg3sR+CVNjBCqbw@mail.gmail.com
Backpatch-through: 13
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/event-trigger.sgml | 5 | ||||
-rw-r--r-- | doc/src/sgml/func.sgml | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/doc/src/sgml/event-trigger.sgml b/doc/src/sgml/event-trigger.sgml index 8e009cca050..01a7f1eb18f 100644 --- a/doc/src/sgml/event-trigger.sgml +++ b/doc/src/sgml/event-trigger.sgml @@ -99,6 +99,11 @@ control statements are available to rewrite a table, like <literal>CLUSTER</literal> and <literal>VACUUM</literal>, the <literal>table_rewrite</literal> event is not triggered by them. + To find the OID of the table that was rewritten, use the function + <literal>pg_event_trigger_table_rewrite_oid()</literal> (see + <xref linkend="functions-event-triggers"/>). To discover the reason(s) + for the rewrite, use the function + <literal>pg_event_trigger_table_rewrite_reason()</literal>. </para> <para> diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index b24782058f4..2cd93163b75 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -31110,8 +31110,12 @@ CREATE EVENT TRIGGER test_event_trigger_for_drops <returnvalue>integer</returnvalue> </para> <para> - Returns a code explaining the reason(s) for rewriting. The exact - meaning of the codes is release dependent. + Returns a code explaining the reason(s) for rewriting. The value is + a bitmap built from the following values: <literal>1</literal> + (the table has changed its persistence), <literal>2</literal> + (default value of a column has changed), <literal>4</literal> + (a column has a new data type) and <literal>8</literal> + (the table access method has changed). </para></entry> </row> </tbody> |