It still doesn't work. btw, I am using 8rc2. changed it to: Datum result; HeapTuple tupleCopy; tupleCopy = heap_copytuple(tuple); result = HeapTupleGetDatum(tupleCopy); SRF_RETURN_NEXT(funcctx, result);
its probably something with the column description. the rows are returned ok with select testgetrows(); but not with select * from testgetrows(); Regards, tzahi. > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lane > Sent: Friday, January 07, 2005 8:59 PM > To: Tzahi Fadida > Cc: pgsql-general@postgresql.org > Subject: Re: [GENERAL] ERROR: cache lookup failed for type 0 > > > Tzahi Fadida <[EMAIL PROTECTED]> writes: > > Hi, I am learning how to use the c functions and my function below > > works when I do: select testgetrows(); > > but when I do select * from testgetrows(); I am getting: > > "ERROR: cache lookup failed for type 0" > > Whats's the problem? > > I don't think it's safe to do HeapTupleGetDatum() directly on > a tuple obtained from heap_getnext. You need to copy it. > > regards, tom lane > > ---------------------------(end of > broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to > [EMAIL PROTECTED] > > ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings