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.
pgsql-general by date
|Next:||From: Joe Maldonado||Date: 2005-02-25 15:15:12|
|Subject: Re: view/pgpgsql functions bug|
|Previous:||From: Sean Davis||Date: 2005-02-25 14:53:09|
|Subject: Re: postgresql 8.0 advantages|