On Mon, Feb 29, 2016 at 5:55 PM, <da...@andl.org> wrote: > What I need (to find or create) is a ‘pure’ C language API to support a > Postgres server extension. By ‘pure’ I mean one that has no knowledge of > Postgres internals and that could be called by a generic interface provided > by some other tool that can support C language APIs. >
Well, since nobody else has replied yet, have you read: http://www.postgresql.org/docs/9.5/interactive/libpq.html libpq is the C callable API which communicates with the PostgreSQL server. There is a "shared object" and a normal library which can be "statically linked". But that's really all that _I_ know about it. > > > The reason is that I’m looking to integrate a new language (*Andl*) into > Postgres. To do that I need to find or create a ‘pure’ C-language API to > interface with: > > 1. The generic language call interface (pl_language_handler), which > must handle conversion of Incoming language call parameters and outgoing > language call return value. > > 1. The backend query execution interface (SPI), which must handle > conversion of outgoing query parameters and incoming query result values. > > > > There are 5 generic data types: boolean, binary (blob), number > (decimal/real/integer), text (string/varchar), time (date/datetime). Each > data type needs to be converted between the Postgres internal data types ( > Datum) and some intermediate data type that can be passed through a pure > C API. In my case that will be C# (MS or Mono), but others might want to > use Java or whatever. > > > > These conversion tasks are identical to those needed to implement an > ODBC/JDBC or similar interface, but one bound directly to the server and > not going through a client (socket) connection. I have already done this > successfully with Sqlite, which already provides a pure C server API and > excellent documentation to go with it, so I know what it might look like. > > > > FYI apart from these two APIs (and their 4x5 conversions), the only other > thing needed is some SQL code generation and I expect to have a working > language of considerable power. > > > > Any help, suggestions, pointers much appreciated. > > > > Regards > > David M Bennett FACS > *------------------------------* > > *Andl - A New Database Language - andl.org <http://andl.org>* > > > -- The man has the intellect of a lobotomized turtle. Maranatha! <>< John McKown