relational-query-HDBC 0.5.0.0 → 0.6.0.0
raw patch · 4 files changed
+17/−29 lines, 4 filesdep ~persistable-recordPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: persistable-record
API changes (from Hackage documentation)
- Database.HDBC.Record.Persistable: instance (Data.Convertible.Base.Convertible Database.HDBC.SqlValue.SqlValue a, Data.Convertible.Base.Convertible a Database.HDBC.SqlValue.SqlValue) => Database.Record.Persistable.PersistableValue Database.HDBC.SqlValue.SqlValue a
- Database.HDBC.Record.Persistable: persistableSqlValue :: (Convertible SqlValue a, Convertible a SqlValue) => PersistableSqlValue SqlValue a
- Database.HDBC.Record.TH: derivePersistableInstanceFromValue :: Q Type -> Q [Dec]
+ Database.HDBC.Record.TH: derivePersistableInstanceFromConvertible :: Q Type -> Q [Dec]
Files
- relational-query-HDBC.cabal +2/−2
- src/Database/HDBC/Record/InternalTH.hs +2/−2
- src/Database/HDBC/Record/Persistable.hs +3/−18
- src/Database/HDBC/Record/TH.hs +10/−7
relational-query-HDBC.cabal view
@@ -1,5 +1,5 @@ name: relational-query-HDBC-version: 0.5.0.0+version: 0.6.0.0 synopsis: HDBC instance of relational-query and typed query interface for HDBC description: This package contains the HDBC instance of relational-query and the typed query interface for HDBC.@@ -49,7 +49,7 @@ , dlist , names-th- , persistable-record >= 0.3+ , persistable-record >= 0.4 , relational-query >= 0.8 , relational-schemas , HDBC >=2
src/Database/HDBC/Record/InternalTH.hs view
@@ -31,7 +31,7 @@ import Database.Record.Instances () import Database.Relational.Query.TH (defineScalarDegree) -import Database.HDBC.Record.TH (derivePersistableInstanceFromValue)+import Database.HDBC.Record.TH (derivePersistableInstanceFromConvertible) -- | Wrapper type which represents type constructor.@@ -113,6 +113,6 @@ svs <- convertibleSqlValues ws <- mapInstanceD deriveNotNullType (toList $ Set.difference svs wds) let svl = toList svs- ps <- mapInstanceD derivePersistableInstanceFromValue svl+ ps <- mapInstanceD derivePersistableInstanceFromConvertible svl ss <- mapInstanceD defineScalarDegree svl return $ ws ++ ps ++ ss
src/Database/HDBC/Record/Persistable.hs view
@@ -2,7 +2,6 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE TemplateHaskell #-} -- |@@ -15,29 +14,15 @@ -- Portability : unknown -- -- This module provides HDBC instance definitions of DB-record.-module Database.HDBC.Record.Persistable (- persistableSqlValue- ) where+module Database.HDBC.Record.Persistable () where -import Database.Record (PersistableSqlValue, PersistableType (..), PersistableValue (..))+import Database.Record (PersistableType (..)) import Database.Record.Persistable (unsafePersistableSqlTypeFromNull)-import qualified Database.Record.Persistable as Record import Database.HDBC.Record.InternalTH (derivePersistableInstancesFromConvertibleSqlValues) -import Data.Convertible (Convertible)-import Database.HDBC (SqlValue(SqlNull), fromSql, toSql)+import Database.HDBC (SqlValue(SqlNull)) instance PersistableType SqlValue where persistableType = unsafePersistableSqlTypeFromNull SqlNull---- | Derived 'PersistableSqlValue' from 'Convertible'.-persistableSqlValue :: (Convertible SqlValue a, Convertible a SqlValue)- => PersistableSqlValue SqlValue a-persistableSqlValue = Record.persistableSqlValue persistableType fromSql toSql---- | Infered 'PersistableSqlValue' from 'Convertible'.-instance (Convertible SqlValue a, Convertible a SqlValue)- => PersistableValue SqlValue a where- persistableValue = persistableSqlValue $(derivePersistableInstancesFromConvertibleSqlValues)
src/Database/HDBC/Record/TH.hs view
@@ -12,22 +12,25 @@ -- -- This module provides DB-record templates depends on HDBC. module Database.HDBC.Record.TH (- derivePersistableInstanceFromValue,+ derivePersistableInstanceFromConvertible, ) where +import Data.Convertible (convert) import Language.Haskell.TH (Q, Dec, Type) import Database.HDBC (SqlValue) import Database.HDBC.SqlValueExtra ()-import Database.Record (FromSql(..), valueFromSql, ToSql(..), valueToSql)+import Database.Record (FromSql (..), ToSql(..))+import Database.Record.FromSql (valueRecordFromSql)+import Database.Record.ToSql (valueRecordToSql) -- | Template to declare HDBC instances of DB-record against single value type.-derivePersistableInstanceFromValue :: Q Type -- ^ Type to implement instances- -> Q [Dec] -- ^ Result declarations-derivePersistableInstanceFromValue typ =+derivePersistableInstanceFromConvertible :: Q Type -- ^ Type to implement instances+ -> Q [Dec] -- ^ Result declarations+derivePersistableInstanceFromConvertible typ = [d| instance FromSql SqlValue $(typ) where- recordFromSql = valueFromSql+ recordFromSql = valueRecordFromSql convert instance ToSql SqlValue $(typ) where- recordToSql = valueToSql+ recordToSql = valueRecordToSql convert |]