From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.sources Subject: Guile-PG 0.38 available Date: Mon, 22 Jun 2009 10:20:51 +0200 Message-ID: <874ou8brx8.fsf@ambire.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1245659214 15681 80.91.229.12 (22 Jun 2009 08:26:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Jun 2009 08:26:54 +0000 (UTC) Cc: guile-user@gnu.org To: guile-sources@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Jun 22 10:26:49 2009 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MIerY-000673-3x for guile-user@m.gmane.org; Mon, 22 Jun 2009 10:26:48 +0200 Original-Received: from localhost ([127.0.0.1]:43103 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MIerX-0000uf-Gf for guile-user@m.gmane.org; Mon, 22 Jun 2009 04:26:47 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MIerM-0000pw-Jk for guile-user@gnu.org; Mon, 22 Jun 2009 04:26:36 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MIerL-0000nz-9q for guile-user@gnu.org; Mon, 22 Jun 2009 04:26:35 -0400 Original-Received: from [199.232.76.173] (port=44586 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MIerJ-0000lt-TF; Mon, 22 Jun 2009 04:26:33 -0400 Original-Received: from smtp-out25.alice.it ([85.33.2.25]:4238) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MIerI-000260-QE; Mon, 22 Jun 2009 04:26:33 -0400 Original-Received: from FBCMMO02.fbc.local ([192.168.68.196]) by smtp-out25.alice.it with Microsoft SMTPSVC(6.0.3790.3959); Mon, 22 Jun 2009 10:26:30 +0200 Original-Received: from FBCMCL01B02.fbc.local ([192.168.69.83]) by FBCMMO02.fbc.local with Microsoft SMTPSVC(6.0.3790.1830); Mon, 22 Jun 2009 10:26:30 +0200 Original-Received: from ambire.localdomain ([79.16.71.2]) by FBCMCL01B02.fbc.local with Microsoft SMTPSVC(6.0.3790.3959); Mon, 22 Jun 2009 10:26:29 +0200 Original-Received: from ttn by ambire.localdomain with local (Exim 4.63) (envelope-from ) id 1MIeln-0004G6-8a; Mon, 22 Jun 2009 10:20:51 +0200 X-OriginalArrivalTime: 22 Jun 2009 08:26:29.0892 (UTC) FILETIME=[247DC440:01C9F313] X-detected-operating-system: by monty-python.gnu.org: Windows 2000 SP4, XP SP1+ X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:7335 gmane.lisp.guile.sources:321 Archived-At: release notes: Gearing up for adding PostgreSQL 8.[0123] libpq elements. Looks like PostgreSQL 8.4 is near release, too. thi 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), tested with Guile 1.4.x and PostgreSQL 7.4, 8.0, 8.1, 8.2, 8.3. It may have bugs, and the interfaces may change from version to version. NEWS excerpt: - 0.38 | 2009-06-22 - Support for PostgreSQL 7.3 and earlier dropped Sorry, this was not pre-announced. Note that the subsequent version, i.e. PostgreSQL 7.4, was released 2003-11-17, over five years ago. - Dropped (database postgres) proc: pg-get-connection This was pre-announced in 0.37 (2008-05-24) NEWS. - External rep no longer includes "serial number" - Connection - Result These were pre-announced in 0.37 (2008-05-24) NEWS. - Planned retirement - pg-lo-get-connection - pg-get-client-data - pg-set-client-data! These (database postgres) procs provide or rely on associations that can better be expressed using normal Scheme facilities such as object properties, hash tables, etc, and thus are deemed a redundant maintenance burden; they WILL BE REMOVED by 2009-12-31. - Proc `(database postgres) pg-parameter-status' takes symbol `parm' These are equivalent: (pg-parameter-status CONN #:session_authorization) (pg-parameter-status CONN 'session_authorization) Note, however, that support for keyword `parm' is a misfeature, and WILL BE REMOVED by 2009-12-31. - Proc `(database postgres-qcons) sql-quote' more standards compliant Previously, this did single-quote escaping by inserting a backslash character prior to every single-quote. The result is acceptable by PostgreSQL, but is not standards compliant. Now, it does the escaping by doubling each single-quote, which is standards compliant and less prone to trigger warnings from the more recent PostgreSQL versions (8.2 and later). bef: (sql-quote "a'b") => "'a\\'b'" now: (sql-quote "a'b") => "'a''b'" - Changes to `pgtable-manager' (and thus `pgtable-worker') - Support for DEFAULT You can now use the keyword #:DEFAULT to specify DEFAULT as the value to insert into a table, or to update a column. Indeed, for column values, any keyword now expands to its name (sans `#:'). - #:insert-values no longer filters "serial" Previously, columns with "serial" type were filtered, so that it was possible to #:insert-values specifying only values for the other columns. Now, such usage raises a "column count mismatch" error; you must explicitly use #:DEFAULT. For example, given a table with column types "text", "serial", "text": bef: (W #:insert-values "foo" "bar") => ok now: (W #:insert-values "foo" "bar") => error (W #:insert-values "foo" #:DEFAULT "bar") => ok Although technically speaking the new behavior is incompatible, the previous behavior was never documented (secret misfeature), so the impact on your code is likely to be zero (no worries). - Connection object xrep omits "port" if "host" is a socket dir When the connection is Unix-domain (i.e., the "host" is a string that begins with slash that names a directory), the concept of "port" makes no sense. - Manual table-of-contents moved forward It used to be (strangely but perhaps following some outdated convention) at the end of the document. - New (database postgres) procs - pg-mblen While we wait for Guile to go multibyte (and stay there), this is a small building-block that eases "mostly ignorant" string processing. - pg-server-version This returns an integer representation of the server version of a connection, or `#f' if the connection is closed. - New (database postgres-resx) proc: object<-result This is useful for `SELECT EXPR;' where the result tuple consists of one row and one column. - Maintenance uses autoconf 2.63, automake 1.11, libtool 2.2.6 tarball, prettified source, etc, in dir: http://www.gnuvola.org/software/guile-pg/ atom feed: http://www.gnuvola.org/NEWS.atom