Re: SPI_exec doesn't return proc context (on 9.1)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: SPI_exec doesn't return proc context (on 9.1)
Date: 2011-01-29 19:37:55
Message-ID: 14878.1296329875@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
> I am playing with demos for PostgreSQL's Prague Developer Day and I
> found a strange behave. SPI_exec should to return to proc context. But
> it isn't true.

Yes it is.

> In following demo, I have to play with MemoryContext
> when I would to get a correct result. Is it ok?

The commented-out lines of code don't appear to have anything to do with
what you claim the problem is. What it looks to me like you're doing is
copying the result out to the function's calling context, which is not
either of the SPI contexts established by SPI_connect (and removed by
SPI_finish).

The less crocky way to do that is to use SPI_palloc() for something that
should be allocated in the outer context.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-01-29 19:42:13 Re: WIP: RangeTypes
Previous Message Jeff Davis 2011-01-29 19:10:37 Re: WIP: RangeTypes