guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile-db


From: Sebastian Tennant
Subject: Re: guile-db
Date: Fri, 17 Oct 2008 11:04:20 +0000
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux)

Quoth "Linas Vepstas" <address@hidden>:
> 2008/10/16 Sebastian Tennant <address@hidden>:
>
>> 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








reply via email to

[Prev in Thread] Current Thread [Next in Thread]