Whats the correct way to change trigdata->tg_relation
I'm creating a simple trigger that will be called during an insert and change the destination table.
All values are going to be preserved, just the destination table will be different.
From what I see I can't modify trigdata->tg_relation.
All examples use: return Datum(trigdata->tg_trigtuple); // however tg_relation does not belong there. I'm trying to avoind having to do a SPI_EXEC;
Should I create a new heap_tuple and call heap_insert() and then Return Datum(NULL); ? Or is there another more straight forward way of doing it? Looks like if I call heap_insert I will have to update the indexes somehow.
Thank you,
Charles
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Import Notes
Reply to msg id not found: BLU002-W131C5E45719B5E4CDE74418AB3F0@phx.gblReference msg id not found: BLU002-W131C5E45719B5E4CDE74418AB3F0@phx.gbl
On Fri, Dec 28, 2012 at 1:06 PM, Charles Gomes <charlesrg@outlook.com> wrote:
I'm creating a simple trigger that will be called during an insert and change the destination table.
All values are going to be preserved, just the destination table will be different.From what I see I can't modify trigdata->tg_relation.
All examples use: return Datum(trigdata->tg_trigtuple); // however tg_relation does not belong there. I'm trying to avoind having to do a SPI_EXEC;
Should I create a new heap_tuple and call heap_insert() and then Return Datum(NULL); ? Or is there another more straight forward way of doing it? Looks like if I call heap_insert I will have to update the indexes somehow.
I think you need to use SPI_EXEC. Otherwise something horrible will
probably happen.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers