Doesn't appear that you can use OLD.oid in triggers (actually does more, =
but thats good enough):

CREATE FUNCTION history_update_delete() RETURNS OPAQUE AS '
DECLARE
    v_tablename varchar(40);
    v_history_tablename varchar(48);
    v_operation varchar(6);
BEGIN
    v_operation :=3D TG_OP;
    v_tablename :=3D TG_RELNAME;
    v_history_tablename :=3D ''history_'' || v_tablename;

    INSERT INTO v_history_tablename SELECT ''v_operation'' as =
history_change_type
        , OLD.oid as orignal_oid
        , *
        FROM v_tablename
        WHERE oid =3D OLD.oid;

    RETURN NEW;

END;
' LANGUAGE 'plpgsql';
--
ERROR:  record old has no field oid
 

The below also fails.

create table example (
  original_oid oid REFERENCES table(oid)
        ON UPDATE CASCADE
        ON DELETE SET NULL
);
--
ERROR:  UNIQUE constraint matching given keys for reference table "table" not found

Postgresql 7.1beta3.  I'd consider these to be bugs myself but I've not =
tried them in previous versions to know if it's really just a new =
feature :)

--
Rod Taylor
 
There are always four sides to every story: your side, their side, the truth, and what really happened.
BEGIN:VCARD
VERSION:2.1
N:Taylor;Rod;B
FN:Taylor, Rod B
ORG:BarChord Entertainment Inc.;System Operation and Development
TITLE:Chief Technical Officer
ADR;WORK:;;;Toronto;Ontario;;Canada
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:Toronto, Ontario=0D=0ACanada
X-WAB-GENDER:2
URL:
URL:http://www.barchord.com
BDAY:19790401
EMAIL;INTERNET:[EMAIL PROTECTED]
EMAIL;PREF;INTERNET:[EMAIL PROTECTED]
EMAIL;INTERNET:[EMAIL PROTECTED]
REV:20010118T194220Z
END:VCARD

Reply via email to