From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Sebastian Tennant Newsgroups: gmane.lisp.guile.user Subject: Re: guile-db Date: Fri, 17 Oct 2008 11:04:20 +0000 Message-ID: References: <1224013004.4370.5.camel@localhost> <3ae3aa420810141338o20adfbd4p5d9e6da4d5dc4226@mail.gmail.com> <3ae3aa420810151215y769f51efgea70d31d3e31bc12@mail.gmail.com> <3ae3aa420810161611y3e5a887bka51bd32074e2f51b@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1224241499 24074 80.91.229.12 (17 Oct 2008 11:04:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 17 Oct 2008 11:04:59 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Oct 17 13:05:58 2008 connect(): Connection refused Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Kqn9T-000401-Ph for guile-user@m.gmane.org; Fri, 17 Oct 2008 13:05:52 +0200 Original-Received: from localhost ([127.0.0.1]:52139 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kqn8P-0003sP-0i for guile-user@m.gmane.org; Fri, 17 Oct 2008 07:04:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kqn8L-0003sK-7u for guile-user@gnu.org; Fri, 17 Oct 2008 07:04:41 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kqn8I-0003s8-PB for guile-user@gnu.org; Fri, 17 Oct 2008 07:04:39 -0400 Original-Received: from [199.232.76.173] (port=41155 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kqn8I-0003s5-Ji for guile-user@gnu.org; Fri, 17 Oct 2008 07:04:38 -0400 Original-Received: from main.gmane.org ([80.91.229.2]:39758 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kqn8I-0006AH-6O for guile-user@gnu.org; Fri, 17 Oct 2008 07:04:38 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Kqn8B-0002vZ-Lb for guile-user@gnu.org; Fri, 17 Oct 2008 11:04:31 +0000 Original-Received: from vps203.linuxvps.org ([91.186.7.203]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 17 Oct 2008 11:04:31 +0000 Original-Received: from sebyte by vps203.linuxvps.org with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 17 Oct 2008 11:04:31 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 118 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: vps203.linuxvps.org User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux) Cancel-Lock: sha1:8FIk2cvSobEJ+YlGhX80MkCx34s= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6834 Archived-At: Quoth "Linas Vepstas" : > 2008/10/16 Sebastian Tennant : > >> 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