Re: [patch] libpq one-row-at-a-time API

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndQuadrant.com>
To: Marko Kreen <markokr@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Postgres Hackers <pgsql-hackers@postgresql.org>
Date: 2012-06-17T13:01:53Z
Lists: pgsql-hackers
On 17 June 2012 19:37, Marko Kreen <markokr@gmail.com> wrote:
> On Sun, Jun 17, 2012 at 2:07 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> I prefer the description of Marko's API than the one we have now.
>>
>> Adopting one API in 9.2 and another in 9.3 would be fairly bad.
>> Perhaps we can have both?
>
> I see no reason the keep the (public) callback API around,
> except if we don't bother to remove it now.

OK by me.

>> Can we see a performance test? "Add a row processor API to libpq for
>> better handling of large result sets". So idea is we do this many,
>> many times so we need to double check the extra overhead is not a
>> problem in cases where the dumping overhead is significant.
...
> I did benchmark it, and it seems there are column-size
> + column-count patterns where new way is faster,
> and some patterns where old way is faster.  But the
> difference did not raise above test noise so I concluded
> it is insignificant and the malloc+copy avoidance is worth it.

As long as we've checked that's fine.

-- 
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services