packages feed

persistable-record 0.1.0.1 → 0.2.0.0

raw patch · 2 files changed

+22/−16 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Database.Record.FromSql: instance (FromSql q a, FromSql q b) => FromSql q (a, b)
- Database.Record.FromSql: instance (HasColumnConstraint NotNull a, FromSql q a, PersistableType q) => FromSql q (Maybe a)
- Database.Record.FromSql: instance Applicative (RecordFromSql q)
- Database.Record.FromSql: instance FromSql q ()
- Database.Record.FromSql: instance Functor (RecordFromSql q)
- Database.Record.FromSql: instance Monad (RecordFromSql q)
- Database.Record.Instances: instance HasColumnConstraint NotNull Bool
- Database.Record.Instances: instance HasColumnConstraint NotNull Char
- Database.Record.Instances: instance HasColumnConstraint NotNull Int16
- Database.Record.Instances: instance HasColumnConstraint NotNull Int32
- Database.Record.Instances: instance HasColumnConstraint NotNull Int64
- Database.Record.Instances: instance HasColumnConstraint NotNull Int8
- Database.Record.Instances: instance HasColumnConstraint NotNull String
- Database.Record.Instances: instance PersistableWidth Bool
- Database.Record.Instances: instance PersistableWidth Char
- Database.Record.Instances: instance PersistableWidth Int16
- Database.Record.Instances: instance PersistableWidth Int32
- Database.Record.Instances: instance PersistableWidth Int64
- Database.Record.Instances: instance PersistableWidth Int8
- Database.Record.Instances: instance PersistableWidth String
- Database.Record.KeyConstraint: instance HasColumnConstraint NotNull a => HasColumnConstraint NotNull (a, b)
- Database.Record.Persistable: instance (PersistableWidth a, PersistableWidth b) => PersistableWidth (a, b)
- Database.Record.Persistable: instance PersistableWidth ()
- Database.Record.Persistable: instance PersistableWidth a => PersistableWidth (Maybe a)
- Database.Record.ToSql: instance (PersistableType q, PersistableWidth a, ToSql q a) => ToSql q (Maybe a)
- Database.Record.ToSql: instance (ToSql q a, ToSql q b) => ToSql q (a, b)
- Database.Record.ToSql: instance ToSql q ()
+ Database.Record.FromSql: instance (Database.Record.FromSql.FromSql q a, Database.Record.FromSql.FromSql q b) => Database.Record.FromSql.FromSql q (a, b)
+ Database.Record.FromSql: instance (Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull a, Database.Record.FromSql.FromSql q a, Database.Record.Persistable.PersistableType q) => Database.Record.FromSql.FromSql q (GHC.Base.Maybe a)
+ Database.Record.FromSql: instance Database.Record.FromSql.FromSql q ()
+ Database.Record.FromSql: instance GHC.Base.Applicative (Database.Record.FromSql.RecordFromSql q)
+ Database.Record.FromSql: instance GHC.Base.Functor (Database.Record.FromSql.RecordFromSql q)
+ Database.Record.FromSql: instance GHC.Base.Monad (Database.Record.FromSql.RecordFromSql q)
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Base.String
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Int.Int16
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Int.Int32
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Int.Int64
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Int.Int8
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Types.Bool
+ Database.Record.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Types.Char
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Base.String
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Int.Int16
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Int.Int32
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Int.Int64
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Int.Int8
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Types.Bool
+ Database.Record.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Types.Char
+ Database.Record.KeyConstraint: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull a => Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull (a, b)
+ Database.Record.Persistable: instance (Database.Record.Persistable.PersistableWidth a, Database.Record.Persistable.PersistableWidth b) => Database.Record.Persistable.PersistableWidth (a, b)
+ Database.Record.Persistable: instance Database.Record.Persistable.PersistableWidth ()
+ Database.Record.Persistable: instance Database.Record.Persistable.PersistableWidth a => Database.Record.Persistable.PersistableWidth (GHC.Base.Maybe a)
+ Database.Record.ToSql: instance (Database.Record.Persistable.PersistableType q, Database.Record.Persistable.PersistableWidth a, Database.Record.ToSql.ToSql q a) => Database.Record.ToSql.ToSql q (GHC.Base.Maybe a)
+ Database.Record.ToSql: instance (Database.Record.ToSql.ToSql q a, Database.Record.ToSql.ToSql q b) => Database.Record.ToSql.ToSql q (a, b)
+ Database.Record.ToSql: instance Database.Record.ToSql.ToSql q ()
- Database.Record.TH: defineRecord :: TypeQ -> (VarName, VarName) -> ConName -> [(VarName, TypeQ)] -> [ConName] -> Q [Dec]
+ Database.Record.TH: defineRecord :: TypeQ -> (VarName, VarName) -> ConName -> [(VarName, TypeQ)] -> [Name] -> Q [Dec]
- Database.Record.TH: defineRecordDefault :: TypeQ -> String -> [(String, TypeQ)] -> [ConName] -> Q [Dec]
+ Database.Record.TH: defineRecordDefault :: TypeQ -> String -> [(String, TypeQ)] -> [Name] -> Q [Dec]
- Database.Record.TH: defineRecordType :: ConName -> [(VarName, TypeQ)] -> [ConName] -> Q [Dec]
+ Database.Record.TH: defineRecordType :: ConName -> [(VarName, TypeQ)] -> [Name] -> Q [Dec]
- Database.Record.TH: defineRecordTypeDefault :: String -> [(String, TypeQ)] -> [ConName] -> Q [Dec]
+ Database.Record.TH: defineRecordTypeDefault :: String -> [(String, TypeQ)] -> [Name] -> Q [Dec]
- Database.Record.TH: derivingData :: ConName
+ Database.Record.TH: derivingData :: Name
- Database.Record.TH: derivingEq :: ConName
+ Database.Record.TH: derivingEq :: Name
- Database.Record.TH: derivingRead :: ConName
+ Database.Record.TH: derivingRead :: Name
- Database.Record.TH: derivingShow :: ConName
+ Database.Record.TH: derivingShow :: Name
- Database.Record.TH: derivingTypeable :: ConName
+ Database.Record.TH: derivingTypeable :: Name

