I have already tried it out. I tried the following:-
char *myval
1) i = DatumGetInt64(SPI_getbinval(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1, &isnull));
2) myval=SPI_getvalue(trigdata->tg_trigtuple, tupdesc, 17);
3) myval=SPI_getvalue(trigdata->tg_trigtuple, trigdata->tg_relation->rd_att, 17);
4) myval=strdup(SPI_getvalue(trigdata->tg_trigtuple, trigdata->tg_relation->rd_att, 17));
5) if ((myval=SPI_getvalue(trigdata->tg_trigtuple, trigdata->tg_relation->rd_att, 17))==NULL) then, log and exit.
With warm regards.
Vivek J. Joshi.
vivek@staff.ownmail.com
Trikon electronics Pvt. Ltd.
All science is either physics or stamp collecting. -- Ernest Rutherford
Tom Lane wrote:
> ><vivek@staff.ownmail.com> writes:
>> i = DatumGetInt64(SPI_getbinval(SPI_tuptable->vals[0],
tupdesc, 1, &isnull));
>
>I think this is your problem: you're trying to use the wrong tupdesc to
>retrieve from the SELECT count(*) result. SPI_tuptable->tupdesc would
>work better there.
>
> regards, tom lane
>
>---------------------------(end of broadcast)---------------------------
>TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly