module Database.PostgreSQL.Opium.Error (Error (..), ErrorPosition (..)) where import Control.Exception (Exception) import Data.ByteString (ByteString) import Data.Text (Text) import Database.PostgreSQL.LibPQ (ExecStatus, Oid, Row) data ErrorPosition = ErrorPosition { errorPositionRow :: Row , errorPositionColumn :: Text } deriving (Eq, Show) data Error = ErrorNoResult | ErrorInvalidResult ExecStatus Text | ErrorMissingColumn Text | ErrorInvalidOid Text Oid | ErrorUnexpectedNull ErrorPosition | ErrorInvalidField ErrorPosition Oid ByteString String | ErrorNotExactlyOneRow | ErrorMoreThanOneRow deriving (Eq, Show) instance Exception Error where