From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.sources Subject: guile-pg 0.18 available Date: Mon, 22 Mar 2004 13:16:24 +0100 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: Reply-To: ttn@glug.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1079958600 9874 80.91.224.253 (22 Mar 2004 12:30:00 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 22 Mar 2004 12:30:00 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Mar 22 13:29:51 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1B5OYw-0003j1-00 for ; Mon, 22 Mar 2004 13:29:51 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B5OPf-00072X-PP for guile-user@m.gmane.org; Mon, 22 Mar 2004 07:20:15 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1B5OPD-00071Y-VA for guile-user@gnu.org; Mon, 22 Mar 2004 07:19:47 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1B5OGs-0006GG-P6 for guile-user@gnu.org; Mon, 22 Mar 2004 07:11:42 -0500 Original-Received: from [151.42.71.188] (helo=surf.glug.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B5O8o-0004Xg-Ta; Mon, 22 Mar 2004 07:02:51 -0500 Original-Received: from ttn by surf.glug.org with local (Exim 3.35 #1 (Debian)) id 1B5OLw-0007Cf-00; Mon, 22 Mar 2004 13:16:24 +0100 Original-To: guile-sources@gnu.org X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:2964 gmane.lisp.guile.sources:114 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:2964 README excerpt: Guile-PG is a collection of modules for Guile allowing access to the PostgreSQL RDBMS from Scheme programs. The low-level module `(database postgres)' provides an almost one-to-one correspondence with the PostgreSQL "libpq" C library interface. Other higher-level modules, typically named `(database postgres-FOO)', provide abstractions and convenience procedures. This is alpha code (pre 1.0 release). It has bugs, and the interfaces may change from version to version. cvs tag: v-0-18 anoncvs instruction and tarball in dir: http://www.glug.org/people/ttn/software/guile-pg/ NEWS excerpt below. basically this release is the usual mix of bug fixes, new procs, and methodology enhancements. we haven't turned the corner yet on async testing, but when we do, it will be easy to notice. thi __________________________________________________________________________ - 0.18 | 2004-03-22 - Variables removed from module (database postgres) The following variables are obsolete; proc `pg-result-status' started returning a symbolic value starting with Guile-PG 0.08 (2002-12-11). PGRES_EMPTY_QUERY PGRES_COMMAND_OK PGRES_TUPLES_OK PGRES_COPY_OUT PGRES_COPY_IN PGRES_BAD_RESPONSE PGRES_NONFATAL_ERROR PGRES_FATAL_ERROR - Procs deleted from (database postgres-table) The following procs are in module (database postgres-col-defs), but w/o the "def:" prefix, since Guile-PG 0.15 (2003-01-15). def:col-name def:type-name def:type-options - Bugfix: pg-lo-unlink returns #f only on error This proc used to consider some non-error status cases as erroneous, and return #f as a result. Now the check is more precise. - Error output bugfix: Use ~S instead of %s - Build bugfix: pre-inst.merged-module-catalog conditionally built The "make" step now checks if prerequisite tools are available before attempting to create this file, and uses a fallback method if the tools are unavailable. - Limitation lifted: `pg-exec' query string size The query string sent to `pg-exec' used to be limited to 7999 bytes; larger queries were silently truncated. Furthermore, each `pg-exec' call used to perform a string copy whether it was needed or not. Similarly, a 255-byte limit was silently enforced for `pg-connectdb', `pg-error-message', `pg-fnumber', `pg-putline', and `pg-set-client-encoding!'. These procedures have been changed to use arbitrary-length input strings in situ if possible, and only do a copy if necessary. - Conditional definitions now unconditional The following procedures used to be conditionally defined (compiled). Now they are present unconditionally, although their return values are still influenced by the condition: Procedure Conditional Return value if conditional is not met ============================================================ pg-get-pass HAVE_PQPASS #f pg-backend-pid HAVE_PQBACKENDPID -1 pg-oid-value HAVE_PQOIDVALUE #f pg-binary-tuples HAVE_PQBINARYTUPLES #f pg-fmod HAVE_PQFMOD -1 The idiom for safely using these procs used to be: (and (defined? 'PROC) (PROC ...)) Now, `pg-guile-pg-loaded' returns a list of symbols which include the conditionals, sans "HAVE_" prefix, to check. E.g.: (and (memq 'PQFMOD (pg-guile-pg-loaded)) (pg-fmod ...)) Alternatively, you can use the procs without such a pre-check, and instead check the return value. - New (database postgres-meta) proc: defs-from-psql - New (database postgres-meta) proc: check-type/elaborate - New (database postgres-meta) proc: strictly-check-types/elaborate! - New (database postgres-table) proc: pgtable-worker - New (database postgres-types) converter: real - New (database postgres) procs See manual for details. - support for non-blocking queries (pg-send-query CONN QUERY) => bool (pg-consume-input CONN) => bool (pg-is-busy? CONN) => bool (pg-request-cancel CONN) => bool (pg-get-result CONN) => result - asynchronous version of `pg-getline' (pg-getlineasync CONN BUF [TICKLE]) => byte-count - miscellaneous (pg-conndefaults) => alist of alists - ChangeLog for subdir test/ split out - Support for builddir!=srcdir This means you can invoke the unpacked distribution's configure script from another directory, and the "make", "make check" and "make install" steps know how to cope. - Untested procs shown by "make check" There is a new test "coverage.sh" that displays the names of pg-* procs that are defined but not tested by the "make check" step. This list must be empty for a 1.0 release. To see full status (both tested/untested), change directory to test/ and invoke the script "cov". Note that coverage does not imply good coverage! [NEWS excerpt ends here] _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user