Skip site navigation (1) Skip section navigation (2)

Re: Question about accessing current row data inside trigger

From: "Jim Buttafuoco" <jim(at)contactbda(dot)com>
To: pw <p(dot)willis(at)telus(dot)net>, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Question about accessing current row data inside trigger
Date: 2005-03-08 23:27:06
Message-ID: 20050308232604.M14503@contactbda.com (view raw or flat)
Thread:
Lists: pgsql-interfaces
have you looked in the contrib directory (Postgresql 7.4.6).   I just checked and the dbmirror/pending.c looks like 
some good code to follow.

Jim



---------- Original Message -----------
From: pw <p(dot)willis(at)telus(dot)net>
To: pgsql-interfaces(at)postgresql(dot)org
Sent: Tue, 08 Mar 2005 14:57:24 -0800
Subject: [INTERFACES] Question about accessing current row data inside trigger

> *previously posted this to pgsql-general*
> 
> -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?
> -
> -	Does SPI_cursor_fetch automatically give me the current trigger -row or
> -do I need to query again for the proper row?
> -
> -thanks for any insight,
> -
> -Peter
> 
> I am now using :
> 
> TupleTableSlot  *t = (TupleTableSlot *) PG_GETARG_POINTER(0);
> bool isnull;
> 
> char *buffer=(char *)DatumGetPointer(GetAttributeByName(t, 
> "some_column_name", &isnull));
> 
> The pointer always comes back NULL though there is data
> in the column.
> 
> I'm still not sure this is the correct way to access
> the data from the updated row.
> 
> Is this the correct way to get a string back from
> the data in the column named 'some_column_name'?
> 
> Do I have the correct TupleTableSlot pointer?
> 
> Thanks for any insight,
> 
> Peter
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
------- End of Original Message -------


In response to

pgsql-interfaces by date

Next:From: eleinDate: 2005-03-09 03:36:14
Subject: Using PL/R with 8.0
Previous:From: pwDate: 2005-03-08 22:57:24
Subject: Question about accessing current row data inside trigger

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group