guile-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Guile-PG 0.38 available


From: Thien-Thi Nguyen
Subject: Guile-PG 0.38 available
Date: Mon, 22 Jun 2009 10:20:51 +0200

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]