I wonder if there is a way to access columns in a parent table when
running a PL/pgSQL trigger.
Here is an example:
CREATE TABLE a (
one text
);
CREATE TABLE b (
two text
) INHERITS (a);
CREATE FUNCTION myinsert() RETURNS opaque AS '
BEGIN
RAISE NOTICE ''1 - NEW: %\n'', NEW.one;
RAISE NOTICE ''2 - NEW: %\n'', NEW.two;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
CREATE TRIGGER mytrig BEFORE INSERT ON b
FOR EACH ROW EXECUTE PROCEDURE myinsert();
INSERT INTO b VALUES ('a1', 'b2');
An error is displayed:
CREATE
CREATE
ERROR: function myinsert already exists with same argument types
CREATE
NOTICE: NEW: b2
INSERT 455182 1
As you can see the column of the parent table cannot be accessed. Is
there a way to get around the problem?
I guess this would be a damn good feature which could be important for
many developers.
Hans