packages feed

Takusen-0.7: Takusen.cabal

Name:           Takusen
Version:        0.7
License:        BSD3
License-file:   LICENSE
Author:         Alistair Bayley, Oleg Kiselyov
Copyright:      2003-2007, Alistair Bayley, Oleg Kiselyov
Maintainer:     alistair@abayley.org, oleg@pobox.com
Stability:      experimental
Homepage:       http://darcs.haskell.org/takusen
Package-url:    http://darcs.haskell.org/takusen
Category:       Database
Build-Depends:  base, mtl, time, old-time
Build-type:     Simple
Synopsis:       Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
Description:   
    Takusen is a DBMS access library. It has a backend for Oracle on Unix,
    Linux or Windows via OCI, and a stub to test the library without any database.
    The infrastructure and the stub let one interface natively with other
    databases.

    The distinguished feature of Takusen is processing query results using a
    left-fold enumerator.  The user supplies an iteratee function, which receives
    rows one-at-a-time from the result-set.  The number of the arguments to the
    iteratee is the number of the columns in the result-set, plus the seed. Each
    column in the result-set has its own Haskell type. The latter could be a Maybe
    type if the particular iteratee wishes to process NULLs.

    The benefits are: more convenient and intuitive enumeration, iteration, and
    accumulation (see tests for examples); the retrieved data are not merely
    strings but have Haskell types: Int, Float, Date, etc.; buffer preallocation;
    pre-fetching; support for both enumerators and cursors, proper handling of all
    errors including various IO errors. No unsafe operations are used.
Exposed-modules:
    Database.Enumerator
    , Database.Util
    , Database.ODBC.Enumerator
    , Database.ODBC.OdbcFunctions
    , Database.Oracle.Enumerator
    , Database.Oracle.OCIConstants
    , Database.Oracle.OCIFunctions
    , Database.PostgreSQL.Enumerator
    , Database.PostgreSQL.PGFunctions
    , Database.Sqlite.Enumerator
    , Database.Sqlite.SqliteFunctions
    , Database.Stub.Enumerator
    , Control.Exception.MonadIO
    , Foreign.C.UTF8
Other-modules:
    Database.InternalEnumerator
    -- We don't expose the Test modules; the only reason to do so would be so Haddock
    -- can use them (to stop the warnings "could not find link destination for:"),
    -- and for that they'd have to be in Exposed-modules.
    -- Modules in Other-modules are passed to Haddock with --hide=<module-name>.
Ghc-Prof-Options: -prof -auto-all
        --Ghc-Options: -O2
        --Ghc-Options: -optl-Wl--enable-stdcall-fixup
Extensions: CPP
Extra-tmp-files: 
    Database/Oracle/OCIFunctions_stub.c
    Database/Oracle/OCIFunctions_stub.h
    Database/PostgreSQL/PGFunctions_stub.c
    Database/PostgreSQL/PGFunctions_stub.h