Re: BUG #2379: Duplicate pkeys in table

Philip Warner <pjw@rhyme.com.au>

From: Philip Warner <pjw@rhyme.com.au>
To: pgsql-bugs@postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2006-04-06T16:04:51Z
Lists: pgsql-bugs
Tom Lane wrote:
> OK, I'm a bit confused by the obfuscation here.  The table with the
> duplicates is xxx, or qqq?

Possibly less obscure version:

     public | tg_update_anotherTable_date | "trigger"
|                     | mail  | plpgsql  |
    Declare
        uid         bigint;
    Begin
        uid = (select owner_id from anotherNotherTable m where
m.keyField = NEW.fkField);
        if (uid <> 0 and not uid is null) then
            update brokenTable set some_date = 'now' where id=uid;
        end if;
        Return NEW;
    End; |

and there's also a rewrite rule:

 aView_update_r1 AS
    ON UPDATE TO aView DO INSTEAD  UPDATE brokenTable SET f1 = new.f1
  WHERE brokenTable.id = new.id
 aView_update_r2 AS
    ON UPDATE TO aView DO INSTEAD  UPDATE brokenTable SET f2 = new.f2
  WHERE brokenTable.id = new.id