Thread: Question about accessing current row data inside trigger
Hello, I have a trigger function written in C. The trigger function is called via: CREATE TRIGGER after_update AFTER UPDATE ON some_table FOR EACH ROW EXECUTE PROCEDURE my_trigger_function(); Since the trigger is called after each row update the actual row data should be available in some way to the trigger. What functionality (SPI ?) do I use to use the column values from the current row in the actual trigger? thanks for any insight, Peter
On Tue, Mar 08, 2005 at 11:37:14AM -0800, peter Willis wrote: > I have a trigger function written in C. > The trigger function is called via: > > CREATE TRIGGER after_update AFTER UPDATE ON some_table > FOR EACH ROW EXECUTE PROCEDURE my_trigger_function(); > > Since the trigger is called after each row update the actual row data > should be available in some way to the trigger. > What functionality (SPI ?) do I use to use the column values from > the current row in the actual trigger? See "Writing Trigger Functions in C" and "C-Language Functions" in the documentation. Here are links to documentation for the latest version of PostgreSQL: http://www.postgresql.org/docs/8.0/interactive/trigger-interface.html http://www.postgresql.org/docs/8.0/interactive/xfunc-c.html -- Michael Fuhr http://www.fuhr.org/~mfuhr/
peter Willis <peterw@borstad.com> writes: > I have a trigger function written in C. > ... > Since the trigger is called after each row update the actual row data > should be available in some way to the trigger. Sure: tg_trigtuple or tg_newtuple depending on which state you want. See http://www.postgresql.org/docs/8.0/static/trigger-interface.html regards, tom lane
Hello, This issue is resolved. I was using the wrong struct. Peter Tom Lane wrote: >peter Willis <peterw@borstad.com> writes: > > >>I have a trigger function written in C. >>... >> Since the trigger is called after each row update the actual row data >>should be available in some way to the trigger. >> >> > >Sure: tg_trigtuple or tg_newtuple depending on which state you want. >See >http://www.postgresql.org/docs/8.0/static/trigger-interface.html > > regards, tom lane > > > >
Hello, I resolved this issue already. The trigger now works fine. I was looking at the wrong structure. Thanks, Peter Michael Fuhr wrote: >On Tue, Mar 08, 2005 at 11:37:14AM -0800, peter Willis wrote: > > > >>I have a trigger function written in C. >>The trigger function is called via: >> >>CREATE TRIGGER after_update AFTER UPDATE ON some_table >> FOR EACH ROW EXECUTE PROCEDURE my_trigger_function(); >> >> Since the trigger is called after each row update the actual row data >>should be available in some way to the trigger. >> What functionality (SPI ?) do I use to use the column values from >>the current row in the actual trigger? >> >> > >See "Writing Trigger Functions in C" and "C-Language Functions" in >the documentation. Here are links to documentation for the latest >version of PostgreSQL: > >http://www.postgresql.org/docs/8.0/interactive/trigger-interface.html >http://www.postgresql.org/docs/8.0/interactive/xfunc-c.html > > >