haskelldb-hsql-odbc (empty) → 0.10
raw patch · 3 files changed
+74/−0 lines, 3 filesdep +basedep +haskell98dep +haskelldbbuild-type:Customsetup-changed
Dependencies added: base, haskell98, haskelldb, haskelldb-hsql, hsql, hsql-odbc, mtl
Files
- Database/HaskellDB/HSQL/ODBC.hs +55/−0
- Setup.hs +4/−0
- haskelldb-hsql-odbc.cabal +15/−0
+ Database/HaskellDB/HSQL/ODBC.hs view
@@ -0,0 +1,55 @@+-----------------------------------------------------------+-- |+-- Module : Database.HaskellDB.HSQL.ODBC+-- Copyright : HWT Group 2003,+-- Bjorn Bringert 2006+-- License : BSD-style+-- +-- Maintainer : haskelldb-users@lists.sourceforge.net+-- Stability : experimental+-- Portability : non-portable+--+-----------------------------------------------------------++module Database.HaskellDB.HSQL.ODBC (+ ODBCOptions(..),+ odbcConnect, + odbcDriverConnect,+ DriverInterface(..),+ driver+ ) where++import Database.HaskellDB.Database+import Database.HaskellDB.HSQL+import Database.HaskellDB.DriverAPI+import Database.HaskellDB.Sql.Generate (SqlGenerator)+import qualified Database.HSQL.ODBC as ODBC (connect, driverConnect) ++data ODBCOptions = ODBCOptions { + dsn :: String, -- ^ name binding in ODBC+ uid :: String, -- ^ user id+ pwd :: String -- ^ password+ } ++odbcConnect :: MonadIO m => SqlGenerator -> ODBCOptions -> (Database -> m a) -> m a+odbcConnect gen opts = + hsqlConnect gen (ODBC.connect (dsn opts) (uid opts) (pwd opts))++-- | DSN-less connection.+odbcDriverConnect :: MonadIO m => SqlGenerator -> String -> (Database -> m a) -> m a+odbcDriverConnect gen opts =+ hsqlConnect gen (ODBC.driverConnect opts)++odbcConnectOpts :: MonadIO m => [(String,String)] -> (Database -> m a) -> m a+odbcConnectOpts opts f = + do+ [a,b,c] <- getOptions ["dsn","uid","pwd"] opts+ g <- getGenerator opts+ odbcConnect g (ODBCOptions {dsn = a,+ uid = b,+ pwd = c}) f++-- | This driver requires the following options: +-- "dsn", "uid", "pwd"+driver :: DriverInterface+driver = defaultdriver { connect = odbcConnectOpts }
+ Setup.hs view
@@ -0,0 +1,4 @@+#!/usr/bin/env runghc++import Distribution.Simple+main = defaultMain
+ haskelldb-hsql-odbc.cabal view
@@ -0,0 +1,15 @@+Name: haskelldb-hsql-odbc+Version: 0.10+Copyright: The authors+Maintainer: haskelldb-users@lists.sourceforge.net+Author: Daan Leijen, Conny Andersson, Martin Andersson, Mary Bergman, Victor Blomqvist, Bjorn Bringert, Anders Hockersten, Torbjorn Martin, Jeremy Shaw+License: BSD3+build-depends: haskell98, base, mtl, haskelldb, haskelldb-hsql, hsql, hsql-odbc+Extensions: ExistentialQuantification,+ OverlappingInstances,+ UndecidableInstances,+ MultiParamTypeClasses+Synopsis: HaskellDB support for the HSQL ODBC driver.+Exposed-Modules:+ Database.HaskellDB.HSQL.ODBC+ghc-options: -O2