Re: Merged Model for libpq - Mailing list pgsql-general

From Merlin Moncure
Subject Re: Merged Model for libpq
Date
Msg-id AANLkTin4ETkbV6ixSg6ZJNVxR_t19c7ZWLRFGFnYJKwv@mail.gmail.com
Whole thread Raw
In response to Merged Model for libpq  (Annamalai Gurusami <annamalai.gurusami@gmail.com>)
List pgsql-general
On Thu, Mar 31, 2011 at 11:34 AM, Annamalai Gurusami
<annamalai.gurusami@gmail.com> wrote:
> Hi All,
>
> I would like to know about the best approach to take for providing a merged
> model of libpq library.  When I say "merged model" it means that the client
> and server would be running as a single process.  A single client libpq
> application can be linked to either the client-server libpq library or
> merged libpq library.  For more clarity here is a small flow diagram:
>
> Client Server Model:
>
> Application -> libpq library (cs) -> TCP/IP network -> libpq (backend) ->
> pgsql server
>
> Merged Model:
>
> Application -> libpq library (merged) -> pgsql server
>
> One approach that we are having in mind is to use the SPI interface and
> re-implement the libpq APIs.  Is there any other better approach?   Would it
> be possible to implement the client server protocol into an API interface,
> without involving the TCP/IP network?
>
> Your thoughts and suggestions on this would be highly appreciated.

One big issue with SPI that need to be aware of is that you have no
explicit transaction control  Once you are in SPI land, you are in one
transaction and one transaction only -- this means all locks are held
indefinitely as well as other issues.

I don't think fully server side applications are practical until we
get stored procedures with explicit transaction control (and once we
have them, that's all i'll ever write if given a choice).

merlin

pgsql-general by date:

Previous
From: Dann Corbit
Date:
Subject: Re: Postgres 9.1 - Release Theme
Next
From: Merlin Moncure
Date:
Subject: Re: pg_restore