On 19/12/2009, at 16:32, John DeSoi wrote:

>> If I execute with a row limit of 1000, and I know there are more than 1000 
>> rows, I get the portalSuspended as described.
>> 
>> But, If a issue a new Execute, postgresql says that myPortal doesn't exist 
>> anymore.
>> 
>> How I can get those 1000 rows ?
> 
> Are you using a named portal? Are you reading all responses until you receive 
> a ready for query response? There are a lot of details - it really helped me 
> to look at the psql source.

Yes, I'm using a named portal.

The new question is:

When I get the PortalSuspended, I get the 1000 rows, and for fetching the 
others, I have to send a new Execute to the same Portal:

"If Execute terminates before completing the execution of a portal (due to 
reaching a nonzero result- row count), it will send a PortalSuspended message; 
the appearance of this message tells the frontend that another Execute should 
be issued against the same portal to complete the operation. "

But the portal isn't destroyed after a sync ?

I'm getting a "Portal 'myPortal' doesn't exist  "when sending the next Execute 
...



1. Parse the Select with some $1, $2

2. Send a Bind + Describe + Execute + Sync

3. received the portalSuspended

4. Send the Execute

5. Receive the error "Portal 'myPortal' doesn't exist "


thanks,


regards,


raimon

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to