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:pa...@gf.microolap.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