packages feed

persistent-relational-record 0.1.1.0 → 0.1.2.0

raw patch · 15 files changed

+74/−87 lines, 15 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Database.Persist.Relational.Instances: instance Database.Record.KeyConstraint.HasColumnConstraint Database.Record.KeyConstraint.NotNull GHC.Types.Int
- Database.Persist.Relational.Instances: instance Database.Record.Persistable.PersistableWidth GHC.Types.Int

Files

.travis.yml view
@@ -8,33 +8,23 @@         apt:           sources: [ hvr-ghc ]           packages: [ ghc-7.8.4 ]-    - env: GHCVER=7.10.3 STACK_LTS=lts-5 STACK_TEMPLATE=stack-lts-5.yaml-      addons:-        apt:-          sources: [ hvr-ghc ]-          packages: [ ghc-7.10.3 ]     - env: GHCVER=7.10.3 STACK_LTS=lts-6 STACK_TEMPLATE=stack-lts-6.yaml       addons:         apt:           sources: [ hvr-ghc ]           packages: [ ghc-7.10.3 ]-    - env: GHCVER=8.0.1 STACK_LTS=lts-7 STACK_TEMPLATE=stack-lts-7.yaml-      addons:-        apt:-          sources: [ hvr-ghc ]-          packages: [ ghc-8.0.1 ]-    - env: GHCVER=8.0.2 STACK_LTS=lts-8 STACK_TEMPLATE=stack-lts-8.yaml+    - env: GHCVER=8.0.2 STACK_LTS=lts-9 STACK_TEMPLATE=stack-lts-9.yaml       addons:         apt:           sources: [ hvr-ghc ]           packages: [ ghc-8.0.2 ]-    - env: GHCVER=8.0.2 STACK_LTS=lts-8 STACK_TEMPLATE=stack-lts-8-hrrhead.yaml+    - env: GHCVER=8.0.2 STACK_LTS=lts-9 STACK_TEMPLATE=stack-lts-9-hrrhead.yaml       addons:         apt:           sources: [ hvr-ghc ]           packages: [ ghc-8.0.2 ]   allow_failures:-    - env: GHCVER=8.0.2 STACK_LTS=lts-8 STACK_TEMPLATE=stack-lts-8-hrrhead.yaml+    - env: GHCVER=8.0.2 STACK_LTS=lts-9 STACK_TEMPLATE=stack-lts-9-hrrhead.yaml  before_install:   # Download and unpack the stack executable@@ -59,3 +49,7 @@ cache:   directories:     - ~/.stack++notifications:+  slack:+    secure: "Ijre6+6b3uf6M8goKFvUg71KtgwYdGCgXeOdpnQDjS5Q30od9XxlVupNk/zIEMgp8OckZSuY8dR4oxP3yGJ1gO289lNhJ5eMvfph9tsVtuYuyoLFo6iDLsl6QRwW5C88ZOrzuqjIEAKFhbt16dOkBOVhMJ3uXTYUbF/RXQtbKmNO1rPaD6seBHdzz+TUfDKG7AUx4OWgBz0dagFWK/kp5hyQjXz+0v6NYhPiHf6ZgS2v8hqUqZ2cQy1jPnWkQDYxwXC+naDytFHIyxrTbpyiU/ZRb9juGZY5Xcvd5HZK09osU27zsg6HvnejFpNsFegQ3maNVKX43oJsjLNUodau4Hd1xbwD03oz8SbKjuLlaKLibF1PcWSQFZPpy4RrXuHYMPn4MjgAzmDgl4FxAUyn2rYpqjBuiWqBTH5QplXuyCU12mTNVguWgY64d48GGyN7nprOxY0ViZIxYuBcGnljVXRJll2mDaDgRQatTpELeN4ITiw//wtCtFlz2VuVHGne3LZdQiSmjFCWQ6M2P1zF9b3fMBNmOC05FOVkH54BnKk6te2muFTN2FrOc6fQCyxlR4lxAI3nOulfLcrkQ7m0q6q43JAIkoivIMDfuECX5olq/RorL/zqBSizBbIpPSlGfz7FgnHAhYTsPaoEHr42OYN3W42mGNEiHiaJg+XGt8o="
− .travis/stack-lts-5.yaml
@@ -1,12 +0,0 @@-resolver: __RESOLVER__-packages:-- '.'-extra-deps:-- names-th-0.2.0.2-- persistable-record-0.5.0.1-- relational-query-0.9.1.0-- sql-words-0.1.4.1-- th-data-compat-0.0.2.2-- th-reify-compat-0.0.1.1-flags: {}-extra-package-dbs: []
− .travis/stack-lts-7.yaml
@@ -1,11 +0,0 @@-resolver: __RESOLVER__-packages:-- '.'-extra-deps:-- persistent-mysql-2.6-- mysql-simple-0.4.0.0-- mysql-0.1.3-flags:-  persistent-relational-record:-    test-examples: True-extra-package-dbs: []
− .travis/stack-lts-8-hrrhead.yaml
@@ -1,16 +0,0 @@-resolver: __RESOLVER__-packages:-- '.'-- location:-    git: https://github.com/khibino/haskell-relational-record.git-    commit: master-  subdirs:-    - names-th-    - persistable-record-    - relational-query-    - sql-words-extra-deps: []-flags:-  persistent-relational-record:-    test-examples: True-extra-package-dbs: []
− .travis/stack-lts-8.yaml
@@ -1,16 +0,0 @@-resolver: __RESOLVER__-packages:-- '.'-- location:-    git: https://github.com/khibino/haskell-relational-record.git-    commit: master-  subdirs:-    - names-th-    - persistable-record-    - relational-query-    - sql-words-extra-deps: []-flags:-  persistent-relational-record:-    test-examples: True-extra-package-dbs: []
+ .travis/stack-lts-9-hrrhead.yaml view
@@ -0,0 +1,21 @@+resolver: __RESOLVER__+packages:+- '.'+- location:+    git: https://github.com/khibino/haskell-relational-record.git+    commit: master+  subdirs:+    - names-th+    - persistable-record+    - relational-query+    - sql-words+  extra-dep: true+- location:+    git: https://github.com/khibino/haskell-product-isomorphic.git+    commit: master+  extra-dep: true+extra-deps: []+flags:+  persistent-relational-record:+    test-examples: True+extra-package-dbs: []
+ .travis/stack-lts-9.yaml view
@@ -0,0 +1,8 @@+resolver: __RESOLVER__+packages:+- '.'+extra-deps: []+flags:+  persistent-relational-record:+    test-examples: True+extra-package-dbs: []
ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.1.2.0++- Support relational-query >= 0.10.0+ ## 0.1.1.0  - Support persistable-record >= 0.5.0
examples/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TemplateHaskell #-} @@ -8,8 +9,13 @@ import Database.Persist.Relational import Database.Persist.Sql import Database.Record.TH (deriveNotNullType, deriveNotNullType)+#if MIN_VERSION_relational_query(0, 10, 0)+import Database.Relational+import Database.Relational.TH (defineScalarDegree, defineScalarDegree)+#else import Database.Relational.Query import Database.Relational.Query.TH (defineScalarDegree, defineScalarDegree)+#endif  data ImageType = JPEG | PNG | BMP | GIF                deriving (Show, Eq, Enum)
examples/main.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} @@ -13,7 +14,11 @@ import Database.Persist import Database.Persist.MySQL import Database.Persist.Relational+#if MIN_VERSION_relational_query(0, 10, 0)+import Database.Relational as HRR hiding (fromMaybe, ($$))+#else import Database.Relational.Query as HRR hiding (fromMaybe)+#endif import System.Environment  import qualified Image
persistent-relational-record.cabal view
@@ -1,5 +1,5 @@ name:                persistent-relational-record-version:             0.1.1.0+version:             0.1.2.0 synopsis:            relational-record on persisten backends. homepage:            http://github.com/himura/persistent-relational-record license:             BSD3
src/Database/Persist/Relational.hs view
@@ -1,6 +1,5 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies #-}  -- |@@ -38,7 +37,8 @@ import Database.Persist.Relational.ToPersistEntity import Database.Persist.Sql (SqlBackend) import qualified Database.Persist.Sql as PersistSql-import Database.Record (ToSql, recordToSql, runFromRecord, runToRecord)+import Database.Record.ToSql (ToSql, recordToSql, runFromRecord)+import Database.Record.FromSql (runToRecord) import Database.Relational.Query  -- | Execute a HRR 'Query' and return the stream of its results.
src/Database/Persist/Relational/TH.hs view
@@ -30,8 +30,14 @@ #endif                           ) import Database.Record.ToSql-import Database.Relational.Query hiding ((!))+#if MIN_VERSION_relational_query(0, 10, 0)+import Database.Relational+import Database.Relational.TH (defineTable, defineScalarDegree)+#else+import Database.Relational.Query import Database.Relational.Query.TH (defineTable, defineScalarDegree)+#endif+import GHC.Generics import Language.Haskell.TH  ftToType :: FieldType -> TypeQ@@ -63,12 +69,15 @@         (t:_) -> do             let columns = makeColumns t                 tableName = T.unpack . unDBName . entityDB $ t+                -- (mkName Generic) != ''Generic == GHC.Generics.Generic+                deriveNames = filter (/= "Generic") . entityDerives $ t+                derives = ''Generic : map (mkName . T.unpack) deriveNames             tblD <- defineTable                         config                         schema                         tableName                         columns-                        (map (mkName . T.unpack) . entityDerives $ t)+                        derives                         [0]                         (Just 0)             entI <- makeToPersistEntityInstance config schema tableName persistentRecordName columns
stack.yaml view
@@ -1,10 +1,7 @@-resolver: lts-7.5+resolver: lts-9.14 packages: - '.'-extra-deps:-- persistent-mysql-2.6-- mysql-simple-0.4.0.0-- mysql-0.1.3+extra-deps: [] flags:   persistent-relational-record:     test-examples: True
tests/unit.hs view
@@ -1,10 +1,15 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-}  module Main where +#if MIN_VERSION_relational_query(0, 10, 0)+import Database.Relational as HRR+#else import Database.Relational.Query as HRR+#endif import Fixtures.BlogSample.Model import qualified Fixtures.BlogSample.Post as Post import qualified Fixtures.BlogSample.PostTag as PostTag@@ -53,8 +58,7 @@  case_inner_join_query :: Assertion case_inner_join_query =-    show subject @?= "SELECT ALL T0.id AS f0, T0.title AS f1, T0.user_id AS f2, T0.created AS f3, T0.body AS f4 \-                     \FROM post T0 INNER JOIN user T1 ON (T1.id = T0.user_id) WHERE (T1.age > 18)"+    show subject @?= "SELECT ALL T0.id AS f0, T0.title AS f1, T0.user_id AS f2, T0.created AS f3, T0.body AS f4 FROM post T0 INNER JOIN user T1 ON (T1.id = T0.user_id) WHERE (T1.age > 18)"   where     subject = relation $ do         post <- query Post.post@@ -65,13 +69,7 @@  case_inner_join_with_subquery :: Assertion case_inner_join_with_subquery =-    show subject @?= "SELECT ALL T0.id AS f0, T0.title AS f1, T0.user_id AS f2, T0.created AS f3, T0.body AS f4 \-                     \FROM post T0 \-                     \INNER JOIN (SELECT ALL T2.post_id AS f0 FROM tag T1 \-                                 \INNER JOIN post_tag T2 ON (T1.id = T2.tag_id) \-                                 \WHERE (T1.name IN ('haskell', 'hrr')) \-                                 \GROUP BY T2.post_id HAVING (COUNT(T2.post_id) = 2)) T3 \-                     \ON (T0.id = T3.f0)"+    show subject @?= "SELECT ALL T0.id AS f0, T0.title AS f1, T0.user_id AS f2, T0.created AS f3, T0.body AS f4 FROM post T0 INNER JOIN (SELECT ALL T2.post_id AS f0 FROM tag T1 INNER JOIN post_tag T2 ON (T1.id = T2.tag_id) WHERE (T1.name IN ('haskell', 'hrr')) GROUP BY T2.post_id HAVING (COUNT(T2.post_id) = 2)) T3 ON (T0.id = T3.f0)"   where     subject = relation $ do         post <- query Post.post