Re: Concurrent psql patch - Mailing list pgsql-patches

From Andrew Dunstan
Subject Re: Concurrent psql patch
Date
Msg-id 46602A6C.8010408@dunslane.net
Whole thread Raw
In response to Re: Concurrent psql patch  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: Concurrent psql patch
List pgsql-patches

Gregory Stark wrote:
> "Andrew Dunstan" <andrew@dunslane.net> writes:
>
>
>> Tom Lane wrote:
>>
>>> Andrew Dunstan <andrew@dunslane.net> writes:
>>>
>>>
>>>>             if (pset.c->db->asyncStatus != PGASYNC_BUSY)
>>>>             {
>>>>                 break;
>>>>             }
>>>>
>>>>
>>> There already is a defined API for this, namely PQisBusy().
>>>
>
> Oh, now I remember why I'm including libpq-int.h. It's not for PGASYNC_BUSY as
> above. The case above can indeed be fixed using PQIsBusy() (and select/poll
> looping).
>
> The missing interface is for PGASYNC_IDLE. The problem is that I didn't really
> want to have psql go through the trouble to check all the connections for
> waiting output if it didn't have any queries pending.
>
> This could be fixed by having psql track which connections are waiting for
> query results. It's a bit annoying to have two state bits that hold the same
> data at two different levels of abstraction though.
>
>

Unless you have a better solution I think we'd better do that, though.

I notice that the header is also included in command.c even though it
doesn't use PGASYNC_IDLE.

Are you going to make these fixes?

cheers

andrew

pgsql-patches by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: [HACKERS] like/ilike improvements
Next
From: Andrew Dunstan
Date:
Subject: Re: Updated bitmap index patch