If you really want the trigger API for PL/R to be indistinguishable from the function-call API, then I think you will need to copy the passed tuple and insert type information. This is more or less what ExecEvalVar does now in the whole-tuple case (the critical code is actually in heap_getsysattr though):
That got me there. It may not be the best in terms of pure speed, but it is easier and simpler than refactoring, at least at the moment. And I don't think the reason people will choose PL/R for triggers is speed in any case ;-)
Thanks!
Joe
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings