Joe Conway <mail(at)joeconway(dot)com> writes:
> For triggers, I was previously building up the arguments thus:
> slot = TupleDescGetSlot(tupdesc);
> slot->val = trigdata->tg_trigtuple;
> arg[7] = PointerGetDatum(slot);
> I suppose now I should do this instead?
> arg[7] = PointerGetDatum(trigdata->tg_trigtuple->t_data);
Hm, no, that won't work because a tuple being passed to a trigger
probably isn't going to contain valid type information. The API for
calling triggers is different from calling ordinary functions, so
I never thought about trying to make it look the same. At what point
are you trying to do the above, anyway?
regards, tom lane