* guile-pg 0.18 available
@ 2004-03-22 12:16 Thien-Thi Nguyen
0 siblings, 0 replies; only message in thread
From: Thien-Thi Nguyen @ 2004-03-22 12:16 UTC (permalink / raw)
Cc: guile-user
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-03-22 12:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-22 12:16 guile-pg 0.18 available Thien-Thi Nguyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).