Re: BUG #5883: Error when mixing SPI_returntuple with returning regular HeapTuple - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5883: Error when mixing SPI_returntuple with returning regular HeapTuple
Date
Msg-id 25635.1297701547@sss.pgh.pa.us
Whole thread Raw
In response to BUG #5883: Error when mixing SPI_returntuple with returning regular HeapTuple  ("" <vegard.bones@met.no>)
Responses Re: BUG #5883: Error when mixing SPI_returntuple with returning regular HeapTuple  (Vegard Bønes <vegard.bones@met.no>)
List pgsql-bugs
"" <vegard.bones@met.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

pgsql-bugs by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: BUG #5884: i cant select entire array values
Next
From: Pavel Stehule
Date:
Subject: Re: BUG #5884: i cant select entire array values