{-| Module : Database.SQLite.SimpleErrors.Types Description : Types Copyright : (c) Joseph Canero, 2016 License : BSD-3 Maintainer : jmc41493@gmail.com Stability : experimental Portability : POSIX -} {-# LANGUAGE DeriveDataTypeable #-} module Database.SQLite.SimpleErrors.Types where import Control.Exception import Data.Text (Text) import Data.Typeable import Database.SQLite.Simple (FormatError, ResultError, SQLError) -- | Constraint represents the kind of constraint violation returned by SQLite. data Constraint = NotNull | ForeignKey | Unique | Check deriving (Show, Eq) -- | SQLiteResponse is a wrapper around the different kinds of errors that can -- be returned frm sqlite-simple. If there is a constraint error, then we will -- construnct a SQLConstraintError instance. data SQLiteResponse = SQLConstraintError Constraint Text | SQLFormatError FormatError | SQLResultError ResultError | SQLOtherError SQLError deriving (Show, Eq, Typeable) instance Exception SQLiteResponse