postgresql/contrib/pginterface
Marc G. Fournier 5b4b3d563d From: Jun Kuwamura <juk@rccm.co.jp>
This patch fix the Makefiles in contrib/{pginterface, spi,
miscutil, int8, ip_and_mac, sequence, soundex, string, userlock,
array, datetime} to install their modules in one directory(lib/modules/).
1998-04-22 04:16:46 +00:00
..
halt.c Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
halt.h Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Makefile From: Jun Kuwamura <juk@rccm.co.jp> 1998-04-22 04:16:46 +00:00
pginsert.c Removed un-needed signal suff from pginterface. 1997-09-16 15:36:09 +00:00
pginterface.c pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
pginterface.h Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
pgnulltest.c Removed un-needed signal suff from pginterface. 1997-09-16 15:36:09 +00:00
pgwordcount.c Removed un-needed signal suff from pginterface. 1997-09-16 15:36:09 +00:00
README Removed un-needed signal suff from pginterface. 1997-09-16 15:36:09 +00:00


   			      Pginterface 2.0

Attached is a copy of the Postgres support routines I wrote to allow me
to more cleanly interface to the libpg library, more like a 4gl SQL
interface.

It has several features that may be useful for others:

I have simplified the C code that calls libpq by wrapping all the
functionality of libpq in calls to connectdb(), doquery(), fetch(),
fetchwithnulls() and disconnectdb().  Each call returns a structure or
value, so if you need to do more work with the result, you can.  Also, I
have a global variable that allows you to disable the error checking I
have added to the doquery() routine.

I have added a function called fetch(), which allows you to pass
pointers as parameters, and on return the variables are filled with the
data from the binary cursor you opened.  These binary cursors are not
useful if you are running the query engine on a system with a different
architecture than the database server.  If you pass a NULL pointer, the
column is skipped, and you can use libpq to handle it as you wish.

There is a demo program called pginsert that demonstrates how the
library can be used.

You can create a library of pginterface.c and halt.c, and just include
pginterface.h in your source code.

I am willing to maintain this if people find problems or want additional
functionality. 

Bruce Momjian (root@candle.pha.pa.us)