few questions about rules: timestamp, new.oid

From: Michael Olivier <mo(at)local2me(dot)com>
To: "pgsql-sql(at)postgreSQL(dot)org" <pgsql-sql(at)postgreSQL(dot)org>
Subject: few questions about rules: timestamp, new.oid
Date: 1999-08-02 21:04:58
Message-ID: 37A607FA.E9727ABD@local2me.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

I am setting up rules to track changes to some tables, in PG 6.4.2-3 (RH
Linux 6.0) ... and have two questions:

1. I'm storing a datetime timestamp for when the change was entered into
my changes table, but the timestamp doesn't change with subsequent
tests:

create rule users_modify_rule as on update to users do
insert into changes (table_name, change_time, ref_oid, type)
values ('users', 'now', current.oid, 'update');

dmtest=> select * from changes;
table_name|change_time |ref_oid|ref_name|type
----------+----------------------------+-------+--------+------
users |Mon Aug 02 13:52:34 1999 PDT| 990398| |update
users |Mon Aug 02 13:52:34 1999 PDT| 990398| |update
users |Mon Aug 02 13:52:34 1999 PDT| 990398| |update
users |Mon Aug 02 13:52:34 1999 PDT| 990398| |update
users |Mon Aug 02 13:52:34 1999 PDT| 990398| |update
(5 rows)

2. How can I get the oid of a record being inserted? Using new.oid
isn't getting it for me... the field in my changes table remains
blank...

create rule users_add_rule as on insert to users do
insert into changes (table_name, change_time, ref_oid, type)
values ('users', 'now', new.oid, 'insert');

Getting some other field, like new.acctname, does work...

Thanks,
Michael

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message maxsbox 1999-08-03 06:16:19 Re: [SQL] Using dates
Previous Message tjk@tksoft.com 1999-08-02 20:44:25 Re: [SQL] MVCC and concurrent clients