PQdeleteTuple function in libpq

From: Pavel Golub <pavel(at)microolap(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, <pgsql-interfaces(at)postgresql(dot)org>
Subject: PQdeleteTuple function in libpq
Date: 2011-06-01 15:43:10
Message-ID: 147534417.20110601184310@gf.microolap.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-interfaces

Hello.

I'm some kind of PQdeleteTuple function will be very usefull in libpq.
Because right now after deleting some record I need refetch result
set, or mark tuple as deleted and this is headache for me.

So I checked fe-exec.c sources and wrote this:

int PQdeleteTuple(PGresult *src, int tup_num)
{
if (!src)
return NULL;

int i,
field;

/* Invalid tup_num, must be < ntups */
if (tup_num < 0 || tup_num >= src->ntups)
return FALSE;

free(src->tuples[tup_num]);

for (i = tup_num; i < src->ntups - 1; i++)
{
src->tuples[i] = src->tuples[i + 1];
}
src->ntups--;
return TRUE;
}

But I'm pretty sure, that "free(src->tuples[tup_num])" is bullshit!
Because memory is allocated by pqResultAlloc, which in turn plays with
memory blocks and so on...

Can anyone help me in this?

PS I'm not a C guru, so don't please kick me hard. :)

Thanks.

--
With best wishes,
Pavel mailto:pavel(at)gf(dot)microolap(dot)com

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Janes 2011-06-01 15:58:24 Re: patch for new feature: Buffer Cache Hibernation
Previous Message Peter Eisentraut 2011-06-01 15:40:21 Re: [BUGS] BUG #6034: pg_upgrade fails when it should not.

Browse pgsql-interfaces by date

  From Date Subject
Next Message Merlin Moncure 2011-06-01 16:24:25 Re: PQdeleteTuple function in libpq
Previous Message hatem gamal elzanaty 2011-05-16 02:13:05 how to write cgi script that is hosted under apache and accessing postgresql