Re: BUG #5883: Error when mixing SPI_returntuple with returning regular HeapTuple

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "" <vegard(dot)bones(at)met(dot)no>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5883: Error when mixing SPI_returntuple with returning regular HeapTuple
Date: 2011-02-14 16:39:07
Message-ID: 25635.1297701547@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"" <vegard(dot)bones(at)met(dot)no> writes:
> When creating a server-side C function, things go wrong when I (in the same
> function) return some results via SPI_returntuple, and other results by
> manually creating HeapTuples. This applies even if the source for both
> returns are the same data in the same table.

I think the part of this example that doesn't work is returning from the
function without having exited your SPI context. If you need to produce
multiple rows from a single SPI query, the best solution is to collect
them all during a single call and return them in a tuplestore. You can
*not* return without having called SPI_finish to balance your
SPI_connect.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Pavel Stehule 2011-02-14 17:43:47 Re: BUG #5884: i cant select entire array values
Previous Message Kevin Grittner 2011-02-14 15:55:33 Re: BUG #5884: i cant select entire array values