Re: Does a call to a language handler provide a context/session, and somewhere to keep session data? - Mailing list pgsql-general

From Jan de Visser
Subject Re: Does a call to a language handler provide a context/session, and somewhere to keep session data?
Date
Msg-id 4943109.M0yTNegjRD@coyote
Whole thread Raw
In response to Re: Does a call to a language handler provide a context/session, and somewhere to keep session data?  (<david@andl.org>)
Responses Re: Does a call to a language handler provide a context/session, and somewhere to keep session data?
List pgsql-general
On March 8, 2016 03:00:14 PM david@andl.org wrote:
> At the moment I have two pressing problems.
>
> One is the start-up phase: getting the Andl runtime stoked up, load its
> catalog, set up its execution environment (including its own type system),
> ready for business. That process in Postgres seems to be undocumented, but I
> think I have it sorted (barring memory lifetime issues down the track).
>
> The other is type conversions: incoming and outgoing. That is undocumented
> too, and that's disappointing. Anyone writing functions or a language
> handler will really need this. I'm finding it hard to pick a good path right
> now.
>
> The third would be queries, but that doesn't look too hard. SPI is quite
> well documented.
>

OK, still not quite sure what your architecture is. Is it


(1)

  +---------------+
  | Client system |
  +---------------+
          |
          v
  +---------------+
  |      andl     |
  +---------------+
          |
          v (SQL)
  +---------------+
  |     pgsql     |
  +---------------+

Or (2)

  +---------------+
  | Client system |
  +---------------+
          |
          v (SQL)
  +---------------+    +----------+
  |  driver/pgsql | -> |   andl   |
  +---------------+    +----------+


In case (1), you're writing a driver: you abstract out the actual datastore
from your client program using andl. In case (2) you have a procedural
language handler where your client program still consciously connects to a
pgsql database, and within that database some/all data processing is delegated
to andl.

The reason I'm asking is to set terminology. I've browsed some of your
website, and I'm still not clear which of the two options you're after. It
could even be both I think. So let's set some parameters.

Depending on where that goes, you should get pgsql-hackers involved.


I'm not asking you this because


pgsql-general by date:

Previous
From: Andreas Joseph Krogh
Date:
Subject: Re: Exclude pg_largeobject form pg_dump
Next
From: "Joshua D. Drake"
Date:
Subject: Re: Exclude pg_largeobject form pg_dump