module Database.HDBC.PostgreSQL.ConnectionImpl where

import qualified Database.HDBC.Types as Types
import Database.HDBC.ColTypes as ColTypes

data Connection = 
    Connection {
                Connection -> IO ()
disconnect :: IO (),
                Connection -> IO ()
begin :: IO (),
                Connection -> IO ()
commit :: IO (),
                Connection -> IO ()
rollback :: IO (),
                Connection -> String -> IO ()
runRaw :: String -> IO (),
                Connection -> String -> [SqlValue] -> IO Integer
run :: String -> [Types.SqlValue] -> IO Integer,
                Connection -> String -> IO Statement
prepare :: String -> IO Types.Statement,
                Connection -> IO Connection
clone :: IO Connection,
                Connection -> String
hdbcDriverName :: String,
                Connection -> String
hdbcClientVer :: String,
                Connection -> String
proxiedClientName :: String,
                Connection -> String
proxiedClientVer :: String,
                Connection -> String
dbServerVer :: String,
                Connection -> Bool
dbTransactionSupport :: Bool,
                Connection -> IO [String]
getTables :: IO [String],
                Connection -> String -> IO [(String, SqlColDesc)]
describeTable :: String -> IO [(String, ColTypes.SqlColDesc)]
               }

instance Types.IConnection Connection where
  disconnect :: Connection -> IO ()
disconnect = Connection -> IO ()
disconnect
  commit :: Connection -> IO ()
commit = Connection -> IO ()
commit
  rollback :: Connection -> IO ()
rollback = Connection -> IO ()
rollback
  runRaw :: Connection -> String -> IO ()
runRaw = Connection -> String -> IO ()
runRaw
  run :: Connection -> String -> [SqlValue] -> IO Integer
run = Connection -> String -> [SqlValue] -> IO Integer
run
  prepare :: Connection -> String -> IO Statement
prepare = Connection -> String -> IO Statement
prepare
  clone :: Connection -> IO Connection
clone = Connection -> IO Connection
clone
  hdbcDriverName :: Connection -> String
hdbcDriverName = Connection -> String
hdbcDriverName
  hdbcClientVer :: Connection -> String
hdbcClientVer = Connection -> String
hdbcClientVer
  proxiedClientName :: Connection -> String
proxiedClientName = Connection -> String
proxiedClientName
  proxiedClientVer :: Connection -> String
proxiedClientVer = Connection -> String
proxiedClientVer
  dbServerVer :: Connection -> String
dbServerVer = Connection -> String
dbServerVer
  dbTransactionSupport :: Connection -> Bool
dbTransactionSupport = Connection -> Bool
dbTransactionSupport
  getTables :: Connection -> IO [String]
getTables = Connection -> IO [String]
getTables
  describeTable :: Connection -> String -> IO [(String, SqlColDesc)]
describeTable = Connection -> String -> IO [(String, SqlColDesc)]
describeTable