From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Nuno Morgadinho <neqm(at)lockstep(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Executing a query and returning the result set using the SPI |
Date: | 2004-01-31 17:27:49 |
Message-ID: | 5083.1075570069@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Nuno Morgadinho <neqm(at)lockstep(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | elein | 2004-01-31 18:33:21 | Re: Creating 'global' functions. |
Previous Message | Louis LeBlanc | 2004-01-31 16:03:21 | Large object insert/update and oid use |