[Haskell-cafe] ANNOUNCE: Takusen 0.8.6

Jason Dagit dagit at codersbase.com
Sat Jul 31 14:10:55 EDT 2010


The Takusen team would like to announce the latest release of Takusen,
0.8.6.  This is primarily a bug fix and test suite enhancement
release.  The most notable new feature is limited support for string
encodings with ODBC.  The full list of changes is included at the
at the end of this announcement.

= Interested in Takusen development? =

Takusen is looking for a new long term maintainer.  I have agreed to
fill the role of maintainer for now, but we are seeking an
enthusiastic individual with spare time and a desire to lead Takusen

= How to get it =

This release is available on hackage:
  cabal update && cabal install Takusen

The source code is available on code.haskell.org:
  darcs get http://code.haskell.org/takusen

= New features =

- Alistair Bayley:

  * Database/PostgreSQL/PGFunctions.lhs: show instance for UUID prints
    Word64s in hex.

  * Database/PostgreSQL/Enumerator.lhs: add UUID and marshaling

  * Database/PostgreSQL/PGFunctions.lhs: add UUID and marshalling

  * Database/ODBC/OdbcFunctions.hsc: add support for different String
    encodings. New functions to marshal to/from various encodings
    (Latin1, UTF8, UTF16), and bind/get functions changed to use

- Daniel Corson
  * binary data with postgres

= Bug fixes =

- Alistair Bayley:

  * Database/ODBC/OdbcFunctions.hsc: fix bug in
    mkBindBufferForStorable for Nothing (null) case: pass -1
    (sqlNullData) as value size.

  * Database/ODBC/OdbcFunctions.hsc: use sqlNullData in
    bindParamString Nothing case, rather than -1. A bit more

  * Database/ODBC/Enumerator.lhs: store bind buffers in stmt object,
    so we retain reference to them for lifetime of statement. Destroy
    with statement (well, lose the reference). Should fix bind errors
    found by Jason Dagit.

  * Database/ODBC/Enumerator.lhs: Oracle only supports two transaction
    isolation levels (like Postgres). String output bind parameters
    have max size 8000 (we use 7999 because module OdbcFunctions adds
    one to the size).

  * Database/ODBC/OdbcFunctions.hsc: string parameters have different
    SQL data types when binding columns (SQL_CHAR) and parameters
    (SQL_VARCHAR). Oracle only supports two transaction isolation

  * Database/PostgreSQL/PGFunctions.lhs: fix byteaUnesc and add

= Refactoring =

- Jason Dagit:
  * update urls in cabal file

- Alistair Bayley:

  * Takusen.cabal: fixed QuickCheck version spec.

  * Takusen.cabal: bump version to 0.8.6.

  * Database/ODBC/OdbcFunctions.hsc: makeUtcTimeBuffer: pass struct
    size as both buffer size and data size in call to mkBindBuffer.

  * Database/ODBC/OdbcFunctions.hsc: mkBindBufferForStorable calls
    mkBindBuffer (reduces duplicated code).

  * Database/ODBC/Enumerator.lhs: add instance for EnvInquiry to
    change session char encoding.

  * Database/ODBC/Enumerator.lhs: add comments to beginTransaction.

  * Database/Util.lhs: print "printArrayContents", to match function

  * Database/PostgreSQL/Enumerator.lhs: expose byteaEsc and

= New tests and changes to tests =

- Alistair Bayley:

  * Database/ODBC/Test/OdbcFunctions.lhs: added testBindDouble to test
    Nothing (null) case for Storable types.

  * Database/ODBC/Test/OdbcFunctions.lhs: split transaction isolation
    level tests so there is one test per level. String marshaling
    tests use 0x10FF40 as max unicode codepoint, because that keeps
    Oracle happy. Max size for String parameter buffer is 7999 (SQL
    Server restriction). Don't bury errors raised by tests; print, but
    continue. Fix fixture cleanup bug in testBindOutput (dropped wrong

  * Database/ODBC/Test/Enumerator.lhs: suffix xxx to bindOutput test
    expected value.

  * Database/PostgreSQL/Test/PGFunctions.lhs: tests for UUID.

  * Database/PostgreSQL/Test/Enumerator.lhs: round-trip test for UUID.

  * Database/PostgreSQL/Test/PGFunctions.lhs: test select of UUID

  * Database/ODBC/Test/OdbcFunctions.lhs: set client charset to UTF8
    when postgresql.

  * Database/Test/Enumerator.lhs: add order-bys to tests with unions.

  * Database/PostgreSQL/Test/PGFunctions.lhs: add order-by to union

  * Database/ODBC/Test/Enumerator.lhs: set char encoding to
    UTF8. inquire InfoDbmsName already returns lowercase.

  * Takusen.cabal: add random to build-depends for tests.

  * Database/Test/Enumerator.lhs: make test fixtures more friendly to
    MS Access.

  * Database/ODBC/Test/OdbcFunctions.lhs: tests modified for MS Access
    (date tests), plus use new char-encoding aware functions.

  * Database/ODBC/Test/Enumerator.lhs: change boundary dates test to
    not use union. Union seems to make MS Access choke.

  * Database/PostgreSQL/Test/PGFunctions.lhs: add tests for bytea,
    including QuickCheck roundtrip.

  * Database/PostgreSQL/Test/Enumerator.lhs: add bytea bind and select
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100731/2fed75a7/attachment.html

More information about the Haskell-Cafe mailing list