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