@@ -90,9 +90,17 @@ connect = connectPostgreSQL . postgreSQLConnectionString
9090connectPostgreSQL :: ByteString -> IO Connection
9191connectPostgreSQL connstr = do
9292 conn <- PQ.connectdb connstr
93− connectionHandle <- newMVar (Just conn)
94− connectionObjects <- newMVar (IntMap.empty)
95− return Connection{..}
93+ stat <- PQ.status conn
94+ case stat of
95+ PQ.ConnectionOk -> do
96+ connectionHandle <- newMVar (Just conn)
97+ connectionObjects <- newMVar (IntMap.empty)
98+ return Connection{..}
99+ _ -> do
100+ msg <- maybe "connectPostgreSQL error" id <$> PQ.errorMessage conn
101+ throwIO $ SqlError { sqlNativeError = -1 -- FIXME?
102+ , sqlErrorMsg = msg
103+ , sqlState = "" }
96104
97105postgreSQLConnectionString :: ConnectInfo -> ByteString
98106postgreSQLConnectionString connectInfo = fromString connstr