{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Database.MySQL.Simple.Types ( Null(..) , Only(..) , Query(..) ) where import Control.Arrow import Control.DeepSeq (NFData) import Blaze.ByteString.Builder import Data.String (IsString(..)) import qualified Blaze.ByteString.Builder.Char.Utf8 as Utf8 import Data.ByteString (ByteString) data Null = Null newtype Query = Query { fromQuery :: ByteString } deriving (Eq, Ord) instance Show Query where show = show . fromQuery instance Read Query where readsPrec i = fmap (first Query) . readsPrec i instance IsString Query where fromString = Query . toByteString . Utf8.fromString newtype Only a = Only a deriving (Eq, Ord, Read, Show, NFData)