{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell #-}
module Database.HDBC.PostgreSQL.Persistable () where
import Data.Convertible (convert)
import Data.PostgreSQL.NetworkAddress (Inet, Cidr)
import Database.HDBC (SqlValue)
import Database.HDBC.Record.Persistable ()
import Database.Record.FromSql (FromSql (..), valueRecordFromSql)
import Database.Record.ToSql (ToSql (..), valueRecordToSql)
import Database.Record.TH (deriveNotNullType)
import Database.HDBC.PostgreSQL.Instances ()
$(deriveNotNullType [t| Inet |])
$(deriveNotNullType [t| Cidr |])
instance FromSql SqlValue Inet where
recordFromSql :: RecordFromSql SqlValue Inet
recordFromSql = (SqlValue -> Inet) -> RecordFromSql SqlValue Inet
forall q a. (q -> a) -> RecordFromSql q a
valueRecordFromSql SqlValue -> Inet
forall a b. Convertible a b => a -> b
convert
instance FromSql SqlValue Cidr where
recordFromSql :: RecordFromSql SqlValue Cidr
recordFromSql = (SqlValue -> Cidr) -> RecordFromSql SqlValue Cidr
forall q a. (q -> a) -> RecordFromSql q a
valueRecordFromSql SqlValue -> Cidr
forall a b. Convertible a b => a -> b
convert
instance ToSql SqlValue Inet where
recordToSql :: RecordToSql SqlValue Inet
recordToSql = (Inet -> SqlValue) -> RecordToSql SqlValue Inet
forall a q. (a -> q) -> RecordToSql q a
valueRecordToSql Inet -> SqlValue
forall a b. Convertible a b => a -> b
convert
instance ToSql SqlValue Cidr where
recordToSql :: RecordToSql SqlValue Cidr
recordToSql = (Cidr -> SqlValue) -> RecordToSql SqlValue Cidr
forall a q. (a -> q) -> RecordToSql q a
valueRecordToSql Cidr -> SqlValue
forall a b. Convertible a b => a -> b
convert