From: | Ioana Danes <ioanasoftware(at)yahoo(dot)ca> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>, Mauro <maurogdo(at)yahoo(dot)com(dot)br> |
Subject: | Re: PLPGSQL Generic query in trigger doubt |
Date: | 2011-08-10 15:25:52 |
Message-ID: | 1312989952.43806.YahooMailClassic@web120108.mail.ne1.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi Mauro,
If you try to determine what fields were changed you can check this post:
http://jaime2ndquadrant.blogspot.com/
It might work for you.
Ioana
--- On Wed, 8/10/11, Mauro <maurogdo(at)yahoo(dot)com(dot)br> wrote:
Hi, good morning list
I'm writing a generic trigger in plpgsql to provide a system log to my system, but I'm stopped with the folow problem:
Example:
TABLE STRUCT:table1 fldA VARCHAR fldB VARCHAR fldC VARCHAR
FUNCTION:
DECLARE
myrecord RECORD; -- record that will be storing field names from internal postres tables
fieldtest NAME; -- actual field name parsing
BEGIN
-- Generic function to automatize the log of changes
-- 1st, discover the field names from a table
FOR myrecord IN
SELECT
att.attname
FROM
pg_attribute att,
pg_class cls
WHERE
cls.oid = att.attrelid
AND att.attnum > 0
AND cls.relname = TG_RELNAME limit 1
LOOP
-- storing
the actual field name
fieldtest = myrecord.attname;
/* Here I'd like to do a parse in the 'fieldtest' variable to teste if the new value is diferent of the old value. The problem is: Variable name: fieldtest Variable content: fldA
How I can test the two records (new and old)? -- new.fieldtest = fieldtest is not a field name to new record -- new."fieldtest" = fieldtest is not a field name to new record -- new.(fieldtest) = plpgsql can not do a parser in this -- 'new.' || fieldtest = this is a string and can not be evaluate
*/
END LOOP;
-- Returning
RETURN NEW;
END;
Mauro Gonçalves
From | Date | Subject | |
---|---|---|---|
Next Message | c k | 2011-08-10 17:00:30 | Re: postgresql server crash on windows 7 when using plpython |
Previous Message | Adrian Klaver | 2011-08-10 14:04:44 | Re: postgresql server crash on windows 7 when using plpython |