[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Guile-PG 0.41 available
Guile-PG 0.41 available
Fri, 30 Sep 2011 12:56:37 +0200
Bug fixes, portability improvements, a couple of planned
retirements, and some new stuff for PostgreSQL 9.x support.
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
This is alpha code (pre 1.0 release), tested with various, but
not all, versions of Guile and PostgreSQL. It may have bugs,
and the interfaces may change from version to version.
To build Guile-PG you need to have installed both the PostgreSQL
frontend library libpq, and a version of Guile that can either
load binary module (a b c) from file a/b/c.so or a/b/c/libc.la
under ‘%load-path’, or provide ‘dynamic-link’ and ‘dynamic-call’.
- 0.41 | 2011-09-29
- Bugs fixed
- Make ‘idquote’ special-case ‘*’ in second part.
was: (display (idquote 'a.*)) |= "a"."*"
now: (display (idquote 'a.*)) |= "a".*
- Call ‘string-append’ with strings, not symbols.
We no longer rely on this particular Guile 1.4 slack.
- Portability fixes (tested w/ Guile 1.8.7)
With the following (and other, non-user-visible) changes, "make
check" no longer displays "foo is deprecated" messages with
Guile 1.8.7. If you see them for your system, for either "make
check" or subsequent Guile-PG use, please report that as a bug.
- Don't do "defer/allow ints" for Guile 1.8+.
- Revamped Scheme object to C byte range for Guile 1.8+
Access to Scheme string representation was curtailed in Guile
1.8 (API available but deprecated), so all operations that pass
a C byte range to libpq functions now incur an extra conversion
step. The unfortunate user-visible result is performance loss.
- Planned retirement
- procedure ‘(database postgres) pg-getline’
- procedure ‘(database postgres) pg-getlineasync’
These procedures are obsoleted by ‘pg-get-copy-data’ and
WILL BE REMOVED by 2012-12-31.
- New fluid to control ‘(database postgres-qcons) sql-quote’
The fluid ‘sql-quote-auto-E?’ controls whether or not
‘sql-quote’ should check for ‘\’ (backslash) characters and
prefix an "E" in that case. This is relevant if you use
- New support for "hex format" in ‘bytea’ objectifier
PostgreSQL 9.0 introduces a more efficient "hex format" for
‘bytea’ output. This is now recognized and parsed, falling back
to handling the traditional "escape format" if not recognized.
- Doc improvements
- Fix omission: Document ‘pg-get-copy-data’ arg ‘async?’.
- Indices merged into one
- Builtin type converters listed and indexed
- Builtin type converter array variants listed
- For ‘make check DEBUG=1’, display the guile(1) invocation.
- Tested w/ latest server versions: 8., 9.
Additionally, the entries in file test/OK now include the
associated Guile-PG version, and some include a subheading
"other pg" to list the precise server version numbers.
tarball and its detached signature in dir:
|[Prev in Thread]
||[Next in Thread]|
- Guile-PG 0.41 available,
Thien-Thi Nguyen <=