Manipulating a dataset on the client side

From: Havasvölgyi Ottó <h(dot)otto(at)freemail(dot)hu>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Manipulating a dataset on the client side
Date: 2005-02-25 15:09:40
Message-ID: 022901c51b4c$07aa6880$ba00a8c0@otto
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

Situation:
The client program queries a dataset from the PG server, and it displays it, say, in a table. The user can navigate and update fields, insert new records, delete records. And any change should be visible on all clients.
I think I have basically 2 choices:
1 : using SELECT and download the whole dataset with pg_exec()
2 : using cursors (pg_exec(..,'DECLARE ... '))

In the 1st case after each update,insert delete of the user I should run the query again to see the changes on this client ? This can be slow if the table is large.

The behaviour of the 2nd case is not so trivial for me. I know that this will be faster for large tables, but I don't know if the change I perform will be visible for this user after a simple refetch without opening another cursor. DECLARE and CLOSE should be enclosed in a transaction, and with SAVEPOINTs I think I can commit the user's operations before closing the cursor.

Please help,

Otto

Browse pgsql-general by date

  From Date Subject
Next Message Joe Maldonado 2005-02-25 15:15:12 Re: view/pgpgsql functions bug
Previous Message Sean Davis 2005-02-25 14:53:09 Re: postgresql 8.0 advantages