/Database/HDBC/PostgreSQL.hs
http://github.com/hdbc/hdbc-postgresql · Haskell · 82 lines · 13 code · 8 blank · 61 comment · 0 complexity · 41d9ddd589870f01de42d0c9d32aa831 MD5 · raw file
- {- |
- Module : Database.HDBC.PostgreSQL
- Copyright : Copyright (C) 2005-2011 John Goerzen
- License : BSD3
- Maintainer : John Goerzen <jgoerzen@complete.org>
- Stability : provisional
- Portability: portable
- HDBC driver interface for PostgreSQL 8.x
- Written by John Goerzen, jgoerzen\@complete.org
- /NOTE ON DATES AND TIMES/
- The recommended correspondence between PostgreSQL date and time types and HDBC SqlValue
- types is:
- * SqlLocalDate: DATE
- * SqlLocalTimeOfDay: TIME WITHOUT TIME ZONE
- * SqlZonedLocalTimeOfDay: TIME WITH TIME ZONE
- * SqlLocalTime: TIMESTAMP WITHOUT TIME ZONE
- * SqlZonedTime: TIMESTAMP WITH TIME ZONE
- * SqlUTCTime: TIMESTAMP WITH TIME ZONE
- * SqlDiffTime: INTERVAL
- * SqlPOSIXTime: NUMERIC
- * SqlEpochTime: INTEGER
- * SqlTimeDiff: INTERVAL
- Other combinations are possible, and may even be converted automatically.
- The above simply represents the types that seem the most logical correspondence,
- and thus are tested by the HDBC-PostgreSQL test suite.
- -}
- module Database.HDBC.PostgreSQL
- (
- -- * Connecting to Databases
- connectPostgreSQL, withPostgreSQL,
- connectPostgreSQL', withPostgreSQL',
- Connection,
- -- * Transactions
- begin,
- -- * PostgreSQL Error Codes
- --
- -- |When an @SqlError@ is thrown, the field @seState@ is set to one of the following
- -- error codes.
- module Database.HDBC.PostgreSQL.ErrorCodes,
- -- * Threading
- -- $threading
- )
- where
- import Database.HDBC.PostgreSQL.Connection(connectPostgreSQL, withPostgreSQL,
- connectPostgreSQL', withPostgreSQL',
- begin, Connection())
- import Database.HDBC.PostgreSQL.ErrorCodes
- {- $threading
-
- Provided the local libpq library is thread-safe, multiple 'Connection's may be used
- to have concurrent database queries. Concurrent queries issued on a single
- 'Connection' will be performed serially.
- When the local libpq library is not thread-safe (ie. it has not been compiled with
- --enable-thread-safety), only a single database function will be performed at a time.
-
- -}