Takusen-0.8: doc/html/index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock.js" TYPE="text/javascript"
></SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section1"
>Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.</TD
></TR
><TR
><TD CLASS="doc"
><P
>Takusen is a DBMS access library. Like HSQL, we support
arbitrary SQL statements (currently strings, extensible to anything
that can be converted to a string).
</P
><P
>Takusen's unique selling point is safety and efficiency.
We statically ensure all acquired database resources - such
as cursors, connections, and statement handles - are released, exactly
once, at predictable times. Takusen can avoid loading the whole result
set in memory, and so can handle queries returning millions of rows in
constant space. Takusen also supports automatic marshalling and
unmarshalling of results and query parameters. These benefits come
from the design of query result processing around a left-fold
enumerator.
</P
><P
>Currently we fully support ODBC, Oracle, Sqlite, and PostgreSQL.
</P
></TD
></TR
><TR
><TD CLASS="section1"
>Modules</TD
></TR
><TR
><TD
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0"
><TR
><TD STYLE="width: 50em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:0')" ALT="show/hide"
>Control</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:0" STYLE="display:block;"
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:1')" ALT="show/hide"
>Exception</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:1" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Control-Exception-MonadIO.html"
>Control.Exception.MonadIO</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="width: 50em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:2')" ALT="show/hide"
>Database</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:2" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 48em"
><A HREF="Database-Enumerator.html"
>Database.Enumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 48em"
><A HREF="Database-InternalEnumerator.html"
>Database.InternalEnumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:3')" ALT="show/hide"
>ODBC</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:3" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-ODBC-Enumerator.html"
>Database.ODBC.Enumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-ODBC-OdbcFunctions.html"
>Database.ODBC.OdbcFunctions</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:4')" ALT="show/hide"
>Oracle</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:4" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-Oracle-Enumerator.html"
>Database.Oracle.Enumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-Oracle-OCIConstants.html"
>Database.Oracle.OCIConstants</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-Oracle-OCIFunctions.html"
>Database.Oracle.OCIFunctions</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:5')" ALT="show/hide"
>PostgreSQL</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:5" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-PostgreSQL-Enumerator.html"
>Database.PostgreSQL.Enumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-PostgreSQL-PGFunctions.html"
>Database.PostgreSQL.PGFunctions</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:6')" ALT="show/hide"
>Sqlite</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:6" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-Sqlite-Enumerator.html"
>Database.Sqlite.Enumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-Sqlite-SqliteFunctions.html"
>Database.Sqlite.SqliteFunctions</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:7')" ALT="show/hide"
>Stub</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:7" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Database-Stub-Enumerator.html"
>Database.Stub.Enumerator</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="padding-left: 1.25em;width: 48em"
><A HREF="Database-Util.html"
>Database.Util</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD STYLE="width: 50em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:8')" ALT="show/hide"
>Foreign</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:8" STYLE="display:block;"
><TR
><TD STYLE="width: 48em"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:9')" ALT="show/hide"
>C</TD
><TD
></TD
><TD
></TD
></TR
><TR
><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:9" STYLE="display:block;"
><TR
><TD STYLE="padding-left: 1.25em;width: 46em"
><A HREF="Foreign-C-UTF8.html"
>Foreign.C.UTF8</A
></TD
><TD
></TD
><TD
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 0.7</TD
></TR
></TABLE
></BODY
></HTML
>