Files

persistable-record.cabal view
@@ -1,5 +1,5 @@ name:                persistable-record-version:             0.1.0.1+version:             0.2.0.0 synopsis:            Binding between SQL database values and haskell records. description:         This package contiains types to represent table constraints and                      interfaces to bind between SQL database values and Haskell records.
src/Database/Record/TH.hs view
@@ -66,6 +66,7 @@ import Control.Applicative (pure, (<*>)) import Data.List (foldl') import Data.Array (Array, listArray, (!))+import Data.Data (Data, Typeable) import Language.Haskell.TH.Name.CamelCase   (ConName(conName), VarName(varName),    conCamelcaseName, varCamelcaseName, varNameWithPrefix,@@ -163,25 +164,30 @@ defineHasNotNullKeyInstanceDefault =   defineHasNotNullKeyInstance . recordTypeDefault +{-# DEPRECATED derivingEq "Use TH quasi-quotation like ''Eq instead of this." #-} -- | Name to specify deriving 'Eq'-derivingEq :: ConName-derivingEq   = conCamelcaseName "Eq"+derivingEq   :: Name+derivingEq   = ''Eq +{-# DEPRECATED derivingShow "Use TH quasi-quotation like ''Show instead of this." #-} -- | Name to specify deriving 'Show'-derivingShow :: ConName-derivingShow = conCamelcaseName "Show"+derivingShow :: Name+derivingShow = ''Show +{-# DEPRECATED derivingRead "Use TH quasi-quotation like ''Read instead of this." #-} -- | Name to specify deriving 'Read'-derivingRead :: ConName-derivingRead = conCamelcaseName "Read"+derivingRead :: Name+derivingRead = ''Read +{-# DEPRECATED derivingData "Use TH quasi-quotation like ''Data instead of this." #-} -- | Name to specify deriving 'Data'-derivingData :: ConName-derivingData = conCamelcaseName "Data"+derivingData :: Name+derivingData = ''Data +{-# DEPRECATED derivingTypeable "Use TH quasi-quotation like ''Typeable instead of this." #-} -- | Name to specify deriving 'Typeable'-derivingTypeable :: ConName-derivingTypeable = conCamelcaseName "Typeable"+derivingTypeable :: Name+derivingTypeable = ''Typeable  -- | Record type width expression template. recordWidthTemplate :: TypeQ -- ^ Record type constructor.@@ -209,12 +215,12 @@ -- | Record type declaration template. defineRecordType :: ConName            -- ^ Name of the data type of table record type.                  -> [(VarName, TypeQ)] -- ^ List of columns in the table. Must be legal, properly cased record columns.-                 -> [ConName]          -- ^ Deriving type class names.+                 -> [Name]             -- ^ Deriving type class names.                  -> Q [Dec]            -- ^ The data type record declaration. defineRecordType typeName' columns derives = do   let typeName = conName typeName'       fld (n, tq) = varStrictType (varName n) (strictType isStrict tq)-  rec  <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] (map conName derives)+  rec  <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives   offs <- defineColumnOffsets typeName' [ty | (_, ty) <- columns]   return $ rec : offs @@ -224,7 +230,7 @@  -- | Record type declaration template from SQL table name 'String' --   and column name 'String' - type pairs, derivings.-defineRecordTypeDefault :: String -> [(String, TypeQ)] -> [ConName] -> Q [Dec]+defineRecordTypeDefault :: String -> [(String, TypeQ)] -> [Name] -> Q [Dec] defineRecordTypeDefault table columns =   defineRecordType   (recordTypeNameDefault table)@@ -368,7 +374,7 @@              -> (VarName, VarName) -- ^ Constructor function name and decompose function name              -> ConName            -- ^ Record type name              -> [(VarName, TypeQ)] -- ^ Column schema-             -> [ConName]          -- ^ Record derivings+             -> [Name]             -- ^ Record derivings              -> Q [Dec]            -- ^ Result declarations defineRecord   sqlValueType@@ -383,7 +389,7 @@ defineRecordDefault :: TypeQ             -- ^ SQL value type                     -> String            -- ^ Table name                     -> [(String, TypeQ)] -- ^ Column names and types-                    -> [ConName]         -- ^ Record derivings+                    -> [Name]            -- ^ Record derivings                     -> Q [Dec]           -- ^ Result declarations defineRecordDefault sqlValueType table columns derives = do   typ     <- defineRecordTypeDefault table columns derives