2025-08-20 22:22:21 +02:00

26 lines
712 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 Int
| ErrorMoreThanOneRow Int
| ErrorConnectionClosed
deriving (Eq, Show)
instance Exception Error where