Re: Bug in PL/pgSQL GET DIAGNOSTICS?

From: Manfred Koizar <mkoi-pg(at)aon(dot)at>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paesold <mpaesold(at)gmx(dot)at>, PostgreSQL Hackers Mailing List <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug in PL/pgSQL GET DIAGNOSTICS?
Date: 2002-09-28 20:38:43
Message-ID: 3d3cpusfk97kpk9idglerikktgfb43m15g@4ax.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, 28 Sep 2002 13:41:04 -0400 (EDT), Bruce Momjian
<pgman(at)candle(dot)pha(dot)pa(dot)us> wrote:
>Does anyone else have a common rule that would return incorrect results
>using the proposed rules?

CREATE VIEW twotables AS
SELECT ... FROM table1 INNER JOIN table2 ON ... ;

CREATE RULE twotables_insert AS -- INSERT rule
ON INSERT TO twotables
DO INSTEAD (
INSERT INTO table1 VALUES (new.pk, new.col1);
INSERT INTO table2 VALUES (new.pk, new.col2)
);

CREATE RULE twotables_update AS -- UPDATE rule
ON UPDATE TO twotables
DO INSTEAD (
UPDATE table1 SET col1 = new.col1 WHERE pk = old.pk;
UPDATE table2 SET col2 = new.col2 WHERE pk = old.pk
);

CREATE RULE twotables_delete AS -- DELETE rule
ON DELETE TO twotables
DO INSTEAD (
DELETE FROM table1 WHERE pk = old.pk;
DELETE FROM table2 WHERE pk = old.pk
);

CREATE VIEW visible AS
SELECT ... FROM table3
WHERE deleted = 0;

CREATE RULE visible_delete AS -- DELETE rule
ON DELETE TO visible
DO INSTEAD
UPDATE table3
SET deleted = 1
WHERE pk = old.pk;

Servus
Manfred

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2002-09-28 20:42:43 Re: 7.2.3?
Previous Message Tom Lane 2002-09-28 20:38:29 Re: [PATCHES] Cascaded Column Drop