> we need to control database changes within BEFORE triggers. > There is no problem with triggers called by update, but there is > a problem with triggers called by insert. > > We strongly need to know the oid of a newly inserted tuple. > In this case, we use tg_newtuple of the TriggerData structure > passed to thetrigger function, and its t_data -> t_oid will > have the value '0'. > > Using BEFORE and AFTER triggers would make our lives much harder. > > Is there any way (even hack) to get the oid the newly > inserted tuple will receive? Just set t_data->t_oid = newoid() - this is what backend does in heapam.c:heap_insert(). Vadim ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html