Unix Technical Forum

Constraint trigger doc patch

This is a discussion on Constraint trigger doc patch within the Pgsql Patches forums, part of the PostgreSQL category; --> (Fifth attempt: diff inline) (And a fourth attempt, from another account...) (Third time's the charm?) (Resent as I sent ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql Patches

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-18-2008, 09:04 AM
Michael Glaesemann
 
Posts: n/a
Default Constraint trigger doc patch

(Fifth attempt: diff inline)
(And a fourth attempt, from another account...)
(Third time's the charm?)
(Resent as I sent this yesterday but haven't seen it on the list yet
or in the online archives. Apologies if it ends up double-posting.)

Please find attached a doc patch for CREATE CONSTRAINT TRIGGER. The
documentation here has always been sparse, as the command isn't
intended for general use. However, in its current form its a bit
*too* sparse. For example, it mentions constraint attributes but
doesn't say what those might be or where to look for information for
details. The patch lists attribute options and provides references to
where those options are described.

When looking in gram.y while trying to figure out what exactly was
meant by "actual constraint specification", I discovered
OptConstrFromTable. I assume this means Optional Constraint From
Table and it looks like it's used to specify the referenced table a
foreign key constraint. I couldn't figure out how to meaningfully use
it and have left the description purposefully vague.

I don't have a working DocBook tool chain on my system, so I haven't
been able to check if it builds properly. I tried to be conscientious
about my formatting, but some SGML bugs may have crept in.

Thanks!

Michael Glaesemann
grzm myrealbox com

Index: doc/src/sgml/ref/create_constraint.sgml
================================================== =================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/
create_constraint.sgml,v
retrieving revision 1.14
diff -c -r1.14 create_constraint.sgml
*** doc/src/sgml/ref/create_constraint.sgml 16 Sep 2006 00:30:17
-0000 1.14
--- doc/src/sgml/ref/create_constraint.sgml 7 Oct 2006 03:53:18 -0000
***************
*** 21,29 ****
<refsynopsisdiv>
<synopsis>
CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</
replaceable>
! AFTER <replaceable class="parameter">events</replaceable> ON
! <replaceable class="parameter">tablename</replaceable>
<replaceable class="parameter">constraint</replaceable> <replaceable
class="parameter">attributes</replaceable>
! FOR EACH ROW EXECUTE PROCEDURE <replaceable
class="parameter">funcname</replaceable> ( <replaceable
class="parameter">args</replaceable> )
</synopsis>
</refsynopsisdiv>

--- 21,32 ----
<refsynopsisdiv>
<synopsis>
CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</
replaceable>
! AFTER <replaceable class="parameter">event [ OR ... ]</
replaceable>
! ON <replaceable class="parameter">table_name</replaceable>
! [ FROM <replaceable class="parameter">referenced_table_name</
replaceable> ]
! { NOT DEFERRABLE | [ DEFERABBLE ] { INITIALLY IMMEDIATE |
INITIALLY DEFERRED } }
! FOR EACH ROW
! EXECUTE PROCEDURE <replaceable class="parameter">funcname</
replaceable> ( <replaceable class="parameter">arguments</replaceable> )
</synopsis>
</refsynopsisdiv>

***************
*** 33,102 ****
<para>
<command>CREATE CONSTRAINT TRIGGER</command> is used within
<command>CREATE TABLE</command>/<command>ALTER TABLE</command>
and by
! <application>pg_dump</application> to create the special
triggers for
! referential integrity.
It is not intended for general use.
</para>
</refsect1>

<refsect1>
! <title>Parameters</title>
!
! <variablelist>
! <varlistentry>
! <term><replaceable class="PARAMETER">name</replaceable></term>
! <listitem>
! <para>
! The name of the constraint trigger.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">events</replaceable></term>
! <listitem>
! <para>
! The event categories for which this trigger should be fired.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">tablename</replaceable></
term>
! <listitem>
! <para>
! The name (possibly schema-qualified) of the table in which
! the triggering events occur.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">constraint</
replaceable></term>
! <listitem>
! <para>
! Actual constraint specification.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">attributes</
replaceable></term>
! <listitem>
! <para>
! The constraint attributes.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">funcname</replaceable>
(<replaceable class="PARAMETER">args</replaceable>)</term>
! <listitem>
! <para>
! The function to call as part of the trigger processing.
! </para>
! </listitem>
! </varlistentry>
! </variablelist>
</refsect1>
</refentry>
--- 36,128 ----
<para>
<command>CREATE CONSTRAINT TRIGGER</command> is used within
<command>CREATE TABLE</command>/<command>ALTER TABLE</command>
and by
! <application>pg_dump</application> to create the special
triggers for
! referential integrity.
It is not intended for general use.
</para>
</refsect1>

<refsect1>
! <title>Parameters</title>
!
! <variablelist>
! <varlistentry>
! <term><replaceable class="PARAMETER">name</replaceable></term>
! <listitem>
! <para>
! The name of the constraint trigger. The actual name of the
! created trigger will be of the form
! <literal>RI_ConstraintTrigger_0000<literal> (where 0000 is
some number
! assigned by the server).
! Use this assigned name is when dropping the constraint.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">events</replaceable></term>
! <listitem>
! <para>
! One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
! <literal>DELETE</literal>; this specifies the event that will
fire the
! trigger. Multiple events can be specified using
<literal>OR<literal>.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">table_name</replaceable></
term>
! <listitem>
! <para>
! The (possibly schema-qualified) name of the table in which
! the triggering events occur.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">referenced_table_name</
replaceable></term>
! <listitem>
! <para>
! The (possibly schema-qualified) name of the table referenced
by the
! constraint. Used by foreign key constraints triggers.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><literal>DEFERRABLE</literal></term>
! <term><literal>NOT DEFERRABLE</literal></term>
! <term><literal>INITIALLY IMMEDIATE</literal></term>
! <term><literal>INITIALLY DEFERRED</literal></term>
! <listitem>
! <para>
! See the <xref linkend="SQL-CREATETABLE" endterm="SQL-
CREATETABLE-TITLE">
! documentation for details of these constraint options.
! </para>
! </listitem>
! </varlistentry>
!
! <varlistentry>
! <term><replaceable class="PARAMETER">funcname</replaceable>
(<replaceable class="PARAMETER">args</replaceable>)</term>
! <listitem>
! <para>
! The function to call as part of the trigger processing. See
<xref
! linkend="SQL-CREATETRIGGER" endterm="SQL-CREATETRIGGER-
TITLE"> for
! details.
! </para>
! </listitem>
! </varlistentry>
! </variablelist>
</refsect1>
+
+ <refsect1 id="SQL-CREATECONSTRAINT">
+ <title>Compatibility</title>
+ <para>
+ <command>CREATE CONTRAINT TRIGGER</command> is a
+ <productname>PostgreSQL</productname> extension of the
<acronym>SQL</>
+ standard.
+ </para>
+ </refsect1>
+
</refentry>


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-18-2008, 09:04 AM
Michael Paesold
 
Posts: n/a
Default Re: Constraint trigger doc patch

[Added pgsql-hackers to CC:]

Michael Glaesemann wrote:
[ a patch for constraint trigger docs]

Great! I was just going to try to use constraint triggers (because I
needed deferrable constraints). So I personally appreciate this
documentation update very much.

Just some notes:

> Index: doc/src/sgml/ref/create_constraint.sgml

....
> --- 21,32 ----
> <refsynopsisdiv>
> <synopsis>
> CREATE CONSTRAINT TRIGGER <replaceable
> class="parameter">name</replaceable>
> ! AFTER <replaceable class="parameter">event [ OR ... ]</replaceable>
> ! ON <replaceable class="parameter">table_name</replaceable>
> ! [ FROM <replaceable
> class="parameter">referenced_table_name</replaceable> ]
> ! { NOT DEFERRABLE | [ DEFERABBLE ] { INITIALLY IMMEDIATE |
> INITIALLY DEFERRED } }
> ! FOR EACH ROW
> ! EXECUTE PROCEDURE <replaceable
> class="parameter">funcname</replaceable> ( <replaceable
> class="parameter">arguments</replaceable> )
> </synopsis>
> </refsynopsisdiv>


It's spelled DEFERRABLE. You got it right in NOT DEFERRABLE but wrong in
[ DEFERABBLE ].

> The name of the constraint trigger. The actual name of the
> created trigger will be of the form
> <literal>RI_ConstraintTrigger_0000<literal> (where 0000 is some number
> assigned by the server). Use this assigned name is when dropping the
> constraint.


It think you should drop the "is" from the last sentence here.
Additionally, I would prefer "Use this assigned name when dropping the
trigger." here, because this one confused me to try to "ALTER TABLE DROP
CONSTRAINT" instead of "DROP TRIGGER".

Thanks again.

Best Regards,
Michael Paesold


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-18-2008, 09:04 AM
Bruce Momjian
 
Posts: n/a
Default Re: Constraint trigger doc patch


Patch applied. Thanks. Your documentation changes can be viewed in
five minutes using links on the developer's page,
http://www.postgresql.org/developer/testing.


---------------------------------------------------------------------------


Michael Glaesemann wrote:
> (Fifth attempt: diff inline)
> (And a fourth attempt, from another account...)
> (Third time's the charm?)
> (Resent as I sent this yesterday but haven't seen it on the list yet
> or in the online archives. Apologies if it ends up double-posting.)
>
> Please find attached a doc patch for CREATE CONSTRAINT TRIGGER. The
> documentation here has always been sparse, as the command isn't
> intended for general use. However, in its current form its a bit
> *too* sparse. For example, it mentions constraint attributes but
> doesn't say what those might be or where to look for information for
> details. The patch lists attribute options and provides references to
> where those options are described.
>
> When looking in gram.y while trying to figure out what exactly was
> meant by "actual constraint specification", I discovered
> OptConstrFromTable. I assume this means Optional Constraint From
> Table and it looks like it's used to specify the referenced table a
> foreign key constraint. I couldn't figure out how to meaningfully use
> it and have left the description purposefully vague.
>
> I don't have a working DocBook tool chain on my system, so I haven't
> been able to check if it builds properly. I tried to be conscientious
> about my formatting, but some SGML bugs may have crept in.
>
> Thanks!
>
> Michael Glaesemann
> grzm myrealbox com
>
> Index: doc/src/sgml/ref/create_constraint.sgml
> ================================================== =================
> RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/
> create_constraint.sgml,v
> retrieving revision 1.14
> diff -c -r1.14 create_constraint.sgml
> *** doc/src/sgml/ref/create_constraint.sgml 16 Sep 2006 00:30:17
> -0000 1.14
> --- doc/src/sgml/ref/create_constraint.sgml 7 Oct 2006 03:53:18 -0000
> ***************
> *** 21,29 ****
> <refsynopsisdiv>
> <synopsis>
> CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</
> replaceable>
> ! AFTER <replaceable class="parameter">events</replaceable> ON
> ! <replaceable class="parameter">tablename</replaceable>
> <replaceable class="parameter">constraint</replaceable> <replaceable
> class="parameter">attributes</replaceable>
> ! FOR EACH ROW EXECUTE PROCEDURE <replaceable
> class="parameter">funcname</replaceable> ( <replaceable
> class="parameter">args</replaceable> )
> </synopsis>
> </refsynopsisdiv>
>
> --- 21,32 ----
> <refsynopsisdiv>
> <synopsis>
> CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</
> replaceable>
> ! AFTER <replaceable class="parameter">event [ OR ... ]</
> replaceable>
> ! ON <replaceable class="parameter">table_name</replaceable>
> ! [ FROM <replaceable class="parameter">referenced_table_name</
> replaceable> ]
> ! { NOT DEFERRABLE | [ DEFERABBLE ] { INITIALLY IMMEDIATE |
> INITIALLY DEFERRED } }
> ! FOR EACH ROW
> ! EXECUTE PROCEDURE <replaceable class="parameter">funcname</
> replaceable> ( <replaceable class="parameter">arguments</replaceable> )
> </synopsis>
> </refsynopsisdiv>
>
> ***************
> *** 33,102 ****
> <para>
> <command>CREATE CONSTRAINT TRIGGER</command> is used within
> <command>CREATE TABLE</command>/<command>ALTER TABLE</command>
> and by
> ! <application>pg_dump</application> to create the special
> triggers for
> ! referential integrity.
> It is not intended for general use.
> </para>
> </refsect1>
>
> <refsect1>
> ! <title>Parameters</title>
> !
> ! <variablelist>
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">name</replaceable></term>
> ! <listitem>
> ! <para>
> ! The name of the constraint trigger.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">events</replaceable></term>
> ! <listitem>
> ! <para>
> ! The event categories for which this trigger should be fired.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">tablename</replaceable></
> term>
> ! <listitem>
> ! <para>
> ! The name (possibly schema-qualified) of the table in which
> ! the triggering events occur.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">constraint</
> replaceable></term>
> ! <listitem>
> ! <para>
> ! Actual constraint specification.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">attributes</
> replaceable></term>
> ! <listitem>
> ! <para>
> ! The constraint attributes.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">funcname</replaceable>
> (<replaceable class="PARAMETER">args</replaceable>)</term>
> ! <listitem>
> ! <para>
> ! The function to call as part of the trigger processing.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> ! </variablelist>
> </refsect1>
> </refentry>
> --- 36,128 ----
> <para>
> <command>CREATE CONSTRAINT TRIGGER</command> is used within
> <command>CREATE TABLE</command>/<command>ALTER TABLE</command>
> and by
> ! <application>pg_dump</application> to create the special
> triggers for
> ! referential integrity.
> It is not intended for general use.
> </para>
> </refsect1>
>
> <refsect1>
> ! <title>Parameters</title>
> !
> ! <variablelist>
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">name</replaceable></term>
> ! <listitem>
> ! <para>
> ! The name of the constraint trigger. The actual name of the
> ! created trigger will be of the form
> ! <literal>RI_ConstraintTrigger_0000<literal> (where 0000 is
> some number
> ! assigned by the server).
> ! Use this assigned name is when dropping the constraint.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">events</replaceable></term>
> ! <listitem>
> ! <para>
> ! One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
> ! <literal>DELETE</literal>; this specifies the event that will
> fire the
> ! trigger. Multiple events can be specified using
> <literal>OR<literal>.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">table_name</replaceable></
> term>
> ! <listitem>
> ! <para>
> ! The (possibly schema-qualified) name of the table in which
> ! the triggering events occur.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">referenced_table_name</
> replaceable></term>
> ! <listitem>
> ! <para>
> ! The (possibly schema-qualified) name of the table referenced
> by the
> ! constraint. Used by foreign key constraints triggers.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><literal>DEFERRABLE</literal></term>
> ! <term><literal>NOT DEFERRABLE</literal></term>
> ! <term><literal>INITIALLY IMMEDIATE</literal></term>
> ! <term><literal>INITIALLY DEFERRED</literal></term>
> ! <listitem>
> ! <para>
> ! See the <xref linkend="SQL-CREATETABLE" endterm="SQL-
> CREATETABLE-TITLE">
> ! documentation for details of these constraint options.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> !
> ! <varlistentry>
> ! <term><replaceable class="PARAMETER">funcname</replaceable>
> (<replaceable class="PARAMETER">args</replaceable>)</term>
> ! <listitem>
> ! <para>
> ! The function to call as part of the trigger processing. See
> <xref
> ! linkend="SQL-CREATETRIGGER" endterm="SQL-CREATETRIGGER-
> TITLE"> for
> ! details.
> ! </para>
> ! </listitem>
> ! </varlistentry>
> ! </variablelist>
> </refsect1>
> +
> + <refsect1 id="SQL-CREATECONSTRAINT">
> + <title>Compatibility</title>
> + <para>
> + <command>CREATE CONTRAINT TRIGGER</command> is a
> + <productname>PostgreSQL</productname> extension of the
> <acronym>SQL</>
> + standard.
> + </para>
> + </refsect1>
> +
> </refentry>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly


--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-18-2008, 09:04 AM
Bruce Momjian
 
Posts: n/a
Default Re: Constraint trigger doc patch


Manual page changed applied. Thanks.

---------------------------------------------------------------------------


Michael Paesold wrote:
> [Added pgsql-hackers to CC:]
>
> Michael Glaesemann wrote:
> [ a patch for constraint trigger docs]
>
> Great! I was just going to try to use constraint triggers (because I
> needed deferrable constraints). So I personally appreciate this
> documentation update very much.
>
> Just some notes:
>
> > Index: doc/src/sgml/ref/create_constraint.sgml

> ...
> > --- 21,32 ----
> > <refsynopsisdiv>
> > <synopsis>
> > CREATE CONSTRAINT TRIGGER <replaceable
> > class="parameter">name</replaceable>
> > ! AFTER <replaceable class="parameter">event [ OR ... ]</replaceable>
> > ! ON <replaceable class="parameter">table_name</replaceable>
> > ! [ FROM <replaceable
> > class="parameter">referenced_table_name</replaceable> ]
> > ! { NOT DEFERRABLE | [ DEFERABBLE ] { INITIALLY IMMEDIATE |
> > INITIALLY DEFERRED } }
> > ! FOR EACH ROW
> > ! EXECUTE PROCEDURE <replaceable
> > class="parameter">funcname</replaceable> ( <replaceable
> > class="parameter">arguments</replaceable> )
> > </synopsis>
> > </refsynopsisdiv>

>
> It's spelled DEFERRABLE. You got it right in NOT DEFERRABLE but wrong in
> [ DEFERABBLE ].
>
> > The name of the constraint trigger. The actual name of the
> > created trigger will be of the form
> > <literal>RI_ConstraintTrigger_0000<literal> (where 0000 is some number
> > assigned by the server). Use this assigned name is when dropping the
> > constraint.

>
> It think you should drop the "is" from the last sentence here.
> Additionally, I would prefer "Use this assigned name when dropping the
> trigger." here, because this one confused me to try to "ALTER TABLE DROP
> CONSTRAINT" instead of "DROP TRIGGER".
>
> Thanks again.
>
> Best Regards,
> Michael Paesold
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly


--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-18-2008, 09:04 AM
Michael Paesold
 
Posts: n/a
Default Re: Constraint trigger doc patch

Bruce Momjian schrieb:
> Manual page changed applied. Thanks.


Ok, here is small patch fixing the remaining items I found when
reviewing the built page. Two items are just SGML bugs, the other item
is to finish an incomplete change from the previous "events" to the new
"event [ OR ... ]" notation.

Best Regards,
Michael Paesold

For quick reference:
http://momjian.us/main/writings/pgsq...onstraint.html

Index: create_constraint.sgml
================================================== =================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/create_constraint.sgml,v
retrieving revision 1.16
diff -c -r1.16 create_constraint.sgml
*** doc/src/sgml/ref/create_constraint.sgml 16 Oct 2006 19:33:12 -0000 1.16
--- doc/src/sgml/ref/create_constraint.sgml 17 Oct 2006 06:48:14 -0000
***************
*** 52,58 ****
<para>
The name of the constraint trigger. The actual name of the
created trigger will be of the form
! <literal>RI_ConstraintTrigger_0000<literal> (where 0000 is some number
assigned by the server).
Use this assigned name when dropping the trigger.
</para>
--- 52,58 ----
<para>
The name of the constraint trigger. The actual name of the
created trigger will be of the form
! <literal>RI_ConstraintTrigger_0000</literal> (where 0000 is some number
assigned by the server).
Use this assigned name when dropping the trigger.
</para>
***************
*** 60,71 ****
</varlistentry>

<varlistentry>
! <term><replaceable class="PARAMETER">events</replaceable></term>
<listitem>
<para>
One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
<literal>DELETE</literal>; this specifies the event that will fire the
! trigger. Multiple events can be specified using <literal>OR<literal>.
</para>
</listitem>
</varlistentry>
--- 60,71 ----
</varlistentry>

<varlistentry>
! <term><replaceable class="PARAMETER">event</replaceable></term>
<listitem>
<para>
One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
<literal>DELETE</literal>; this specifies the event that will fire the
! trigger. Multiple events can be specified using <literal>OR</literal>.
</para>
</listitem>
</varlistentry>


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-18-2008, 09:04 AM
Michael Glaesemann
 
Posts: n/a
Default Re: Constraint trigger doc patch


On Oct 17, 2006, at 3:55 PM, Michael Paesold wrote:

> Bruce Momjian schrieb:
>> Manual page changed applied. Thanks.

>
> Ok, here is small patch fixing the remaining items I found when
> reviewing the built page. Two items are just SGML bugs, the other
> item is to finish an incomplete change from the previous "events"
> to the new "event [ OR ... ]" notation.


Thanks, Michael and Bruce, for reviewing, fixing, and applying this
doc patch. I appreciate it. Now I won't have to search through my
mailbox or previous code looking for how this works again

Michael Glaesemann
grzm myrealbox com



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 04-18-2008, 09:04 AM
Bruce Momjian
 
Posts: n/a
Default Re: Constraint trigger doc patch


Patch applied. Thanks. Your documentation changes can be viewed in
five minutes using links on the developer's page,
http://www.postgresql.org/developer/testing.


---------------------------------------------------------------------------


Michael Paesold wrote:
> Bruce Momjian schrieb:
> > Manual page changed applied. Thanks.

>
> Ok, here is small patch fixing the remaining items I found when
> reviewing the built page. Two items are just SGML bugs, the other item
> is to finish an incomplete change from the previous "events" to the new
> "event [ OR ... ]" notation.
>
> Best Regards,
> Michael Paesold
>
> For quick reference:
> http://momjian.us/main/writings/pgsq...onstraint.html


> Index: create_constraint.sgml
> ================================================== =================
> RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/create_constraint.sgml,v
> retrieving revision 1.16
> diff -c -r1.16 create_constraint.sgml
> *** doc/src/sgml/ref/create_constraint.sgml 16 Oct 2006 19:33:12 -0000 1.16
> --- doc/src/sgml/ref/create_constraint.sgml 17 Oct 2006 06:48:14 -0000
> ***************
> *** 52,58 ****
> <para>
> The name of the constraint trigger. The actual name of the
> created trigger will be of the form
> ! <literal>RI_ConstraintTrigger_0000<literal> (where 0000 is some number
> assigned by the server).
> Use this assigned name when dropping the trigger.
> </para>
> --- 52,58 ----
> <para>
> The name of the constraint trigger. The actual name of the
> created trigger will be of the form
> ! <literal>RI_ConstraintTrigger_0000</literal> (where 0000 is some number
> assigned by the server).
> Use this assigned name when dropping the trigger.
> </para>
> ***************
> *** 60,71 ****
> </varlistentry>
>
> <varlistentry>
> ! <term><replaceable class="PARAMETER">events</replaceable></term>
> <listitem>
> <para>
> One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
> <literal>DELETE</literal>; this specifies the event that will fire the
> ! trigger. Multiple events can be specified using <literal>OR<literal>.
> </para>
> </listitem>
> </varlistentry>
> --- 60,71 ----
> </varlistentry>
>
> <varlistentry>
> ! <term><replaceable class="PARAMETER">event</replaceable></term>
> <listitem>
> <para>
> One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
> <literal>DELETE</literal>; this specifies the event that will fire the
> ! trigger. Multiple events can be specified using <literal>OR</literal>.
> </para>
> </listitem>
> </varlistentry>


>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings


--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 04:24 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com