Re: PQdeleteTuple function in libpq

From: Andrew Chernow <ac(at)esilo(dot)com>
To: Pavel Golub <pavel(at)gf(dot)microolap(dot)com>
Cc: Pavel Golub <pavel(at)microolap(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: PQdeleteTuple function in libpq
Date: 2011-06-02 14:33:07
Message-ID: 4DE79F23.3060204@esilo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-interfaces

>> AC> IMHO, this should be handled by the application. You could track
>> tuples
>> AC> removed in an int[] or copy the result set into an application
>> defined
>> AC> array of C structures. I've always been under the impression that
>> AC> PGresult objects are immutable once delivered to the application.
>>
>>
>> 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)?
>

Actually the best solution would be to call PQcopyResult with all
PG_COPYRES_XXX flags enabled except PG_COPYRES_TUPLES. Now call
PQsetvalue for each tuple you want to add.

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Teodor Sigaev 2011-06-02 14:34:08 Re: vacuum and row type
Previous Message Pavel Golub 2011-06-02 14:32:15 Re: [HACKERS] PQdeleteTuple function in libpq

Browse pgsql-interfaces by date

  From Date Subject
Next Message Alvaro Herrera 2011-06-02 15:02:08 Re: [HACKERS] PQdeleteTuple function in libpq
Previous Message Pavel Golub 2011-06-02 14:32:15 Re: [HACKERS] PQdeleteTuple function in libpq