Re: Client libraries supporting pipelining

From: "Jeroen T(dot) Vermeulen" <jtv(at)xs4all(dot)nl>
To: "Florian Weimer" <fw(at)deneb(dot)enyo(dot)de>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Client libraries supporting pipelining
Date: 2006-02-14 03:30:43
Message-ID: 14958.203.121.164.162.1139887843.squirrel@webmail.xs4all.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

On Tue, February 14, 2006 03:59, Florian Weimer wrote:
> Which client libraries support pipelining, to reduce server
> round-trips?

The C++ interface libpqxx does support pipelining of queries--but perhaps
not quite at the level you had in mind.

Its "pipeline" class transparently batches up queries and lets you go off
to do useful stuff on the client side while they are being submitted and
processed. Thus it provides both "split-transaction" operation to hide
latency and batch submission to reduce the number of roundtrips. You get
to influence when the current batch is sent off, through a minimal
interface. Normal operation consists of inserting queries in the one end
and retrieving results out the other.

This is not an extremely sophisticated mechanism, however. It doesn't do
any client-side background processing, and it doesn't transparently
prepare statements before executing them. You could still prepare them
yourself, of course--or if it really helps to do so automatically, that
could be implemented under the existing API.

You can find libpqxx at http://thaiopensource.org/development/libpqxx/

Jeroen

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Murray Cumming 2006-02-14 12:39:40 Re: Finding the pqlib version
Previous Message Kris Jurka 2006-02-13 23:02:42 Re: JDBC support for CALL / PERFORM