possible enhancing of UPDATE syntax? - Mailing list pgsql-hackers

From Pavel Stehule
Subject possible enhancing of UPDATE syntax?
Date
Msg-id CAFj8pRDy9ALQ+fwUYXAkqEeqNRWqQs_1fV1y6QUL-VEi-JK_zA@mail.gmail.com
Whole thread Raw
List pgsql-hackers
Hello

we support syntax for INSERT and DELETE statements, that allows a simple triggers for these statements.

CREATE FUNCTION trg_insert()
RETURNS trigger AS $$
BEGIN
  INSERT INTO target_tbl VALUES(NEW.*)
  RETURN NULL;
END;
$$ LANGUAGE plpgsql;

* is not allowed in DELETE, but we can use a virtual column

CREATE FUNCTION trg_delete()
RETURNS trigger AS $$
BEGIN
  DELETE FROM target_tbl WHERE target_tbl = OLD;
  RETURN NULL;
END;
$$ LANGUAGE plpgsql;

Same functionality is missing for UPDATE, although we support (targetlist) = (ROW) syntax

So should be nice and consistent with previous behave

UPDATE target_tbl SET (target_tbl.*) = (NEW) WHERE target_tbl = OLD;

What do you think about it?

Regards

Pavel

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: StrategyGetBuffer optimization, take 2
Next
From: amulsul
Date:
Subject: Re: undefined symbol: PQescapeLiteral