Re: PQdeleteTuple function in libpq

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: PQdeleteTuple function in libpq
Дата
Msg-id BANLkTinOKYn2rS+LvCvLfOjeKuvKQS4PiA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PQdeleteTuple function in libpq  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-hackers
On Thu, Jun 2, 2011 at 10:02 AM, Alvaro Herrera
<alvherre@commandprompt.com> 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.

That would work, but it would potentially invalidate external pointers
to internal result data.  If you wanted to do this, it might be better
to expose a compaction feature which can be invoked directly.

merlin


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: pgpool versus sequences
Следующее
От: Tom Lane
Дата:
Сообщение: Re: vacuum and row type