[Haddock docs update for 0.8 release. alistair@abayley.org**20080304162829] { hunk ./doc/html/Control-Exception-MonadIO.html 22 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
:: m a -> ( :: m a -> ( :: ( :: ( -> -> ( ( m => m b -> m ( m => m b -> m ( m => ( m => ( -> -> b) -> m b1 -> m ( b) -> m b1 -> m ( version 0.8 version 0.7Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. :: ( :: ( mark sess a) -> mark sess a) -> :: ( :: ( mark sess a) -> mark sess a) -> :: ( :: ( s ( s ( s s mark s mark s inquire :: EnvInquiry key s result => key -> DBM mark s result formatDBException :: DBException -> String -> m () -> m aformatDBException :: DBException -> reportRethrowMsg :: CaughtMonadIO m => -> DBException -> m a m => m => m => m => :: ( :: ( :: ( :: ( seedType = seedType = q sess b => q -> q sess b => q -> mark s mark s :: ( :: ( :: :: :: :: :: :: You may have noticed that For You may have noticed that for If we assume the existence of the following PostgreSQL function - (this function is used in the test suite in If we assume the existence of the following PostgreSQL function, + which is used in the test suite in ): +>: hunk ./doc/html/Database-Enumerator.html 1885 -> sess, ??? a sess) => sess, ??? a sess) => Functor (DBM mark sess a)(ISession sess, ??? a sess) => sess, ??? a sess) => sess, ??? a sess) => MonadFix (DBM mark sess a)(ISession sess, ??? a sess) => :: ( :: ( mark sess a) -> mark sess a) -> :: ( :: ( mark sess a) -> mark sess a) -> :: ( :: ( s ( s ( s s mark s mark s inquire :: EnvInquiry key s result => key -> DBM mark s resultAllows arbitrary actions to be run the DBM monad. + the back-end developer must supply instances of EnvInquiry, + which is hidden away in Database.InternalEnumerator. + An example of this is LastInsertRowid. + formatDBException :: DBException -> StringA show for DBExceptions. + -> m () -> m aformatDBException :: DBException -> reportRethrowMsg :: CaughtMonadIO m => -> DBException -> m aSame as reportRethrow, but you can prefix some text to the error + (perhaps to indicate which part of your program raised it). + m => m => m => m => :: (:: (:: (:: ([bindP string, bindP (0::Int), ...][bindP "string", bindP (0::Int), ...] seedType = seedType = q sess b => q -> q sess b => q -> mark s mark s :: (:: (:: :: :: :: :: :: version 0.8 version 0.7 - -Database.InternalEnumerator
 ContentsIndex
Database.InternalEnumerator
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Contents
Session object. -
Exceptions and handlers -
Description

This is the interface between the middle Enumerator layer and the - low-level, Database-specific layer. This file is not exported to the end user. -

Only the programmer for a new back-end needs to consult this file. -

Synopsis
class ISession sess where
disconnect :: sess -> IO ()
beginTransaction :: sess -> IsolationLevel -> IO ()
commit :: sess -> IO ()
rollback :: sess -> IO ()
newtype ConnectA sess = ConnectA (IO sess)
class ISession sess => Statement stmt sess q | stmt sess -> q where
makeQuery :: sess -> stmt -> IO q
class ISession sess => Command stmt sess where
executeCommand :: sess -> stmt -> IO Int
newtype PreparationA sess stmt = PreparationA (sess -> IO stmt)
class ISession sess => IPrepared stmt sess bound_stmt bo | stmt -> bound_stmt, stmt -> bo where
bindRun :: sess -> stmt -> [BindA sess stmt bo] -> (bound_stmt -> IO a) -> IO a
destroyStmt :: sess -> stmt -> IO ()
newtype BindA sess stmt bo = BindA (sess -> stmt -> bo)
class ISession sess => DBBind a sess stmt bo | stmt -> bo where
bindP :: a -> BindA sess stmt bo
data IsolationLevel
= ReadUncommitted
| ReadCommitted
| RepeatableRead
| Serialisable
| Serializable
type Position = Int
class ISession sess => IQuery q sess b | q -> sess, q -> b where
fetchOneRow :: q -> IO Bool
currentRowNum :: q -> IO Int
freeBuffer :: q -> b -> IO ()
destroyQuery :: q -> IO ()
class DBType a q b | q -> b where
allocBufferFor :: a -> q -> Position -> IO b
fetchCol :: q -> b -> IO a
throwIfDBNull :: Monad m => m (RowNum, ColNum) -> m (Maybe a) -> m a
data DBException
= DBError SqlState Int String
| DBFatal SqlState Int String
| DBUnexpectedNull RowNum ColNum
| DBNoData
throwDB :: DBException -> a
type ColNum = Int
type RowNum = Int
type SqlState = (SqlStateClass, SqlStateSubClass)
type SqlStateClass = String
type SqlStateSubClass = String
Session object. -
class ISession sess where

The ISession class describes a database session to a particular - DBMS. Oracle has its own Session object, SQLite has its own - session object (which maintains the connection handle to the database - engine and other related stuff). Session objects for different databases - normally have different types -- yet they all belong to the class ISession - so we can do generic operations like commit, execDDL, etc. - in a database-independent manner. -

Session objects per se are created by database connection/login functions. -

The class ISession is thus an interface between low-level (and - database-specific) code and the Enumerator, database-independent - code. - The ISession class is NOT visible to the end user -- neither the class, - nor any of its methods. -

Methods
disconnect :: sess -> IO ()
beginTransaction :: sess -> IsolationLevel -> IO ()
commit :: sess -> IO ()
rollback :: sess -> IO ()
show/hide Instances
newtype ConnectA sess
A wrapper around the action to open the database. That wrapper is not - exported to the end user. The only reason for the wrapper is to - guarantee that the only thing to do with the result of - connect function is to pass it out - directly to withSession. -
Constructors
ConnectA (IO sess)
class ISession sess => Statement stmt sess q | stmt sess -> q where
Statement defines the API for query objects i.e. - which types can be queries. -
Methods
makeQuery :: sess -> stmt -> IO q
show/hide Instances
Statement BoundStmt Session Query
Statement BoundStmt Session Query
Statement BoundStmt Session Query
Statement PreparedStmtObj Session Query
Statement PreparedStmtObj Session Query
Statement QueryString Session Query
Statement QueryString Session Query
Statement QueryString Session Query
Statement QueryString Session Query
Statement QueryStringTuned Session Query
Statement QueryStringTuned Session Query
Statement QueryStringTuned Session Query
Statement StmtBind Session Query
Statement String Session Query
Statement String Session Query
Statement String Session Query
Statement (RefCursor StmtHandle) Session Query
Statement (RefCursor String) Session Query
Statement (NextResultSet mark PreparedStmtObj) Session Query
Statement (NextResultSet mark PreparedStmtObj) Session Query
class ISession sess => Command stmt sess where
Command is not a query: command deletes or updates rows, creates/drops - tables, or changes database state. - executeCommand returns the number of affected rows (or 0 if DDL i.e. not DML). -
Methods
executeCommand :: sess -> stmt -> IO Int
show/hide Instances
Command BoundStmt Session
Command BoundStmt Session
Command BoundStmt Session
Command CommandBind Session
Command CommandBind Session
Command QueryString Session
Command QueryString Session
Command QueryString Session
Command QueryString Session
Command QueryStringTuned Session
Command StmtBind Session
Command String Session
Command String Session
Command String Session
newtype PreparationA sess stmt

This type is not visible to the end user (cf. ConnectA). It forms a private - `communication channel' between Database.Enumerator and a back end. -

Why don't we make a user-visible class with a prepare method? - Because it means to standardize the preparation method signature - across all databases. Some databases need more parameters, some - fewer. There may be several statement preparation functions within one - database. So, instead of standardizing the signature of the - preparation function, we standardize on the _result_ of that - function. To be more precise, we standardize on the properties of the - result: whatever it is, the eventual prepared statement should be - suitable to be passed to bindRun. -

Constructors
PreparationA (sess -> IO stmt)
class ISession sess => IPrepared stmt sess bound_stmt bo | stmt -> bound_stmt, stmt -> bo where
Methods
bindRun :: sess -> stmt -> [BindA sess stmt bo] -> (bound_stmt -> IO a) -> IO a
destroyStmt :: sess -> stmt -> IO ()
show/hide Instances
IPrepared PreparedStmtObj Session BoundStmt BindObj
IPrepared PreparedStmtObj Session BoundStmt BindObj
IPrepared PreparedStmtObj Session BoundStmt BindObj
newtype BindA sess stmt bo
The binding object (bo) below is very abstract, on purpose. - It may be |IO a|, it may be String, it may be a function, etc. - The binding object can hold the result of marshalling, - or bo can hold the current counter, etc. - Different databases do things very differently: - compare PostgreSQL and the Stub (which models Oracle). -
Constructors
BindA (sess -> stmt -> bo)
class ISession sess => DBBind a sess stmt bo | stmt -> bo where
The class DBBind is not used by the end-user. - It is used to tie up low-level database access and the enumerator. - A database-specific library must provide a set of instances for DBBind. - The latter are the dual of DBType. -
Methods
bindP :: a -> BindA sess stmt bo
This is really just a wrapper that lets us write lists of - heterogenous bind values e.g. [bindP string, bindP (0::Int), ...] -
show/hide Instances
DBBind (Maybe a) Session PreparedStmtObj BindObj => DBBind a Session PreparedStmtObj BindObj
DBBind (Maybe a) Session PreparedStmtObj BindObj => DBBind a Session PreparedStmtObj BindObj
DBBind (Maybe a) Session PreparedStmtObj BindObj => DBBind a Session PreparedStmtObj BindObj
DBBind (Maybe CalendarTime) Session PreparedStmtObj BindObj
DBBind (Maybe CalendarTime) Session PreparedStmtObj BindObj
DBBind (Maybe Double) Session PreparedStmtObj BindObj
DBBind (Maybe Double) Session PreparedStmtObj BindObj
DBBind (Maybe Double) Session PreparedStmtObj BindObj
DBBind (Maybe Float) Session PreparedStmtObj BindObj
DBBind (Maybe Int) Session PreparedStmtObj BindObj
DBBind (Maybe Int) Session PreparedStmtObj BindObj
DBBind (Maybe Int) Session PreparedStmtObj BindObj
DBBind (Maybe Int64) Session PreparedStmtObj BindObj
DBBind (Maybe Int64) Session PreparedStmtObj BindObj
DBBind (Maybe String) Session PreparedStmtObj BindObj
DBBind (Maybe String) Session PreparedStmtObj BindObj
DBBind (Maybe String) Session PreparedStmtObj BindObj
DBBind (Maybe UTCTime) Session PreparedStmtObj BindObj
DBBind (Maybe UTCTime) Session PreparedStmtObj BindObj
DBBind (Maybe UTCTime) Session PreparedStmtObj BindObj
Show a => DBBind (Maybe a) Session PreparedStmtObj BindObj
Show a => DBBind (Maybe a) Session PreparedStmtObj BindObj
Show a => DBBind (Maybe a) Session PreparedStmtObj BindObj
DBBind (Out (Maybe Double)) Session PreparedStmtObj BindObj
DBBind (Out (Maybe Int)) Session PreparedStmtObj BindObj
DBBind (Out (Maybe StmtHandle)) Session PreparedStmtObj BindObj
DBBind (Out (Maybe String)) Session PreparedStmtObj BindObj
DBBind (Out (Maybe UTCTime)) Session PreparedStmtObj BindObj
Show a => DBBind (Out (Maybe a)) Session PreparedStmtObj BindObj
DBBind (Out (Maybe a)) Session PreparedStmtObj BindObj => DBBind (Out a) Session PreparedStmtObj BindObj
data IsolationLevel
Constructors
ReadUncommitted
ReadCommitted
RepeatableRead
Serialisable
Serializablefor alternative spellers -
show/hide Instances
type Position = Int
class ISession sess => IQuery q sess b | q -> sess, q -> b where

The class IQuery describes the class of query objects. Each - database (that is, each Session object) has its own Query object. - We may assume that a Query object includes (at least, conceptually) - a (pointer to) a Session object, so a Query object determines the - Session object. - A back-end provides an instance (or instances) of IQuery. - The end user never seens the IQuery class (let alone its methods). -

Can a session have several types of query objects? - Let's assume that it can: but a statement plus the session uniquely - determine the query, -

Note that we explicitly use IO monad because we will have to explicitly - do FFI. -

Methods
fetchOneRow :: q -> IO Bool
currentRowNum :: q -> IO Int
freeBuffer :: q -> b -> IO ()
destroyQuery :: q -> IO ()
show/hide Instances
IQuery Query Session ColumnBuffer
IQuery Query Session ColumnBuffer
IQuery Query Session ColumnBuffer
IQuery Query Session ColumnBuffer
class DBType a q b | q -> b where

A 'buffer' means a column buffer: a data structure that points to a - block of memory allocated for the values of one particular - column. Since a query normally fetches a row of several columns, we - typically deal with a list of column buffers. Although the column data - are typed (e.g., Integer, CalendarDate, etc), column buffers hide that - type. Think of the column buffer as Dynamics. The class DBType below - describes marshalling functions, to fetch a typed value out of the - 'untyped' columnBuffer. -

Different DBMS's (that is, different session objects) have, in - general, columnBuffers of different types: the type of Column Buffer - is specific to a database. - So, ISession (m) uniquely determines the buffer type (b)?? - Or, actually, a query uniquely determines the buffer. -

The class DBType is not used by the end-user. - It is used to tie up low-level database access and the enumerator. - A database-specific library must provide a set of instances for DBType. -

Methods
allocBufferFor :: a -> q -> Position -> IO b
fetchCol :: q -> b -> IO a
show/hide Instances
DBType (Maybe a) Query ColumnBuffer => DBType a Query ColumnBuffer
DBType (Maybe a) Query ColumnBuffer => DBType a Query ColumnBuffer
DBType (Maybe a) Query ColumnBuffer => DBType a Query ColumnBuffer
DBType (Maybe a) Query ColumnBuffer => DBType a Query ColumnBuffer
DBType (Maybe CalendarTime) Query ColumnBuffer
DBType (Maybe CalendarTime) Query ColumnBuffer
DBType (Maybe CalendarTime) Query ColumnBuffer
DBType (Maybe CalendarTime) Query ColumnBuffer
DBType (Maybe Double) Query ColumnBuffer
DBType (Maybe Double) Query ColumnBuffer
DBType (Maybe Double) Query ColumnBuffer
DBType (Maybe Double) Query ColumnBuffer
DBType (Maybe Float) Query ColumnBuffer
DBType (Maybe Int) Query ColumnBuffer
DBType (Maybe Int) Query ColumnBuffer
DBType (Maybe Int) Query ColumnBuffer
DBType (Maybe Int) Query ColumnBuffer
DBType (Maybe Int64) Query ColumnBuffer
DBType (Maybe Int64) Query ColumnBuffer
DBType (Maybe String) Query ColumnBuffer
DBType (Maybe String) Query ColumnBuffer
DBType (Maybe String) Query ColumnBuffer
DBType (Maybe String) Query ColumnBuffer
DBType (Maybe UTCTime) Query ColumnBuffer
DBType (Maybe UTCTime) Query ColumnBuffer
DBType (Maybe UTCTime) Query ColumnBuffer
(Show a, Read a) => DBType (Maybe a) Query ColumnBuffer
(Show a, Read a) => DBType (Maybe a) Query ColumnBuffer
(Show a, Read a) => DBType (Maybe a) Query ColumnBuffer
(Show a, Read a) => DBType (Maybe a) Query ColumnBuffer
DBType (RefCursor StmtHandle) Query ColumnBuffer
DBType (RefCursor String) Query ColumnBuffer
throwIfDBNull :: Monad m => m (RowNum, ColNum) -> m (Maybe a) -> m a
Used by instances of DBType to throw an exception - when a null (Nothing) is returned. - Will work for any type, as you pass the fetch action in the fetcher arg. -
Exceptions and handlers -
data DBException
Constructors
DBError SqlState Int StringDBMS error message. -
DBFatal SqlState Int String
DBUnexpectedNull RowNum ColNumthe iteratee function used for queries accepts both nullable (Maybe) and - non-nullable types. If the query itself returns a null in a column where a - non-nullable type was specified, we can't handle it, so DBUnexpectedNull is thrown. -
DBNoDataThrown by cursor functions if you try to fetch after the end. -
show/hide Instances
throwDB :: DBException -> a
Throw a DBException. It's just a type-specific throwDyn. -
type ColNum = Int
type RowNum = Int
type SqlState = (SqlStateClass, SqlStateSubClass)
type SqlStateClass = String
type SqlStateSubClass = String
Produced by Haddock version 0.8
rmfile ./doc/html/Database-InternalEnumerator.html hunk ./doc/html/Database-Oracle-Enumerator.html 22 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
::
:: -> -> -> -> :: :: :: :: :: :: :: :: :: :: :: :: -> -> :: :: = = Typeable Session ( ( ( ( ( ( ( ( ( ( ( ( UTCTime) UTCTime) ( ( ( ( ( ( ( ( ( ( ( ( UTCTime)) UTCTime)) ( ( ( ( :: :: -> -> -> -> :: :: :: :: :: :: :: :: :: :: :: :: -> -> :: :: = = ( ( ( ( ( ( ( ( ( ( UTCTime)) UTCTime)) ( ( ( ( version 0.8 version 0.7Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: version 0.8 version 0.7Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.Contents
Foreign OCI functions -
OCI error reporting -
Allocating Handles (i.e. creating OCI data structures, and memory management) -
Connecting and detaching -
Transactions -
Issuing queries -
= = = = = = = = = ( = ( , , , , = = = = = = = = = = = = = = = = = = = = = = , , , , :: :: -> -> a) -> a) -> :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> -> -> a -> a -> a -> a -> a -> a -> a -> a -> -> -> ( ( a) -> a) -> -> -> -> -> -> -> -> -> a -> a -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> Ptr -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ( ( ) -> ) -> -> -> ( ( -> -> ( ( -> -> -> -> -> -> -> -> -> -> ( (, , -> -> -> -> ( (, , :: :: -> -> :: :: -> -> -> -> :: :: -> -> -> -> -> -> ( (, , -> -> -> -> ( (, , -> -> ( (, , -> -> ( (, , :: :: -> -> -> a -> -> a -> :: :: a => a => -> -> -> -> a -> a -> :: :: :: :: -> -> :: :: -> -> -> -> -> -> a -> a -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> a -> a -> a -> a -> ( ( :: :: :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> -> -> -> -> ( ( :: :: -> -> -> -> :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> ( ( :: :: -> -> ( ( UTCTime) UTCTime) -> -> -> -> -> -> -> -> -> -> -> UTCTime -> -> UTCTime -> :: :: -> -> :: :: a => a => -> -> ( ( :: :: -> -> ( ( :: :: -> -> ( ( :: :: -> -> ( ( :: :: -> -> ( ( -> -> = = = = = = = = = ( = ( , , , , = = = = = = = = = = = = = = = = = = = = = = , , , , :: :: -> -> a) -> a) -> :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> Foreign OCI functions - :: :: -> -> -> -> a -> a -> a -> a -> a -> a -> a -> a -> -> -> ( ( a) -> a) -> -> -> -> -> -> -> -> -> a -> a -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> Ptr -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ( ( ) -> ) -> -> -> ( ( -> -> ( (OCI error reporting - -> -> -> -> -> -> -> -> -> -> ( (, , -> -> -> -> ( (, , :: :: -> -> :: :: -> -> -> -> :: :: -> -> -> -> -> -> ( (, , -> -> -> -> ( (, , -> -> ( (, , -> -> ( (, , :: :: -> -> -> a -> -> a -> :: :: a => a => -> -> -> -> a -> a -> Allocating Handles (i.e. creating OCI data structures, and memory management) - :: :: :: :: -> -> :: :: -> -> -> -> -> -> a -> a -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> Connecting and detaching - :: :: -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> Transactions - -> -> -> -> -> -> -> -> Issuing queries - -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> a -> a -> a -> a -> ( ( :: :: :: :: -> -> :: :: -> -> :: :: -> -> :: :: -> -> -> -> -> -> ( ( :: :: -> -> -> ->

+1999 -> 119, 199 + +0100 -> 101, 100 + +0001 -> 100, 101 + -0001 -> 100, 99 + -0100 -> 99, 100 + -1999 -> 81, 1 +

::
:: -> -> :: :: -> -> :: :: -> -> :: :: -> -> ( ( :: :: -> -> ( ( UTCTime) UTCTime) -> -> -> -> -> -> -> -> -> -> -> UTCTime -> -> UTCTime -> :: :: -> -> :: :: a => a => -> -> ( ( :: :: -> -> ( ( :: :: -> -> ( ( :: :: -> -> ( ( :: :: -> -> ( ( -> -> version 0.8 version 0.7 - -Database.Oracle.Test.Enumerator
 ContentsIndex
Database.Oracle.Test.Enumerator
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Documentation
runTest :: ShouldRunTests -> [String] -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Oracle-Test-Enumerator.html hunk ./doc/html/Database-Oracle-Test-OCIFunctions.html 1 - - -Database.Oracle.Test.OCIFunctions
 ContentsIndex
Database.Oracle.Test.OCIFunctions
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Test harness for Database.Oracle.OCIFunctions. - This module depends on on Database.Oracle.OCIFunctions. - so it should only use functions from there (and Database.Oracle.OCIConstants). -
Documentation
runTest :: [String] -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Oracle-Test-OCIFunctions.html hunk ./doc/html/Database-PostgreSQL-Enumerator.html 22 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
:: :: :: :: -> -> :: :: :: :: -> -> :: :: :: :: :: :: :: :: -> -> :: :: Typeable Session ( ( ( ( ( ( ( ( ( ( ( ( ( ( UTCTime) UTCTime) ( ( :: :: :: :: -> -> :: :: :: :: -> -> :: :: :: :: :: :: :: :: -> -> :: :: version 0.8 version 0.7Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
=
= = = = = = = = = :: :: -> -> a) -> a) -> :: :: a => a -> a => a -> :: :: -> -> :: :: -> -> :: :: -> -> -> -> -> -> -> -> = = -> -> -> -> -> -> -> -> = = -> -> = = () -> () -> -> -> -> -> ( ( -> -> ( ( -> -> -> -> () -> () -> ( ( -> -> -> -> () -> () -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> = = -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> = = -> -> type LOAccessType = CInttype WhenceType = CIntflo_creat :: DBHandle -> LOAccessType -> IO Oidflo_import :: DBHandle -> CString -> IO Oidflo_export :: DBHandle -> Oid -> CString -> IO CIntflo_open :: DBHandle -> Oid -> LOAccessType -> IO CIntflo_write :: DBHandle -> CInt -> Ptr Word8 -> CUInt -> IO CIntflo_read :: DBHandle -> CInt -> Ptr Word8 -> CUInt -> IO CIntflo_lseek :: DBHandle -> CInt -> CInt -> WhenceType -> IO CIntflo_tell :: DBHandle -> CInt -> IO CIntflo_close :: DBHandle -> CInt -> IO CIntflo_unlink :: DBHandle -> Oid -> IO CInt -> -> :: :: -> -> -> -> :: a -> :: a -> ( ( :: :: -> -> :: a -> :: a -> :: :: :: ( :: ( ( ( :: :: -> -> :: :: -> -> :: :: -> -> -> -> -> -> -> -> ] -> ] -> -> -> -> -> ( (, , -> -> ] -> ] -> ( (, , -> -> ] -> ] -> ( (, , -> -> ] -> ] -> , , -> -> -> -> , , -> -> -> -> , , -> -> -> -> , , -> -> ] -> ] -> , , -> -> ] -> ] -> -> -> , , -> -> -> -> ] -> ] -> , , -> -> -> -> -> -> -> -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> UTCTime UTCTime -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> = = = = = = = = = = :: :: -> -> a) -> a) -> :: :: a => a -> a => a -> :: :: -> -> :: :: -> -> :: :: -> -> -> -> -> -> -> -> = = -> -> -> -> -> -> -> -> = = -> -> = = () -> () -> -> -> -> -> ( ( -> -> ( ( -> -> -> -> () -> () -> ( ( -> -> -> -> () -> () -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> = = -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> = = -> -> type LOAccessType = CInttype WhenceType = CIntflo_creat :: DBHandle -> LOAccessType -> IO Oidflo_import :: DBHandle -> CString -> IO Oidflo_export :: DBHandle -> Oid -> CString -> IO CIntflo_open :: DBHandle -> Oid -> LOAccessType -> IO CIntflo_write :: DBHandle -> CInt -> Ptr Word8 -> CUInt -> IO CIntflo_read :: DBHandle -> CInt -> Ptr Word8 -> CUInt -> IO CIntflo_lseek :: DBHandle -> CInt -> CInt -> WhenceType -> IO CIntflo_tell :: DBHandle -> CInt -> IO CIntflo_close :: DBHandle -> CInt -> IO CIntflo_unlink :: DBHandle -> Oid -> IO CInt -> -> :: :: -> -> -> -> :: a -> :: a -> ( ( :: :: -> -> :: a -> :: a -> UTCTime UTCTime ( ( :: :: :: ( :: ( ( ( :: :: -> -> :: :: -> -> :: :: -> -> -> -> -> -> -> -> ] -> ] -> -> -> -> -> ( (, , -> -> ] -> ] -> ( (, , -> -> ] -> ] -> ( (, , -> -> ] -> ] -> , , -> -> -> -> , , -> -> -> -> , , -> -> -> -> , , -> -> ] -> ] -> , , -> -> ] -> ] -> -> -> , , -> -> -> -> ] -> ] -> , , -> -> -> -> -> -> -> -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> UTCTime UTCTime -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> version 0.8 version 0.7 - -Database.PostgreSQL.Test.Enumerator
 ContentsIndex
Database.PostgreSQL.Test.Enumerator
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Documentation
runTest :: ShouldRunTests -> [String] -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-PostgreSQL-Test-Enumerator.html hunk ./doc/html/Database-PostgreSQL-Test-PGFunctions.html 1 - - -Database.PostgreSQL.Test.PGFunctions
 ContentsIndex
Database.PostgreSQL.Test.PGFunctions
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Documentation
runTest :: String -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-PostgreSQL-Test-PGFunctions.html hunk ./doc/html/Database-Sqlite-Enumerator.html 22 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
Typeable Session EnvInquiry LastInsertRowid Session Int64 ( ( ( ( ( ( ( ( ( ( ( ( ( ( UTCTime) UTCTime) ( ( :: :: :: :: :: :: :: :: :: :: :: :: -> -> :: :: data LastInsertRowid
Constructors
LastInsertRowid
show/hide Instances
version 0.8 version 0.7Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
= = = = = = a = a = ( ( a -> a -> -> -> -> -> -> -> = = ( ( -> -> :: :: -> -> a) -> a) -> :: :: :: :: :: :: :: :: :: :: -> -> :: :: -> -> = = = = -> -> -> -> -> -> -> -> -> -> -> -> -> -> a -> a -> a -> a -> -> -> IO CIntsqliteColumnCount :: StmtHandle -> -> -> -> -> -> -> -> -> sqliteLastInsertRowid :: DBHandle -> IO CLLong :: :: a -> a -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> a -> a -> -> -> -> a -> -> a -> :: :: -> -> -> -> a -> a -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> IO ()checkColumnRange :: StmtHandle -> Int -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ( ( -> -> -> -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> = = = = = = a = a = ( ( a -> a -> -> -> -> -> -> -> = = ( ( -> -> :: :: -> -> a) -> a) -> :: :: :: :: :: :: :: :: :: :: -> -> :: :: -> -> = = = = -> -> -> -> -> -> -> -> -> -> -> -> -> -> a -> a -> a -> a -> -> -> IO CIntsqliteColumnCount :: StmtHandle -> -> -> -> -> -> -> -> -> sqliteLastInsertRowid :: DBHandle -> IO CLLong :: :: a -> a -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> :: :: -> -> -> -> -> -> a -> a -> -> -> -> a -> -> a -> :: :: -> -> -> -> a -> a -> :: :: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> IO ()checkColumnRange :: StmtHandle -> Int -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ( ( -> -> -> -> ( ( -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> version 0.8 version 0.7 - -Database.Sqlite.Test.Enumerator
 ContentsIndex
Database.Sqlite.Test.Enumerator
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Documentation
runTest :: ShouldRunTests -> [String] -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Sqlite-Test-Enumerator.html hunk ./doc/html/Database-Sqlite-Test-SqliteFunctions.html 1 - - -Database.Sqlite.Test.SqliteFunctions
 ContentsIndex
Database.Sqlite.Test.SqliteFunctions
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Documentation
runTest :: String -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Sqlite-Test-SqliteFunctions.html hunk ./doc/html/Database-Stub-Enumerator.html 22 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
::
:: :: :: :: :: -> -> :: :: :: :: :: :: :: :: -> -> :: :: version 0.8 version 0.7 - -Database.Stub.Test.Enumerator
 ContentsIndex
Database.Stub.Test.Enumerator
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Simple test harness for Stub. - Stub can't share the tests for "real" backends because it - returns a somewhat contrived result set. -
Documentation
runTest :: a -> [String] -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Stub-Test-Enumerator.html hunk ./doc/html/Database-Test-Enumerator.html 1 - - -Database.Test.Enumerator
 ContentsIndex
Database.Test.Enumerator
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Simple test harness. Demonstrates possible usage. -
Documentation
class DBLiteralValue a where
Methods
literalDate :: a -> Int64 -> String
literalInt :: a -> Int -> String
literalInt64 :: a -> Int64 -> String
literalFloat :: a -> Float -> String
literalDouble :: a -> Double -> String
show/hide Instances
data SqliteFunctions
Constructors
SqliteFunctions
show/hide Instances
data OracleFunctions
Constructors
OracleFunctions
show/hide Instances
data PGSqlFunctions
Constructors
PGSqlFunctions
show/hide Instances
dateSqlite :: Int64 -> String
dateOracle :: Int64 -> String
datePG :: Int64 -> String
expectFloatsAndInts :: [(Double, Int)]
iterNullString :: Monad m => String -> String -> Maybe String -> IterAct m [(String, String, Maybe String)]
iterEmptyString :: Monad m => String -> String -> Maybe String -> IterAct m [(String, String, Maybe String)]
iterUnhandledNull :: Monad m => String -> String -> UTCTime -> IterAct m [(String, String, UTCTime)]
iterNullDate :: Monad m => String -> String -> Maybe UTCTime -> IterAct m [(String, String, UTCTime)]
iterDate :: Monad m => UTCTime -> IterAct m [UTCTime]
iterCalDate :: Monad m => CalendarTime -> IterAct m [CalendarTime]
iterBoundaryDates :: Monad m => UTCTime -> IterAct m [UTCTime]
iterCursor :: Monad m => Int -> IterAct m [Int]
iterBindString :: Monad m => String -> IterAct m [String]
iterBindInt :: Monad m => Int -> IterAct m [Int]
expectBindInt :: [Int]
iterBindIntDoubleString :: Monad m => Int -> Double -> String -> IterAct m [(Int, Double, String)]
expectBindIntDoubleString :: [(Int, Double, String)]
iterBindDate :: Monad m => UTCTime -> IterAct m [UTCTime]
data MyTree a
Constructors
Leaf a
Branch [MyTree a]
show/hide Instances
(Eq a, ??? a) => Eq (MyTree a)
(Read a, ??? a) => Read (MyTree a)
(Show a, ??? a) => Show (MyTree a)
iterPolymorphicFetch :: Monad m => MyTree String -> IterAct m (MyTree String)
iterPolymorphicFetchNull :: Monad m => Maybe (MyTree String) -> IterAct m (Maybe (MyTree String))
expectPolymorphicFetchNull :: Maybe (MyTree String)
expectRebind1 :: [Int]
expectRebind2 :: [Int]
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Test-Enumerator.html hunk ./doc/html/Database-Test-MultiConnect.html 1 - - -Database.Test.MultiConnect
 ContentsIndex
Database.Test.MultiConnect
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Tests Database.Enumerator code in the context of multiple - database connections to different DBMS products. - We should add tests to shift data between databases, too. -
Documentation
runTest :: ShouldRunTests -> [String] -> IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Test-MultiConnect.html hunk ./doc/html/Database-Test-Performance.html 1 - - -Database.Test.Performance
 ContentsIndex
Database.Test.Performance
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description
Performance tests. Currently just tests large result sets. -
Synopsis
data ShouldRunTests
= RunTests
| Don'tRunTests
rowCounter :: Monad m => Int -> Int -> IterAct m Int
sqlRows2Power17 :: String
sqlRows2Power20 :: String
Documentation
data ShouldRunTests
Constructors
RunTests
Don'tRunTests
show/hide Instances
rowCounter :: Monad m => Int -> Int -> IterAct m Int
This counter takes the maximum number of rows to fetch as its first argument, - so don't forget to curry it when using it as an iteratee function. - We also try to ensure that it is strict in the counter; - we don't want thousands or millions of unevaluated + thunks sitting - on the stack. -
sqlRows2Power17 :: String
sqlRows2Power20 :: String
Produced by Haddock version 0.8
rmfile ./doc/html/Database-Test-Performance.html hunk ./doc/html/Database-Util.html 22 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.
:: a -> :: a -> :: ( :: ( :: ( :: ( a, a, b) => a -> a -> a -> a -> a -> b -> UTCTime b) => a -> a -> a -> a -> a -> b -> UTCTime :: :: a => a -> a -> a -> a -> a -> a -> a => a -> a -> a -> a -> a -> a -> :: :: -> ( -> (, , , , , , , , , , :: ( :: ( a1, a1, a2, a2, a3, a3, a4, a4, a5, a5, a6) => (a1, a2, a3, a4, a5, a6) -> a6) => (a1, a2, a3, a4, a5, a6) -> :: :: -> -> :: :: -> -> :: :: -> UTCTime -> UTCTime :: ( :: ( -> -> ) -> ) -> -> [ -> [ :: ( :: ( -> -> ) -> ) -> -> [ -> [ :: :: a => [a] -> [a] -> [ a => [a] -> [a] -> [ :: :: -> UTCTime -> UTCTime :: :: -> -> pgDatetimetoParts :: pgDatetimeToParts :: -> ( -> (, , , , , , , , , , , , utcTimeToIsoString :: (Integral a, Integral b) => UTCTime -> String -> (a -> a) -> (b -> String) -> String :: UTCTime -> :: UTCTime -> StringutcTimeToIsoDatetime :: UTCTime -> StringutcTimeToOdbcDatetime :: UTCTime -> :: :: -> -> :: a -> :: a -> :: ( :: ( :: ( :: ( a, a, b) => a -> a -> a -> a -> a -> b -> UTCTime b) => a -> a -> a -> a -> a -> b -> UTCTime :: :: a => a -> a -> a -> a -> a -> a -> a => a -> a -> a -> a -> a -> a -> :: :: -> ( -> (, , , , , , , , , , :: ( :: ( a1, a1, a2, a2, a3, a3, a4, a4, a5, a5, a6) => (a1, a2, a3, a4, a5, a6) -> a6) => (a1, a2, a3, a4, a5, a6) -> :: :: -> -> :: :: -> -> :: :: -> UTCTime -> UTCTime :: ( :: ( -> -> ) -> ) -> -> [ -> [ :: ( :: ( -> -> ) -> ) -> -> [ -> [ :: :: a => [a] -> [a] -> [ a => [a] -> [a] -> [ :: :: -> UTCTime -> UTCTime :: :: -> -> pgDatetimetoParts :: pgDatetimeToParts :: -> ( -> (, , , , , , , , , , , , utcTimeToIsoString :: (Integral a, Integral b) => UTCTime -> String -> (a -> a) -> (b -> String) -> String :: UTCTime -> :: UTCTime -> StringutcTimeToIsoDatetime :: UTCTime -> StringutcTimeToOdbcDatetime :: UTCTime -> :: :: -> -> version 0.8 version 0.7 - -Main
 ContentsIndex
Main
Portabilitynon-portable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Description

Simple driver module, mainly for testing. - Imports test modules and runs test suites. -

This project is now hosted at haskell.org: -

darcs get http://darcs.haskell.org/takusen

Invoke main like this (assuming the compiled executable is called takusen): -

 takusen stub noperf
- takusen sqlite noperf "" "" dbname
- takusen oracle noperf "" "" dbname  -- no username, so os-authenticated
- takusen mssql noperf user paswd dbname
-
Documentation
main :: IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Main.html hunk ./doc/html/Test-MiniUnit.html 1 - - -Test.MiniUnit
 ContentsIndex
Test.MiniUnit
Portabilityportable
Stabilityexperimental
Maintaineroleg@pobox.com, alistair@abayley.org
Contents
Primary API -
Exposed for self-testing only; see Test.MiniUnitTest -
Description
This is just a simple one-module unit test framework, with the same - API as Test.HUnit (albeit with a lot of stuff missing). - We use it because it works in CaughtMonadIO - instead of IO - (and also because I couldn't convert Test.HUnit - to use CaughtMonadIO). -
Synopsis
runTestTT :: CaughtMonadIO m => String -> [m ()] -> m Int
assertFailure :: CaughtMonadIO m => String -> m ()
assertBool :: CaughtMonadIO m => String -> Bool -> m ()
assertString :: CaughtMonadIO m => String -> m ()
assertEqual :: (Eq a, Show a, CaughtMonadIO m) => String -> a -> a -> m ()
data TestResult
= TestSuccess
| TestFailure String
| TestException String
throwUserError :: CaughtMonadIO m => String -> m ()
runSingleTest :: CaughtMonadIO m => m () -> m TestResult
Primary API -
runTestTT :: CaughtMonadIO m => String -> [m ()] -> m Int
Return 0 if everything is rosy, - 1 if there were assertion failures (but no exceptions), - 2 if there were any exceptions. - You could use this return code as the return code from - your program, if you're driving from the command line. -
assertFailure :: CaughtMonadIO m => String -> m ()
assertBool :: CaughtMonadIO m => String -> Bool -> m ()
assertString :: CaughtMonadIO m => String -> m ()
assertEqual
:: (Eq a, Show a, CaughtMonadIO m)
=> Stringmessage preface -
-> aexpected -
-> aactual -
-> m ()
Exposed for self-testing only; see Test.MiniUnitTest -
data TestResult
Constructors
TestSuccess
TestFailure String
TestException String
show/hide Instances
throwUserError :: CaughtMonadIO m => String -> m ()
runSingleTest :: CaughtMonadIO m => m () -> m TestResult
Produced by Haddock version 0.8
rmfile ./doc/html/Test-MiniUnit.html hunk ./doc/html/Test-MiniUnitTest.html 1 - - -Test.MiniUnitTest
 ContentsIndex
Test.MiniUnitTest
Documentation
main :: IO ()
Produced by Haddock version 0.8
rmfile ./doc/html/Test-MiniUnitTest.html hunk ./doc/html/doc-index-A.html 7 -> (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.assertBoolallocConn
Test.MiniUnitDatabase.ODBC.OdbcFunctionsassertEqualallocEnvTest.MiniUnitDatabase.ODBC.OdbcFunctionsassertFailureallocHdlTest.MiniUnitDatabase.ODBC.OdbcFunctionsassertStringallocStmtTest.MiniUnitDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions3 (Type/Class)BranchBuffer1 (Type/Class)Database.Test.EnumeratorDatabase.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions1 (Type/Class)Database.ODBC.OdbcFunctions2 (Type/Class), Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorbindBufPtrDatabase.ODBC.OdbcFunctionsbindBufSizeDatabase.ODBC.OdbcFunctionsbindBufSzPtrDatabase.ODBC.OdbcFunctionsbindColBufferDatabase.ODBC.OdbcFunctionsbindColumnBufferDatabase.ODBC.OdbcFunctionsbindEncodedStringDatabase.ODBC.OdbcFunctions1 (Function)Database.ODBC.OdbcFunctions2 (Function), Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorbindParamDatabase.ODBC.OdbcFunctionsbindParamBufferDatabase.ODBC.OdbcFunctionsbindParamCAStringDatabase.ODBC.OdbcFunctionsbindParamCStringLenDatabase.ODBC.OdbcFunctionsbindParamCWStringDatabase.ODBC.OdbcFunctionsbindParamUTF8StringDatabase.ODBC.OdbcFunctionsbindParamUtcTimeDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.1 (Type/Class)Database.ODBC.OdbcFunctions2 (Type/Class)ConnObj1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorcatchOdbcDatabase.ODBC.OdbcFunctionscheckColumnRangeDatabase.Sqlite.SqliteFunctionscheckErrorDatabase.ODBC.OdbcFunctionscloseCursorDatabase.ODBC.OdbcFunctionsDatabase.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function), Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator3 (Function)Database.ODBC.OdbcFunctionsDatabase.ODBC.Enumerator2 (Function)Database.ODBC.OdbcFunctions3 (Function)2 (Function)4 (Function)3 (Function)5 (Function)4 (Function)6 (Function)createBufferForStorableDatabase.ODBC.OdbcFunctionscreateBufferHelperDatabase.ODBC.OdbcFunctionscreateEmptyBufferDatabase.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC., Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorDBLiteralValueDatabase.Test.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorDon'tRunTestsDatabase.Test.PerformancedateOracleDatabase.Test.EnumeratordatePGDatabase.Test.EnumeratordateSqliteDatabase.Test.Enumerator1 (Function)2 (Function)Database.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.1 (Type/Class)Database.ODBC.OdbcFunctions2 (Type/Class)EnvInquiryDatabase.InternalEnumeratorEnvObj1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorexpectBindIntDatabase.Test.EnumeratorexpectBindIntDoubleStringDatabase.Test.EnumeratorexpectFloatsAndIntsDatabase.Test.EnumeratorexpectPolymorphicFetchNullDatabase.Test.EnumeratorexpectRebind1Database.Test.EnumeratorexpectRebind2executeStmtDatabase.Test.EnumeratorDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.fetchDatabase.ODBC.OdbcFunctionsflo_closeDatabase.PostgreSQL.PGFunctionsflo_creatDatabase.PostgreSQL.PGFunctionsflo_exportDatabase.PostgreSQL.PGFunctionsflo_importDatabase.PostgreSQL.PGFunctionsflo_lseekDatabase.PostgreSQL.PGFunctionsflo_openDatabase.PostgreSQL.PGFunctionsflo_readDatabase.PostgreSQL.PGFunctionsflo_tellDatabase.PostgreSQL.PGFunctionsflo_unlinkDatabase.PostgreSQL.PGFunctionsflo_writeDatabase.PostgreSQL.PGFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorfreeConnDatabase.ODBC.OdbcFunctionsfreeEnvDatabase.ODBC.OdbcFunctionsfreeHelperDatabase.ODBC.OdbcFunctionsfreeStmtDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.getCAStringFromBufferDatabase.ODBC.OdbcFunctionsgetCWStringFromBufferDatabase.ODBC.OdbcFunctionsgetDataDatabase.ODBC.OdbcFunctionsgetDataCStringDatabase.ODBC.OdbcFunctionsgetDataCStringLenDatabase.ODBC.OdbcFunctionsgetDataStorableDatabase.ODBC.OdbcFunctionsgetDataUTF8StringDatabase.ODBC.OdbcFunctionsgetDataUtcTimeDatabase.ODBC.OdbcFunctionsgetDiagRecDatabase.ODBC.OdbcFunctionsgetFromBufferDatabase.ODBC.OdbcFunctionsgetMaybeFromBufferDatabase.ODBC.OdbcFunctionsgetStorableFromBufferDatabase.ODBC.OdbcFunctionsgetUTF8StringFromBufferDatabase.ODBC.OdbcFunctionsgetUtcTimeFromBufferDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.HandleDatabase.ODBC.OdbcFunctionsHandleObj1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.InOutParam1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumeratorint64ToCalTimeDatabase.Utilint64ToDatePartsDatabase.Utilint64ToUTCTimeDatabase.Util, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratoriterBindDateDatabase.Test.EnumeratorinquireiterBindIntDatabase.Test.EnumeratoriterBindIntDoubleString1 (Function)Database.Test.EnumeratoriterBindStringDatabase.Test.EnumeratoriterBoundaryDatesDatabase.Test.EnumeratoriterCalDateDatabase.Test.EnumeratoriterCursorDatabase.Test.EnumeratoriterDateDatabase.Test.EnumeratoriterEmptyStringDatabase.Test.EnumeratorDatabase.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratoriterNullDate2 (Function)Database.Test.EnumeratorDatabase.InternalEnumeratoriterNullStringint2PtrDatabase.Test.EnumeratorDatabase.ODBC.OdbcFunctionsiterPolymorphicFetchint64ToCalTimeDatabase.Test.EnumeratorDatabase.UtiliterPolymorphicFetchNullint64ToDatePartsDatabase.Test.EnumeratorDatabase.UtiliterUnhandledNullint64ToUTCTimeDatabase.Test.EnumeratorDatabase.Util (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.LeafDatabase.Test.EnumeratorlengthUTF8Foreign.C.UTF8literalDateLOAccessTypeDatabase.Test.EnumeratorDatabase.PostgreSQL.PGFunctionsliteralDoubleDatabase.Test.EnumeratorLastInsertRowidliteralFloat1 (Type/Class)Database.Test.EnumeratorDatabase.Sqlite.EnumeratorliteralInt2 (Data Constructor)Database.Test.EnumeratorDatabase.Sqlite.EnumeratorliteralInt64lengthUTF8Database.Test.EnumeratorForeign.C.UTF8 (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.MyShowMyCStringDatabase.UtilDatabase.ODBC.OdbcFunctionsMyTreeMyCStringLenDatabase.Test.EnumeratorDatabase.ODBC.OdbcFunctionsmain1 (Function)Main2 (Function)MyShowTest.MiniUnitTestDatabase.UtilmakeUtcTimeBufferDatabase.ODBC.OdbcFunctionsmakeUtcTimeStringBufferDatabase.ODBC.OdbcFunctionsmoreResultsDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC., Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.OidOdbcBindBufferDatabase.PostgreSQL.PGFunctionsDatabase.ODBC.OdbcFunctionsOdbcBindParamDatabase.ODBC.OdbcFunctionsOracleFunctionsOdbcExceptionDatabase.Test.EnumeratorDatabase.ODBC.OdbcFunctionsDatabase.Test.EnumeratorDatabase.ODBC.OdbcFunctionsOidDatabase.PostgreSQL.PGFunctionsOutParam1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.PGSqlFunctions1 (Type/Class)Database.Test.Enumerator2 (Data Constructor)Database.Test.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorpeekSmallIntDatabase.ODBC.OdbcFunctionspeekUIntegerDatabase.ODBC.OdbcFunctionspeekUSmallIntDatabase.ODBC.OdbcFunctionspgDatetimetoCalTimepeekUTF8StringLenForeign.C.UTF8pgDatetimeToPartspgDatetimetoPartspgDatetimetoCalTimepokeSmallIntDatabase.ODBC.OdbcFunctionspokeUIntegerDatabase.ODBC.OdbcFunctionspokeUSmallIntDatabase.ODBC.OdbcFunctionsDatabase.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)4 (Function)5 (Function)Database.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)Database.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)Database.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)Database.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)Database.ODBC.Enumerator2 (Function)Database.ODBC.OdbcFunctions3 (Function)2 (Function)4 (Function)3 (Function)5 (Function) (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC., Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorRunTestsreadUtcTimeFromMemoryDatabase.Test.PerformanceDatabase.ODBC.OdbcFunctionsreportResultsreportRethrowTest.MiniUnitDatabase.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorreportRethrowreportRethrowMsg, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorrollbackTransDatabase.Oracle.OCIFunctionsrowCounterDatabase.Test.PerformancerunSingleTestTest.MiniUnitrunTest1 (Function)Database.Oracle.Test.Enumerator2 (Function)Database.Oracle.Test.OCIFunctionsDatabase.PostgreSQL.Test.Enumerator4 (Function)Database.PostgreSQL.Test.PGFunctionsDatabase.ODBC.OdbcFunctions5 (Function)Database.Sqlite.Test.Enumerator6 (Function)Database.Sqlite.Test.SqliteFunctions7 (Function)Database.Stub.Test.Enumerator8 (Function)Database.Test.MultiConnect9 (Function)rollbackTransDatabase.Test.UtilDatabase.Oracle.OCIFunctionsrunTestTTrowCountTest.MiniUnitDatabase.ODBC.OdbcFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC., Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorDatabase.ODBC.Enumerator2 (Type/Class)2 (Type/Class)3 (Type/Class)3 (Type/Class)4 (Type/Class)4 (Type/Class)5 (Type/Class)ShouldRunTestsSizeFPtrDatabase.ODBC.OdbcFunctionsSqlCDataTypeDatabase.Test.PerformanceDatabase.ODBC.OdbcFunctionsSqlDataTypeDatabase.ODBC.OdbcFunctionsSqlHandleTypeDatabase.ODBC.OdbcFunctionsSqlIntegerDatabase.ODBC.OdbcFunctionsSqlLenDatabase.ODBC.OdbcFunctionsSqlParamDirectionDatabase.ODBC.OdbcFunctionsSqlReturnDatabase.ODBC.OdbcFunctionsSqlSmallIntDatabase.ODBC.OdbcFunctionsSqliteCallbackSqlUIntegerDatabase.Sqlite.SqliteFunctionsDatabase.ODBC.OdbcFunctionsSqliteExceptionSqlULenDatabase.ODBC.OdbcFunctions1 (Type/Class)SqlUSmallIntDatabase.Sqlite.SqliteFunctionsDatabase.ODBC.OdbcFunctions2 (Data Constructor)SqliteCallbackSqliteFunctionsSqliteExceptionDatabase.Test.EnumeratorDatabase.Sqlite.SqliteFunctionsDatabase.Test.EnumeratorDatabase.Sqlite.SqliteFunctionsDatabase.ODBC.OdbcFunctions2 (Type/Class)2 (Type/Class)3 (Type/Class)StmtObj1 (Type/Class)Database.ODBC.OdbcFunctions2 (Data Constructor)Database.ODBC.OdbcFunctionssetAutoCommitOffDatabase.ODBC.OdbcFunctionssetAutoCommitOnDatabase.ODBC.OdbcFunctionssetOdbcVerDatabase.ODBC.OdbcFunctionssetTxnIsolationDatabase.ODBC.OdbcFunctionssizeOfMaybeDatabase.ODBC.OdbcFunctionsDatabase.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)4 (Function)5 (Function)sqlRows2Power17sqlAllocHandleDatabase.ODBC.OdbcFunctionssqlAutoCommitOffDatabase.ODBC.OdbcFunctionssqlAutoCommitOnDatabase.ODBC.OdbcFunctionssqlBindColDatabase.ODBC.OdbcFunctionssqlBindParameterDatabase.ODBC.OdbcFunctionssqlCloseCursorDatabase.Test.PerformanceDatabase.ODBC.OdbcFunctionssqlRows2Power20sqlDisconnectDatabase.Test.PerformanceDatabase.ODBC.OdbcFunctionssqlDriverConnectDatabase.ODBC.OdbcFunctionssqlDriverNoPromptDatabase.ODBC.OdbcFunctionssqlEndTranDatabase.ODBC.OdbcFunctionssqlExecuteDatabase.ODBC.OdbcFunctionssqlFetchDatabase.ODBC.OdbcFunctionssqlFreeHandleDatabase.ODBC.OdbcFunctionssqlGetDataDatabase.ODBC.OdbcFunctionssqlGetDiagRecDatabase.ODBC.OdbcFunctionssqlMoreResultsDatabase.ODBC.OdbcFunctionssqlNullDataDatabase.ODBC.OdbcFunctionssqlNullTermedStringDatabase.ODBC.OdbcFunctionssqlPrepareDatabase.ODBC.OdbcFunctionssqlRowCountDatabase.ODBC.OdbcFunctionssqlSetConnectAttrDatabase.ODBC.OdbcFunctionssqlSetEnvAttrDatabase.ODBC.OdbcFunctionssqlTransCommitDatabase.ODBC.OdbcFunctionssqlTransRollbackDatabase.ODBC.OdbcFunctionsDatabase.ODBC.Enumerator2 (Function)2 (Function)3 (Function)3 (Function)4 (Function)sqliteColumnCountDatabase.Sqlite.SqliteFunctionssqliteLastInsertRowidDatabase.Sqlite.SqliteFunctions (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.TestExceptionTest.MiniUnitTestFailureTest.MiniUnitTestResultTest.MiniUnitTestSuccessTest.MiniUnittestForNullDatabase.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorthrowOdbcDatabase.ODBC.OdbcFunctionsthrowUserErrorTest.MiniUnit (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.utcTimeToPGDatetimeutcTimeToIsoDatetimeDatabase.UtilutcTimeToIsoStringutf8RoundTriputcTimeToOdbcDatetimeDatabase.Test.UtilDatabase.UtilutcTimeToPGDatetimeDatabase.Util (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.WhenceTypeDatabase.PostgreSQL.PGFunctionsWindowHandleDatabase.ODBC.OdbcFunctions, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.Enumerator, Database.ODBC.Enumerator, Database.Oracle.Enumerator, Database.PostgreSQL.Enumerator, Database.Sqlite.EnumeratorwrapSizedBufferDatabase.ODBC.OdbcFunctionswriteUTCTimeToMemoryDatabase.ODBC.OdbcFunctions - - (Index)
 ContentsIndex
ABCDEFGHILMNOPQRSTUVWZ
Index (Z)
zeroPad
rmfile ./doc/html/doc-index-Z.html hunk ./doc/html/doc-index.html 7 -> (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. (Index)Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC. font is a little too small in MSIE */ -TT { font-size: 100%; } -PRE { font-size: 100%; } - -LI P { margin: 0pt } - -TD { - border-width: 0px; -} - -TABLE.narrow { - border-width: 0px; -} - -TD.s8 { height: 8px; } -TD.s15 { height: 15px; } - -SPAN.keyword { text-decoration: underline; } - -/* Resize the buttom image to match the text size */ -IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em } - -/* --------- Contents page ---------- */ - -DIV.node { - padding-left: 3em; -} - -DIV.cnode { - padding-left: 1.75em; -} - -SPAN.pkg { - position: absolute; - left: 50em; -} - -/* --------- Documentation elements ---------- */ - -TD.children { - padding-left: 25px; - } - -TD.synopsis { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace - } - -TD.decl { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; - } - -/* - arg is just like decl, except that wrapping is not allowed. It is - used for function and constructor arguments which have a text box - to the right, where if wrapping is allowed the text box squashes up - the declaration by wrapping it. -*/ -TD.arg { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; - white-space: nowrap; - width: 50% - } - -TD.recfield { padding-left: 20px } - -TD.doc { - padding-top: 2px; - padding-left: 10px; - } - -TD.ndoc { - padding: 2px; - } - -TD.rdoc { - padding: 2px; - padding-left: 10px; - width: 100%; - } - -TD.body { - padding-left: 10px - } - -TD.pkg { - width: 100%; - padding-left: 10px -} - -TD.indexentry { - vertical-align: top; - padding-right: 10px - } - -TD.indexannot { - vertical-align: top; - padding-left: 20px; - white-space: nowrap - } - -TD.indexlinks { - width: 100% - } - -/* ------- Section Headings ------- */ - -TD.section1 { - padding-top: 15px; - font-weight: bold; - font-size: 150% - } - -TD.section2 { - padding-top: 10px; - font-weight: bold; - font-size: 130% - } - -TD.section3 { - padding-top: 5px; - font-weight: bold; - font-size: 110% - } - -TD.section4 { - font-weight: bold; - font-size: 100% - } - -/* -------------- The title bar at the top of the page */ - -TD.infohead { - color: #ffffff; - font-weight: bold; - padding-right: 10px; - text-align: left; -} - -TD.infoval { - color: #ffffff; - padding-right: 10px; - text-align: left; -} - -TD.topbar { - background-color: #000099; - padding: 5px; -} - -TD.title { - color: #ffffff; - padding-left: 10px; - width: 100% - } - -TD.topbut { - padding-left: 5px; - padding-right: 5px; - border-left-width: 1px; - border-left-color: #ffffff; - border-left-style: solid; - white-space: nowrap; - } - -TD.topbut A:link { - color: #ffffff - } - -TD.topbut A:visited { - color: #ffff00 - } - -TD.topbut A:hover { - background-color: #6060ff; - } - -TD.topbut:hover { - background-color: #6060ff - } - -TD.modulebar { - background-color: #0077dd; - padding: 5px; - border-top-width: 1px; - border-top-color: #ffffff; - border-top-style: solid; - } - -/* --------- The page footer --------- */ - -TD.botbar { - background-color: #000099; - color: #ffffff; - padding: 5px - } -TD.botbar A:link { - color: #ffffff; - text-decoration: underline - } -TD.botbar A:visited { - color: #ffff00 - } -TD.botbar A:hover { - background-color: #6060ff - } - +/* -------- Global things --------- */ + +BODY { + background-color: #ffffff; + color: #000000; + font-family: sans-serif; + } + +A:link { color: #0000e0; text-decoration: none } +A:visited { color: #0000a0; text-decoration: none } +A:hover { background-color: #e0e0ff; text-decoration: none } + +TABLE.vanilla { + width: 100%; + border-width: 0px; + /* I can't seem to specify cellspacing or cellpadding properly using CSS... */ +} + +TABLE.vanilla2 { + border-width: 0px; +} + +/* font is a little too small in MSIE */ +TT { font-size: 100%; } +PRE { font-size: 100%; } + +LI P { margin: 0pt } + +TD { + border-width: 0px; +} + +TABLE.narrow { + border-width: 0px; +} + +TD.s8 { height: 8px; } +TD.s15 { height: 15px; } + +SPAN.keyword { text-decoration: underline; } + +/* Resize the buttom image to match the text size */ +IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em } + +/* --------- Contents page ---------- */ + +DIV.node { + padding-left: 3em; +} + +DIV.cnode { + padding-left: 1.75em; +} + +SPAN.pkg { + position: absolute; + left: 50em; +} + +/* --------- Documentation elements ---------- */ + +TD.children { + padding-left: 25px; + } + +TD.synopsis { + padding: 2px; + background-color: #f0f0f0; + font-family: monospace + } + +TD.decl { + padding: 2px; + background-color: #f0f0f0; + font-family: monospace; + vertical-align: top; + } + +/* + arg is just like decl, except that wrapping is not allowed. It is + used for function and constructor arguments which have a text box + to the right, where if wrapping is allowed the text box squashes up + the declaration by wrapping it. +*/ +TD.arg { + padding: 2px; + background-color: #f0f0f0; + font-family: monospace; + vertical-align: top; + white-space: nowrap; + } + +TD.recfield { padding-left: 20px } + +TD.doc { + padding-top: 2px; + padding-left: 10px; + } + +TD.ndoc { + padding: 2px; + } + +TD.rdoc { + padding: 2px; + padding-left: 10px; + width: 100%; + } + +TD.body { + padding-left: 10px + } + +TD.pkg { + width: 100%; + padding-left: 10px +} + +TD.indexentry { + vertical-align: top; + padding-right: 10px + } + +TD.indexannot { + vertical-align: top; + padding-left: 20px; + white-space: nowrap + } + +TD.indexlinks { + width: 100% + } + +/* ------- Section Headings ------- */ + +TD.section1 { + padding-top: 15px; + font-weight: bold; + font-size: 150% + } + +TD.section2 { + padding-top: 10px; + font-weight: bold; + font-size: 130% + } + +TD.section3 { + padding-top: 5px; + font-weight: bold; + font-size: 110% + } + +TD.section4 { + font-weight: bold; + font-size: 100% + } + +/* -------------- The title bar at the top of the page */ + +TD.infohead { + color: #ffffff; + font-weight: bold; + padding-right: 10px; + text-align: left; +} + +TD.infoval { + color: #ffffff; + padding-right: 10px; + text-align: left; +} + +TD.topbar { + background-color: #000099; + padding: 5px; +} + +TD.title { + color: #ffffff; + padding-left: 10px; + width: 100% + } + +TD.topbut { + padding-left: 5px; + padding-right: 5px; + border-left-width: 1px; + border-left-color: #ffffff; + border-left-style: solid; + white-space: nowrap; + } + +TD.topbut A:link { + color: #ffffff + } + +TD.topbut A:visited { + color: #ffff00 + } + +TD.topbut A:hover { + background-color: #6060ff; + } + +TD.topbut:hover { + background-color: #6060ff + } + +TD.modulebar { + background-color: #0077dd; + padding: 5px; + border-top-width: 1px; + border-top-color: #ffffff; + border-top-style: solid; + } + +/* --------- The page footer --------- */ + +TD.botbar { + background-color: #000099; + color: #ffffff; + padding: 5px + } +TD.botbar A:link { + color: #ffffff; + text-decoration: underline + } +TD.botbar A:visited { + color: #ffff00 + } +TD.botbar A:hover { + background-color: #6060ff + } + hunk ./doc/html/index.html 7 ->Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.Takusen-0.8: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.

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). +

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. +

Currently we fully support ODBC, Oracle, Sqlite, and PostgreSQL. +

OracleODBCDatabase.Oracle.EnumeratorDatabase.ODBC.EnumeratorDatabase.Oracle.OCIConstantsDatabase.ODBC.OdbcFunctionsDatabase.Oracle.OCIFunctionsTestOracleDatabase.Oracle.Test.EnumeratorDatabase.Oracle.EnumeratorDatabase.Oracle.Test.OCIFunctionsDatabase.Oracle.OCIConstantsDatabase.Oracle.OCIFunctionsshow/hideTest
Database.PostgreSQL.Test.Enumerator
Database.PostgreSQL.Test.PGFunctions
show/hideshow/hide
show/hideshow/hide
show/hideTest
Database.Sqlite.Test.Enumerator
Database.Sqlite.Test.SqliteFunctions
show/hideTest
Database.Stub.Test.Enumerator
show/hideTestshow/hideshow/hide
Database.Test.Enumerator
Database.Test.MultiConnect
Database.Test.Performance
Database.Test.Util
show/hideshow/hide
version 0.8 version 0.7
Main
show/hideTest
Test.MiniUnit
Test.MiniUnitTest