On Dec 19, 2009, at 2:40 AM, Raimon Fernandez wrote:
>> I send:
>>
>> parse
>> bind
>> describe
>> execute
>> sync
>>
>> and then loop on the connection stream to receive the responses.
>
> And do you get the parseComplete after sending the parse or after sending the sync ?
I don't really know or care. I send the entire sequence above and then read the results handling each possible case. In
otherwords, I don't read anything after each message; I only read after sending the sync.
> And also from the docs:
>
> "If Execute terminates before completing the execution of a portal (due to reaching a nonzero result- row count), it
willsend a PortalSuspended message; t
> he appearance of this message tells the frontend that another Execute should be issued against the same portal to
completethe operation. "
>
> 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
lotof details - it really helped me to look at the psql source.
John DeSoi, Ph.D.