From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Raimon Fernandez <coder(at)montx(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Implementing Frontend/Backend Protocol TCP/IP |
Date: | 2009-10-27 13:00:09 |
Message-ID: | 20091027130008.GA4876@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-interfaces |
Raimon Fernandez wrote:
> REALbasic has plugin for PostgreSQL, but they are synchronous and
> freeze the GUI when interacting with PG. This is not a problem
> noramlly, as the SELECTS/UPDATES/... are fast enopugh, but sometimes
> we need to fetch 1000, 5000 or more rows and the application stops
> to respond, I can't have a progressbar because all is freeze, until
> all data has come from PG, so we need a better way.
If you need to fetch large numbers of rows, perhaps it would be better
to use a cursor and fetch a few at a time, moving the progress bar in
the pauses. So instead of
SELECT * FROM sometab;
you would o
DECLARE foo CURSOR FOR SELECT * FROM sometab;
and then, repeatedly,
FETCH 50 FROM foo
Until there are no more rows.
This can still freeze your app in certain cases, but it will be probably
a lot better than what you currently have. And it will be MUCH easier/
cheaper to do than working with the FE/BE protocol yourself.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Raimon Fernandez | 2009-10-27 13:25:59 | Re: Implementing Frontend/Backend Protocol TCP/IP |
Previous Message | ChenXun | 2009-10-27 12:56:55 | Re: Is there any ways to pass an array as parameter in libpq? |
From | Date | Subject | |
---|---|---|---|
Next Message | Raimon Fernandez | 2009-10-27 13:25:59 | Re: Implementing Frontend/Backend Protocol TCP/IP |
Previous Message | John DeSoi | 2009-10-27 12:51:39 | Re: Implementing Frontend/Backend Protocol TCP/IP |