Quoth "Linas Vepstas" <[EMAIL PROTECTED]>: > 2008/10/16 Sebastian Tennant <[EMAIL PROTECTED]>: > >> guile-pg is definitely more feature-full in that case. and ttn's >> guile-1.4 compatible guile-pg is much more fetaure-full than the >> guile-1.6 compatible guile-pg generally available through distros. > > What does it do? What are the features? I've been coding in > sql on and off for a decade, I can't imagine what more one really > needs from the API ... silly me.
I don't do much else myself. Here's the Procedure Index for the 1.6 compatible guile-pg which I'm using with guile-1.8 (with deprecated feature warnings turned off!). guile-pg consists of a single module (database postgres). * column-name: Column Definitions. * dbcoltype-lookup: Types Conversion. * dbcoltype:default: Types Conversion. * dbcoltype:name: Types Conversion. * dbcoltype:objectifier: Types Conversion. * dbcoltype:stringifier: Types Conversion. * dbcoltypes: Types Conversion. * define-db-col-type: Types Conversion. * define-db-col-type-array-variant: Types Conversion. * describe-table!: Introspection. * for-each-tuple: Result Transforms. * infer-defs: Introspection. * objectifiers: Column Definitions. * oid-type-name-cache: Types Conversion. * pg-backend-pid: Database Connections. * pg-binary-tuples?: Retrieving Data. * pg-cmdtuples: Retrieving Data. * pg-connectdb: Database Connections. * pg-connection?: Database Connections. * pg-endcopy: Writing/Reading Data. * pg-error-message: Retrieving Data. * pg-exec: Retrieving Data. * pg-fmod: Retrieving Data. * pg-fname: Retrieving Data. * pg-fnumber: Retrieving Data. * pg-fsize: Retrieving Data. * pg-ftype: Retrieving Data. * pg-get-client-data: Database Connections. * pg-get-connection: Retrieving Data. * pg-get-db: Database Connections. * pg-get-host: Database Connections. * pg-get-options: Database Connections. * pg-get-pass: Database Connections. * pg-get-port: Database Connections. * pg-get-tty: Database Connections. * pg-get-user: Database Connections. * pg-getisnull: Retrieving Data. * pg-getlength: Retrieving Data. * pg-getline: Writing/Reading Data. * pg-getvalue: Retrieving Data. * pg-guile-pg-loaded: Miscellaneous. * pg-guile-pg-module-config-stamp: Miscellaneous. * pg-guile-pg-module-version: Miscellaneous. * pg-guile-pg-version: Miscellaneous. * pg-lo-creat: Large Objects. * pg-lo-export: Large Objects. * pg-lo-get-connection: Large Objects. * pg-lo-get-oid: Large Objects. * pg-lo-import: Large Objects. * pg-lo-open: Large Objects. * pg-lo-read: Large Objects. * pg-lo-seek: Large Objects. * pg-lo-tell: Large Objects. * pg-lo-unlink: Large Objects. * pg-make-print-options: Writing/Reading Data. * pg-nfields: Retrieving Data. * pg-ntuples: Retrieving Data. * pg-oid-status: Retrieving Data. * pg-oid-value: Retrieving Data. * pg-print: Writing/Reading Data. * pg-putline: Writing/Reading Data. * pg-reset: Database Connections. * pg-result-status: Retrieving Data. * pg-result?: Retrieving Data. * pg-set-client-data!: Database Connections. * pg-trace: Miscellaneous. * pg-untrace: Miscellaneous. * pgtable-manager: Single-Table Abstraction. * result->object-alist: Result Transforms. * result->object-alists: Result Transforms. * result-field->object-list: Result Transforms. * sql-pre: Single-Table Abstraction. * stringifiers: Column Definitions. * tuples-result->table: Single-Table Abstraction. * type-name: Column Definitions. * type-options: Column Definitions. * where-clausifier: Single-Table Abstraction. ttn has probably done some work on the same module (database postgres) and written a whole set of new modules abstraction and convenience modules: http://www.gnuvola.org/software/guile-pg/ but... "To build Guile-PG you need to have installed both the PostgreSQL frontend library libpq, and a version of Guile that can load binary module (a b c) from file a/b/c.so or a/b/c/libc.la under `%load-path'." I believe the last bit means it'll work with guile-1.4 or guile-1.6 (because the ability was only deprecated at this stage), but guile-1.8 definitely no longer has this ability. Sebastian