- 0.35 | 2008-02-13
- Bugfix: composition INTERSECT in `parse+make-SELECT-tree'
This proc, in module (database postgres-qcons), used to
erroneously accept #:intersection and emit "INTERSECTION".
Now, it accepts #:intersect and emits "INTERSECT".
- New (database postgres) procs
- pg-escape-string-conn
- pg-escape-bytea-conn
- pg-unescape-bytea
- Tested against PostgreSQL 7.4.19
Highlights from NEWS:
- 0.34 | 2007-12-13
- License now GPLv3+ (see COPYING)
- New (database postgres) procs
- pg-finish
- pg-flush
- Tested against PostgreSQL 7.4.18
- 0.33 | 2007-05-20
- New type converters in module (database postgres-types)
int decimal numeric varchar character bytea
- New support for special constructs in (database postgres-qcons)
(in/set A B...) => A IN ( B, ... )
(between A B C) => ( A BETWEEN B AND C )
(any--OP A B) => ( A OP ANY B )
(all--OP A B) => ( A OP ALL B )
For the latter two, OP is a comparison operator, e.g `='.
Parentheses and commas are added automatically.
- 0.32 | 2007-04-11
- New command for `pgtable-manager': #:tuples-result->rows
This uses `(database postgres-resx) result->object-rows'.
For example:
(define T (pgtable-worker ...))
(define R (T #:select ...))
(equal? (T #:tuples-result->rows R)
(map (lambda (x)
(map cdr x))
(T #:tuples-result->alists R)))
=> #t
- 0.31 | 2007-04-03
- Opaque string support removed
Opaque string support in modules (database postgres-table) and
(database postgres-qcons) has been removed. This was announced
in NEWS below for Guile-PG 0.30 (2006-04-04).
- Support for `pgtable-manager' "data commands" removed
Announced in NEWS below for Guile-PG 0.30 (2006-04-04).
- 0.30 | 2006-04-04
- New stuff for `pgtable-manager' (and by extension `pgtable-worker')
- Support for NULL
You can now use the keyword #:NULL to specify NULL as the value
to insert into a table, or to update a column.
- New command: #:update-col-alist
This is like #:update-col, except that the COLS and DATA are
specified as a single alist arg, not separately.
- New (database postgres) procs
The following procs are associated with the `PQPROTOCOLVERSION'
feature in the `pg-guile-pg-loaded' return value. Note that
this is in contrast to the one-to-one correspondance between
feature and libpq function for previous Guile-PG releases.
- pg-protocol-version
- pg-transaction-status
- pg-parameter-status
- pg-set-error-verbosity
- pg-result-error-field
- pg-ftable
- pg-ftablecol
- pg-fformat
These adhere closely to the C functions in the libpq interface.
Here is a table listing the functions and their behavior for
installations prior to PostgreSQL 7.4.
libpq func behavior: do nothing and return
PQprotocolVersion 2
PQtransactionStatus #:unknown
PQparameterStatus #f
PQsetErrorVerbosity #:default
PQresultErrorField #f
PQftable #f
PQftablecol #f
PQfformat #f
- pg-put-copy-data
- pg-put-copy-end
- pg-get-copy-data
These have a simplified, "more Schemey", interface. They cannot
be used when connected to a "Protocol 2.0" (PostgreSQL 7.3.x and
prior) server.
- pg-exec-params
- pg-exec-prepared
- pg-send-query-params
- pg-send-query-prepared
These have a simplified, "more Schemey", interface, and some
serious (though provisionary) restrictions. They cannot be used
when connected to a "Protocol 2.0" (PostgreSQL 7.3.x and prior)
server. See new section "Parameters" in the manual for details.
- 0.29 | 2005-08-25
- Dropped proc: where-clausifier
- Dropped proc: tuples-result->table
- For `gxrepl', results are now printed with " | " field separator
- All (database postgres) procs now tested
- Support files guile.m4 and modsup.h synched with Guile 1.4.1.106
- 0.28 | 2005-05-09
- Bugfix: array reference handling in (database postgres-qcons)
- FSF street address updated in copyright notices
- 0.27 | 2005-03-02
- Result objects print without redundant "PGRES_" prefix
- New command for (database postgres-table) proc `pgtable-manager'
- New (database postgres-resx) proc: result->object-rows
- Changes to module (database postgres-qcons)
- 0.26 | 2005-02-24
- Expiration date set for opaque string support
- Expiration date set for two (database postegres-table) procs
- Dropped (database postgres-types) proc: dbcoltype:name
- New type converters in module (database postgres-types)
- New module: (database postgres-qcons)
- New module: (database postgres-resdisp)
- New module: (database postgres-gxrepl)
- 0.25 | 2005-01-02
- New (database postgres) proc: pg-result-error-message
- 0.24 | 2004-11-24
- New (database postgres) proc: pg-set-nonblocking!
- New (database postgres) proc: pg-is-nonblocking?
Uses guile-1.6 and postgresql-7.4.
Four years of development since the previous version: many changes.
XXX: This package includes a hack since pgsql.bl3.mk does
not provide a way to get the matching -clients package.
Unfortunately, guile{,14}/buildlink3.mk directly includes it, and I don't
know which dependencies actually need libltdl, so it was a recursive bump.
Hopefully this recursive inclusion can be ripped out of
guile{,14}/buildlink3.mk at some point and bubble down to dependencies that
actually use libltdl, avoiding this headache in the future....
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Guile-pg is a Guile module providing access and allowing updates to
PostgreSQL databases from Guile scripts. Guile is the GNU interpreter
for the Scheme language and PostgreSQL is a free relational database
management system.