Re: Better support for whole-row operations and composite

From: Joe Conway <mail(at)joeconway(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Better support for whole-row operations and composite
Date: 2004-04-04 04:25:28
Message-ID: 406F8E38.9030302@joeconway.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:

> 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?

That's a shame -- it used to work fine -- done this way so the same
function could handle tuple arguments to regular functions, and old/new
tuples to trigger functions. It is in plr_trigger_handler(); vaguely
similar to pltcl_trigger_handler(). I'll have to figure out a workaround
I guess.

Joe

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2004-04-04 04:25:33 Re: Better support for whole-row operations and composite
Previous Message Tom Lane 2004-04-04 04:05:36 Re: Better support for whole-row operations and composite types