[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: [GENERAL] Executing a query and returning the result set using the SPI
From:       Tom Lane <tgl () sss ! pgh ! pa ! us>
Date:       2004-01-31 17:27:49
Message-ID: 5083.1075570069 () sss ! pgh ! pa ! us
[Download RAW message or body]

Nuno Morgadinho <neqm@lockstep.org> writes:
> Ideally, I would want to make the example function return the
> information as a "set" and not through elog() so I can later access it
> and print it using PHP.
> I have a few ideas on how this can be accomplished but I haven't found
> any simple example to fully elucidate me.

I think your problem comes from having done
SPI_connect/SPI_exec/SPI_finish every time through the function.  Aside
from being really inefficient, this means that after the first call, the
tuple slot you built in the first call has a dangling pointer to a
tupdesc that doesn't exist anymore.  You want to do SPI_connect and
SPI_exec only during the FIRSTCALL sequence, and do SPI_finish just
before returning for the last time.

			regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic