diff --git a/hasql.cabal b/hasql.cabal
--- a/hasql.cabal
+++ b/hasql.cabal
@@ -1,5 +1,5 @@
 name: hasql
-version: 1.5.0.5
+version: 1.5.1
 category: Hasql, Database, PostgreSQL
 synopsis: An efficient PostgreSQL driver with a flexible mapping API
 description:
diff --git a/library/Hasql/Private/Decoders/Result.hs b/library/Hasql/Private/Decoders/Result.hs
--- a/library/Hasql/Private/Decoders/Result.hs
+++ b/library/Hasql/Private/Decoders/Result.hs
@@ -63,6 +63,7 @@
         LibPQ.BadResponse -> serverError
         LibPQ.NonfatalError -> serverError
         LibPQ.FatalError -> serverError
+        LibPQ.EmptyQuery -> return ()
         _ -> Result $ lift $ ExceptT $ pure $ Left $ UnexpectedResult $ "Unexpected result status: " <> (fromString $ show status)
 
 {-# INLINE serverError #-}
diff --git a/library/Hasql/Private/Errors.hs b/library/Hasql/Private/Errors.hs
--- a/library/Hasql/Private/Errors.hs
+++ b/library/Hasql/Private/Errors.hs
@@ -37,29 +37,23 @@
 -- |
 -- An error with a command result.
 data ResultError
-  = -- |
-    -- An error reported by the DB.
-    -- Consists of the following: Code, message, details, hint.
-    --
-    -- * __Code__.
-    -- The SQLSTATE code for the error.
-    -- It's recommended to use
-    -- <http://hackage.haskell.org/package/postgresql-error-codes the "postgresql-error-codes" package>
-    -- to work with those.
-    --
-    -- * __Message__.
-    -- The primary human-readable error message (typically one line). Always present.
-    --
-    -- * __Details__.
-    -- An optional secondary error message carrying more detail about the problem.
-    -- Might run to multiple lines.
-    --
-    -- * __Hint__.
-    -- An optional suggestion on what to do about the problem.
-    -- This is intended to differ from detail in that it offers advice (potentially inappropriate)
-    -- rather than hard facts.
-    -- Might run to multiple lines.
-    ServerError ByteString ByteString (Maybe ByteString) (Maybe ByteString)
+  = -- | An error reported by the DB.
+    ServerError
+      ByteString
+      -- ^ __Code__. The SQLSTATE code for the error. It's recommended to use
+      -- <http://hackage.haskell.org/package/postgresql-error-codes
+      -- the "postgresql-error-codes" package> to work with those.
+      ByteString
+      -- ^ __Message__. The primary human-readable error message(typically one
+      -- line). Always present.
+      (Maybe ByteString)
+      -- ^ __Details__. An optional secondary error message carrying more
+      -- detail about the problem. Might run to multiple lines.
+      (Maybe ByteString)
+      -- ^ __Hint__. An optional suggestion on what to do about the problem.
+      -- This is intended to differ from detail in that it offers advice
+      -- (potentially inappropriate) rather than hard facts. Might run to
+      -- multiple lines.
   | -- |
     -- The database returned an unexpected result.
     -- Indicates an improper statement or a schema mismatch.
