Re: [HACKERS] It is doing my head in - Mailing list pgsql-hackers

From jwieck@debis.com (Jan Wieck)
Subject Re: [HACKERS] It is doing my head in
Date
Msg-id m10kT42-000EBeC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to It is doing my head in  ("Blyth A J C (Comp)" <ajcblyth@glam.ac.uk>)
List pgsql-hackers
> So my question is - why does the create trigger function fail when the
> function does in
> fact exist ?

    In fact - it does NOT exist!

    First  of  all,  the builtin 'sql' language cannot be used to
    create triggers. This must  be  done  in  C  or  one  of  the
    procedural languages PL/pgSQL and PL/Tcl.

    The  reason  why  the  function  doesn't  exist  is because a
    trigger procedure is a function declared  with  no  arguments
    and  a  return  type  of  OPAQUE.  Except for the C language,
    functions in PostgreSQL can be overloaded. Multiple different
    functions  can  have the same name as long as their arguments
    differ.

    In  reality  trigger  procedures  take  arguments.  They  are
    defined  at  CREATE  TRIGGER  time. And they return one or no
    database row of the table they are actually fired for.

    The documentation how to create triggers is  in  chapters  11
    and 13 of the PostgreSQL programmers manual.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#======================================== jwieck@debis.com (Jan Wieck) #

pgsql-hackers by date:

Previous
From: ZEUGSWETTER Andreas IZ5
Date:
Subject: Re: [HACKERS] It is doing my head in
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] It is doing my head in