From: | Marko Kreen <markokr(at)gmail(dot)com> |
---|---|
To: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)oss(dot)ntt(dot)co(dot)jp> |
Cc: | mmoncure(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org, greg(at)2ndquadrant(dot)com |
Subject: | Re: Speed dblink using alternate libpq tuple storage |
Date: | 2012-01-31 07:19:22 |
Message-ID: | CACMqXC+PJHqxhPTDdOYSHqZBenm3j7otRi5P5_f30W05o9cxig@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jan 31, 2012 at 4:59 AM, Kyotaro HORIGUCHI
<horiguchi(dot)kyotaro(at)oss(dot)ntt(dot)co(dot)jp> wrote:
> This is fixed version of dblink.c for row processor.
>
>> i'll re-send the properly fixed patch for dblink.c later.
>
> - malloc error in initStoreInfo throws ERRCODE_OUT_OF_MEMORY. (new error)
>
> - storeHandler() now returns FALSE on malloc failure. Garbage
> cleanup is done in dblink_fetch() or dblink_record_internal().
> The behavior that this dblink displays this error as 'unkown
> error/could not execute query' on the user session is as it did
> before.
Another thing: if realloc() fails, the old pointer stays valid.
So it needs to be assigned to temp variable first, before
overwriting old pointer.
And seems malloc() is preferable to palloc() to avoid
exceptions inside row processor. Although latter
one could be made to work, it might be unnecessary
complexity. (store current pqresult into remoteConn?)
--
marko
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2012-01-31 07:43:30 | Re: Group commit, revised |
Previous Message | Joachim Wieland | 2012-01-31 05:55:04 | Re: patch for parallel pg_dump |