25 lines
678 B
Haskell
25 lines
678 B
Haskell
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
|