module Database.HDBC.SqlValueExtra () where
import Data.Convertible (Convertible(safeConvert), ConvertResult)
import Data.Int (Int16, Int32)
import Database.HDBC (SqlValue)
safeConvertFromIntegral32 :: Integral a => a -> ConvertResult SqlValue
safeConvertFromIntegral32 i =
safeConvert (fromIntegral i :: Int32)
safeConvertToIntegral32 :: Integral a => SqlValue -> ConvertResult a
safeConvertToIntegral32 v =
fmap fromIntegral (safeConvert v :: ConvertResult Int32)
instance Convertible Int16 SqlValue where
safeConvert = safeConvertFromIntegral32
instance Convertible SqlValue Int16 where
safeConvert = safeConvertToIntegral32