packages feed

relational-query-HDBC 0.6.0.3 → 0.6.1.0

raw patch · 9 files changed

+100/−45 lines, 9 filesdep ~persistable-recorddep ~relational-queryPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: persistable-record, relational-query

API changes (from Hackage documentation)

+ Database.HDBC.Query.TH: makeRelationalRecord :: Name -> Q [Dec]

Files

+ ChangeLog.md view
@@ -0,0 +1,37 @@+<!-- -*- Markdown -*- -->++## 0.6.1.0++- Apply generic instances.++## 0.6.0.2++- Add tested-with.++## 0.6.0.1++- Update compatibility for GHC 8.+- Drop old tests of Oracle.++## 0.6.0.0++- Use updated template of persistable-record.+- Drop persistableSqlValue.++## 0.5.0.0++- Use updated template of relational-query.+- Drop old examples of Oracle.++## 0.4.0.0++- TH quotation of derive class names.++## 0.3.0.0++- Hide chunksInsertActions.+- Add withPrepareDelete.++## 0.2.0.0++- Add logging interface for schema driver.
relational-query-HDBC.cabal view
@@ -1,5 +1,5 @@ name:                relational-query-HDBC-version:             0.6.0.3+version:             0.6.1.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.@@ -20,6 +20,7 @@                      , GHC == 7.8.1, GHC == 7.8.2, GHC == 7.8.3, GHC == 7.8.4                      , GHC == 7.6.1, GHC == 7.6.2, GHC == 7.6.3                      , GHC == 7.4.1, GHC == 7.4.2+extra-source-files:  ChangeLog.md  library   exposed-modules:@@ -55,8 +56,8 @@                        , th-data-compat                         , names-th-                       , persistable-record >= 0.4 && < 0.5-                       , relational-query >= 0.8+                       , persistable-record >= 0.5+                       , relational-query >= 0.9                        , relational-schemas                        , HDBC >=2                        , HDBC-session
src/Database/HDBC/Query/TH.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Database.HDBC.Query.TH--- Copyright   : 2013 Kei Hibino+-- Copyright   : 2013-2017 Kei Hibino -- License     : BSD3 -- -- Maintainer  : ex8k.hibino@gmail.com@@ -15,6 +15,7 @@ -- This module contains templates to generate Haskell record types -- and HDBC instances correspond to RDB table schema. module Database.HDBC.Query.TH (+  makeRelationalRecord,   makeRecordPersistableDefault,    defineTableDefault',@@ -37,9 +38,11 @@ import Language.Haskell.TH.Name.CamelCase (varCamelcaseName) import Language.Haskell.TH.Lib.Extra (reportWarning, reportError) -import Database.Record.TH (makeRecordPersistableWithSqlTypeDefault)-import qualified Database.Record.TH as Record-import Database.Relational.Query (Relation, Config, verboseAsCompilerWarning, defaultConfig, relationalQuerySQL)+import Database.Record (ToSql, FromSql)+import Database.Record.TH (recordTemplate, reifyRecordType)+import Database.Relational.Query+  (Config, nameConfig, recordConfig, verboseAsCompilerWarning, defaultConfig,+   Relation, relationalQuerySQL) import Database.Relational.Query.SQL (QuerySuffix) import qualified Database.Relational.Query.TH as Relational @@ -50,18 +53,29 @@   (runLog, newLogChan, takeLogs, Driver, getFields, getPrimaryKey)  +defineInstancesForSqlValue :: TypeQ   -- ^ Record type constructor.+                          -> Q [Dec] -- ^ Instance declarations.+defineInstancesForSqlValue typeCon = do+  [d| instance FromSql SqlValue $typeCon+      instance ToSql SqlValue $typeCon+    |]+ -- | Generate all persistable templates against defined record like type constructor.-makeRecordPersistableDefault :: Name    -- ^ Type constructor name-                             -> Q [Dec] -- ^ Result declaration-makeRecordPersistableDefault recTypeName = do+makeRelationalRecord :: Name    -- ^ Type constructor name+                     -> Q [Dec] -- ^ Result declaration+makeRelationalRecord recTypeName = do   rr <- Relational.makeRelationalRecordDefault recTypeName-  (pair, (_mayNs, cts)) <- Record.reifyRecordType recTypeName-  let width = length cts-  ps <- Record.makeRecordPersistableWithSqlType [t| SqlValue |]-        (Record.persistableFunctionNamesDefault recTypeName) pair width+  ((typeCon, _), _) <- reifyRecordType recTypeName+  ps <- defineInstancesForSqlValue typeCon   return $ rr ++ ps --- | Generate all HDBC templates about table except for constraint keys using default naming rule.+{-# DEPRECATED makeRecordPersistableDefault "Use makeRelationalRecord instead of this." #-}+-- | Deprecated. use 'makeRelationalRecord'.+makeRecordPersistableDefault :: Name    -- ^ Type constructor name+                             -> Q [Dec] -- ^ Result declaration+makeRecordPersistableDefault = makeRelationalRecord++-- | Generate all HDBC templates about table except for constraint keys. defineTableDefault' :: Config            -- ^ Configuration to generate query with                     -> String            -- ^ Schema name                     -> String            -- ^ Table name@@ -70,10 +84,10 @@                     -> Q [Dec]           -- ^ Result declaration defineTableDefault' config schema table columns derives = do   modelD <- Relational.defineTableTypesAndRecord config schema table columns derives-  sqlvD  <- makeRecordPersistableWithSqlTypeDefault [t| SqlValue |] schema table $ length columns+  sqlvD <- defineInstancesForSqlValue . fst $ recordTemplate (recordConfig $ nameConfig config) schema table   return $ modelD ++ sqlvD --- | Generate all HDBC templates about table using default naming rule.+-- | Generate all HDBC templates about table. defineTableDefault :: Config            -- ^ Configuration to generate query with                    -> String            -- ^ Schema name                    -> String            -- ^ Table name@@ -84,7 +98,7 @@                    -> Q [Dec]           -- ^ Result declaration defineTableDefault config schema table columns derives primary notNull = do   modelD <- Relational.defineTable config schema table columns derives primary notNull-  sqlvD  <- makeRecordPersistableWithSqlTypeDefault [t| SqlValue |] schema table $ length columns+  sqlvD <- defineInstancesForSqlValue . fst $ recordTemplate (recordConfig $ nameConfig config) schema table   return $ modelD ++ sqlvD  -- | Generate all HDBC templates using system catalog informations with specified config.
src/Database/HDBC/Schema/IBMDB2.hs view
@@ -34,7 +34,7 @@ import Database.HDBC.Record.Query (runQuery') import Database.HDBC.Record.Persistable () -import Database.Record.TH (makeRecordPersistableWithSqlTypeDefaultFromDefined)+import Database.Record (FromSql, ToSql)  import Database.Relational.Schema.IBMDB2   (normalizeColumn, notNull, getType, columnsQuerySQL, primaryKeyQuerySQL)@@ -46,9 +46,8 @@    Driver, getFieldsWithMap, getPrimaryKey, emptyDriver)  --- Specify type constructor and data constructor from same table name.-$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''Columns)+instance FromSql SqlValue Columns+instance ToSql SqlValue Columns  logPrefix :: String -> String logPrefix =  ("IBMDB2: " ++)
src/Database/HDBC/Schema/MySQL.hs view
@@ -26,6 +26,7 @@ import           Data.Map                           (fromList)  import           Database.HDBC                      (IConnection, SqlValue)+import           Database.Record                    (FromSql, ToSql) import           Database.HDBC.Record.Query         (runQuery') import           Database.HDBC.Record.Persistable   () import           Database.HDBC.Schema.Driver        ( TypeMap@@ -39,7 +40,6 @@                                                     , getPrimaryKey                                                     , emptyDriver                                                     )-import           Database.Record.TH                 (makeRecordPersistableWithSqlTypeDefaultFromDefined) import           Database.Relational.Schema.MySQL   ( normalizeColumn                                                     , notNull                                                     , getType@@ -50,7 +50,9 @@ import           Database.Relational.Schema.MySQLInfo.Columns (Columns) import qualified Database.Relational.Schema.MySQLInfo.Columns as Columns -$(makeRecordPersistableWithSqlTypeDefaultFromDefined [t| SqlValue |] ''Columns)++instance FromSql SqlValue Columns+instance ToSql SqlValue Columns  logPrefix :: String -> String logPrefix = ("MySQL: " ++)
src/Database/HDBC/Schema/Oracle.hs view
@@ -23,9 +23,10 @@ import Language.Haskell.TH (TypeQ)  import Database.HDBC (IConnection, SqlValue)+import Database.Record (FromSql, ToSql)+ import Database.HDBC.Record.Query (runQuery') import Database.HDBC.Record.Persistable ()-import Database.Record.TH (makeRecordPersistableWithSqlTypeDefaultFromDefined) import Database.HDBC.Schema.Driver     ( TypeMap, LogChan, putVerbose, failWith, maybeIO, hoistMaybe,       Driver, getFieldsWithMap, getPrimaryKey, emptyDriver@@ -38,9 +39,9 @@ import Database.Relational.Schema.OracleDataDictionary.TabColumns (DbaTabColumns) import qualified Database.Relational.Schema.OracleDataDictionary.TabColumns as Cols -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-    [t|SqlValue|]-    ''DbaTabColumns)++instance FromSql SqlValue DbaTabColumns+instance ToSql SqlValue DbaTabColumns  logPrefix :: String -> String logPrefix = ("Oracle: " ++)
src/Database/HDBC/Schema/PostgreSQL.hs view
@@ -31,7 +31,7 @@ import Database.HDBC.Record.Query (runQuery') import Database.HDBC.Record.Persistable () -import Database.Record.TH (makeRecordPersistableWithSqlTypeDefaultFromDefined)+import Database.Record (FromSql, ToSql)  import Database.Relational.Schema.PostgreSQL   (normalizeColumn, notNull, getType, columnQuerySQL,@@ -45,11 +45,11 @@    Driver, getFieldsWithMap, getPrimaryKey, emptyDriver)  -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''PgAttribute)+instance FromSql SqlValue PgAttribute+instance ToSql SqlValue PgAttribute -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''PgType)+instance FromSql SqlValue PgType+instance ToSql SqlValue PgType  logPrefix :: String -> String logPrefix =  ("PostgreSQL: " ++)
src/Database/HDBC/Schema/SQLServer.hs view
@@ -29,7 +29,7 @@ import Database.HDBC.Schema.Driver   (TypeMap, LogChan, putVerbose, failWith, maybeIO,    Driver, hoistMaybe, getFieldsWithMap, getPrimaryKey, emptyDriver)-import Database.Record.TH (makeRecordPersistableWithSqlTypeDefaultFromDefined)+import Database.Record (FromSql, ToSql) import Database.Relational.Schema.SQLServer (columnTypeQuerySQL, getType, normalizeColumn,                                             notNull, primaryKeyQuerySQL) import Database.Relational.Schema.SQLServerSyscat.Columns (Columns)@@ -37,11 +37,11 @@ import Language.Haskell.TH (TypeQ)  -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''Columns)+instance FromSql SqlValue Columns+instance ToSql SqlValue Columns -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''Types)+instance FromSql SqlValue Types+instance ToSql SqlValue Types  logPrefix :: String -> String logPrefix = ("SQLServer: " ++)
src/Database/HDBC/Schema/SQLite3.hs view
@@ -30,7 +30,7 @@ import Database.HDBC.Schema.Driver   (TypeMap, LogChan, putVerbose, failWith, maybeIO,    Driver, hoistMaybe, getFieldsWithMap, getPrimaryKey, emptyDriver)-import Database.Record.TH (makeRecordPersistableWithSqlTypeDefaultFromDefined)+import Database.Record (FromSql, ToSql) import Database.Relational.Schema.SQLite3 (getType, indexInfoQuerySQL, indexListQuerySQL, normalizeColumn,                                            normalizeType, notNull, tableInfoQuerySQL) import Database.Relational.Schema.SQLite3Syscat.IndexInfo (IndexInfo)@@ -38,14 +38,15 @@ import Database.Relational.Schema.SQLite3Syscat.TableInfo (TableInfo) import Language.Haskell.TH (TypeQ) -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''TableInfo) -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''IndexList)+instance FromSql SqlValue TableInfo+instance ToSql SqlValue TableInfo -$(makeRecordPersistableWithSqlTypeDefaultFromDefined-  [t| SqlValue |] ''IndexInfo)+instance FromSql SqlValue IndexList+instance ToSql SqlValue IndexList++instance FromSql SqlValue IndexInfo+instance ToSql SqlValue IndexInfo  logPrefix :: String -> String logPrefix = ("SQLite3: " ++)