On 6/2/2011 11:02 AM, Alvaro Herrera wrote:
Excerpts from Andrew Chernow's message of jue jun 02 10:12:40 -0400 2011:

Andrew, why we have PQmakeEmptyPGresult, PQcopyResult,
PQsetResultAttrs, PQsetvalue and PQresultAlloc in this case? Of course
there's no big deal with their absence but let's be consistent.

I'm not entirely sure what you are trying to do, but can't you use
PQmakeEmptyPGresult, PQsetResultAttrs and PQsetvalue to construct a
result that excludes the tuples you don't want followed by a
PQclear(initial_result)?

Seems pretty wasteful if you want to delete a single tuple from a large
result.  I think if you desired to compact the result to free some
memory after deleting a large fraction of the tuples in the result it
could be useful to do that, otherwise just live with the unused holes in
the storage area as suggested by Pavel.


Another solution is to manually cursor through the set (like grab 1000 tuples at a time) and copy the set to your own structure. That way, the temporary double memory to perform the copy is not as big of a hit. By using your own structure, you can organize the memory in a fashion that is optimized for your requirement.

--
Andrew Chernow
eSilo, LLC
global backup
http://www.esilo.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to