Hello community,
here is the log from the commit of package ghc-relational-query for
openSUSE:Factory checked in at 2017-01-31 12:47:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-relational-query (Old)
and /work/SRC/openSUSE:Factory/.ghc-relational-query.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-relational-query"
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-relational-query/ghc-relational-query.changes
2017-01-23 11:33:27.447337257 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-relational-query.new/ghc-relational-query.changes
2017-02-03 17:39:48.338828689 +0100
@@ -1,0 +2,10 @@
+Thu Oct 27 15:54:49 UTC 2016 - [email protected]
+
+- Update to version 0.8.3.2 with cabal2obs.
+
+-------------------------------------------------------------------
+Sun Aug 21 17:14:30 UTC 2016 - [email protected]
+
+- Update to version 0.8.3.1 revision 0 with cabal2obs.
+
+-------------------------------------------------------------------
Old:
----
relational-query-0.8.3.0.tar.gz
New:
----
relational-query-0.8.3.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-relational-query.spec ++++++
--- /var/tmp/diff_new_pack.Sif2pD/_old 2017-02-03 17:39:48.722774345 +0100
+++ /var/tmp/diff_new_pack.Sif2pD/_new 2017-02-03 17:39:48.726773779 +0100
@@ -19,11 +19,11 @@
%global pkg_name relational-query
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.8.3.0
+Version: 0.8.3.2
Release: 0
Summary: Typeful, Modular, Relational, algebraic query engine
License: BSD-3-Clause
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
BuildRequires: ghc-Cabal-devel
@@ -67,19 +67,15 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%check
%cabal_test
-
%post devel
%ghc_pkg_recache
++++++ relational-query-0.8.3.0.tar.gz -> relational-query-0.8.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/relational-query-0.8.3.0/ChangeLog.md
new/relational-query-0.8.3.2/ChangeLog.md
--- old/relational-query-0.8.3.0/ChangeLog.md 2016-07-17 15:40:40.000000000
+0200
+++ new/relational-query-0.8.3.2/ChangeLog.md 2016-10-16 05:54:38.000000000
+0200
@@ -1,5 +1,14 @@
<!-- -*- Markdown -*- -->
+## 0.8.3.2
+
+- Export Register interface type from Query module.
+
+## 0.8.3.1
+
+- Refactor around sub-query and its builder.
+- Compatibility with dlist-0.5.
+
## 0.8.3.0
- Add configuration to quote SQL string of table names.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/relational-query-0.8.3.0/relational-query.cabal
new/relational-query-0.8.3.2/relational-query.cabal
--- old/relational-query-0.8.3.0/relational-query.cabal 2016-07-17
15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/relational-query.cabal 2016-10-16
05:54:38.000000000 +0200
@@ -1,5 +1,5 @@
name: relational-query
-version: 0.8.3.0
+version: 0.8.3.2
synopsis: Typeful, Modular, Relational, algebraic query engine
description: This package contiains typeful relation structure and
relational-algebraic query building DSL which can
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Internal/Product.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Internal/Product.hs
---
old/relational-query-0.8.3.0/src/Database/Relational/Query/Internal/Product.hs
2016-07-17 15:40:40.000000000 +0200
+++
new/relational-query-0.8.3.2/src/Database/Relational/Query/Internal/Product.hs
2016-10-16 05:54:38.000000000 +0200
@@ -1,6 +1,6 @@
-- |
-- Module : Database.Relational.Query.Internal.Product
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -9,58 +9,45 @@
--
-- This module defines product structure to compose SQL join.
module Database.Relational.Query.Internal.Product (
- -- * Product tree type
- node, nodeAttr, nodeTree,
+ -- * Interfaces to manipulate ProductTree type
growProduct, restrictProduct,
) where
import Prelude hiding (and, product)
-import Control.Applicative (pure, empty)
-import Data.Monoid ((<>))
+import Control.Applicative (pure)
+import Data.Monoid ((<>), mempty)
import Database.Relational.Query.Context (Flat)
-import Database.Relational.Query.Internal.Sub (NodeAttr (..), ProductTree
(..), Node (..), Projection)
+import Database.Relational.Query.Internal.Sub
+ (NodeAttr (..), ProductTree (..), Node (..), Projection, Qualified, SubQuery,
+ ProductTreeBuilder, ProductBuilder)
--- | Get node attribute.
-nodeAttr :: Node q -> NodeAttr
-nodeAttr (Node a _) = a where
-
--- | Get tree from node.
-nodeTree :: Node q -> ProductTree q
-nodeTree (Node _ t) = t
-
--- | Make product node from node attribute and product tree.
-node :: NodeAttr -- ^ Node attribute
- -> ProductTree q -- ^ Product tree
- -> Node q -- ^ Result node
-node = Node
-
-- | Push new tree into product right term.
-growRight :: Maybe (Node q) -- ^ Current tree
- -> (NodeAttr, ProductTree q) -- ^ New tree to push into right
- -> Node q -- ^ Result node
+growRight :: Maybe ProductBuilder -- ^ Current tree
+ -> (NodeAttr, ProductTreeBuilder) -- ^ New tree to push into right
+ -> ProductBuilder -- ^ Result node
growRight = d where
- d Nothing (naR, q) = node naR q
- d (Just l) (naR, q) = node Just' $ Join l (node naR q) empty
+ d Nothing (naR, q) = Node naR q
+ d (Just l) (naR, q) = Node Just' $ Join l (Node naR q) mempty
-- | Push new leaf node into product right term.
-growProduct :: Maybe (Node q) -- ^ Current tree
- -> (NodeAttr, q) -- ^ New leaf to push into right
- -> Node q -- ^ Result node
+growProduct :: Maybe ProductBuilder -- ^ Current tree
+ -> (NodeAttr, Qualified SubQuery) -- ^ New leaf to push into right
+ -> ProductBuilder -- ^ Result node
growProduct = match where
match t (na, q) = growRight t (na, Leaf q)
-- | Add restriction into top product of product tree.
-restrictProduct' :: ProductTree q -- ^ Product to restrict
+restrictProduct' :: ProductTreeBuilder -- ^ Product to restrict
-> Projection Flat (Maybe Bool) -- ^ Restriction to add
- -> ProductTree q -- ^ Result product
+ -> ProductTreeBuilder -- ^ Result product
restrictProduct' = d where
d (Join lp rp rs) rs' = Join lp rp (rs <> pure rs')
d leaf'@(Leaf _) _ = leaf' -- or error on compile
-- | Add restriction into top product of product tree node.
-restrictProduct :: Node q -- ^ Target node which has
product to restrict
+restrictProduct :: ProductBuilder -- ^ Target node which has
product to restrict
-> Projection Flat (Maybe Bool) -- ^ Restriction to add
- -> Node q -- ^ Result node
-restrictProduct (Node a t) e = node a (restrictProduct' t e)
+ -> ProductBuilder -- ^ Result node
+restrictProduct (Node a t) e = Node a (restrictProduct' t e)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Internal/Sub.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Internal/Sub.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query/Internal/Sub.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query/Internal/Sub.hs
2016-10-16 05:54:38.000000000 +0200
@@ -1,6 +1,8 @@
+{-# LANGUAGE DeriveFunctor #-}
+
-- |
-- Module : Database.Relational.Query.Internal.Sub
--- Copyright : 2015 Kei Hibino
+-- Copyright : 2015-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -14,7 +16,8 @@
-- * Product tree type
, NodeAttr (..), ProductTree (..), Node (..)
- , JoinProduct, QueryProduct, QueryProductNode
+ , JoinProduct, QueryProductTree
+ , ProductTreeBuilder, ProductBuilder
, Projection, untypeProjection, typedProjection
@@ -26,7 +29,7 @@
import Data.Array (Array)
import Data.DList (DList)
-import qualified Database.Relational.Query.Context as Context
+import Database.Relational.Query.Context (Flat, Aggregated)
import Database.Relational.Query.Component
(ColumnSQL, Config, Duplication (..),
AggregateElem, OrderingTerms)
@@ -42,11 +45,11 @@
-- | Sub-query type
data SubQuery = Table Table.Untyped
| Flat Config
- UntypedProjection Duplication JoinProduct (QueryRestriction
Context.Flat)
+ UntypedProjection Duplication JoinProduct (QueryRestriction
Flat)
OrderingTerms
| Aggregated Config
- UntypedProjection Duplication JoinProduct (QueryRestriction
Context.Flat)
- [AggregateElem] (QueryRestriction Context.Aggregated)
OrderingTerms
+ UntypedProjection Duplication JoinProduct (QueryRestriction
Flat)
+ [AggregateElem] (QueryRestriction Aggregated) OrderingTerms
| Bin BinOp SubQuery SubQuery
deriving Show
@@ -73,21 +76,30 @@
-- | node attribute for product.
data NodeAttr = Just' | Maybe deriving Show
+type QS = Qualified SubQuery
+
+type QueryRestrictionBuilder = DList (Projection Flat (Maybe Bool))
+
-- | Product tree type. Product tree is constructed by left node and right
node.
-data ProductTree q = Leaf q
- | Join !(Node q) !(Node q) !(DList (Projection Context.Flat
(Maybe Bool)))
- deriving Show
+data ProductTree rs
+ = Leaf QS
+ | Join !(Node rs) !(Node rs) !rs
+ deriving (Show, Functor)
-- | Product node. node attribute and product tree.
-data Node q = Node !NodeAttr !(ProductTree q) deriving Show
+data Node rs = Node !NodeAttr !(ProductTree rs) deriving (Show, Functor)
+
+-- | Product tree with join restriction.
+type QueryProductTree = ProductTree (QueryRestriction Flat)
+
+-- | Product tree with join restriction builder.
+type ProductTreeBuilder = ProductTree QueryRestrictionBuilder
--- | Product tree specialized by 'SubQuery'.
-type QueryProduct = ProductTree (Qualified SubQuery)
--- | Product node specialized by 'SubQuery'.
-type QueryProductNode = Node (Qualified SubQuery)
+-- | Product noe with join restriction builder.
+type ProductBuilder = Node QueryRestrictionBuilder
-- | Type for join product of query.
-type JoinProduct = Maybe QueryProduct
+type JoinProduct = Maybe QueryProductTree
-- | Phantom typed projection. Projected into Haskell record type 't'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Aggregate.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Aggregate.hs
---
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Aggregate.hs
2016-07-17 15:40:40.000000000 +0200
+++
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Aggregate.hs
2016-10-16 05:54:38.000000000 +0200
@@ -6,7 +6,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Aggregate
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -34,8 +34,7 @@
import qualified Database.Relational.Query.Projection as Projection
import Database.Relational.Query.Component
(AggregateColumnRef, Duplication, OrderingTerms, AggregateElem, composeOver,
showsColumnSQL)
-import Database.Relational.Query.Internal.Sub (SubQuery, QueryRestriction,
JoinProduct)
-import Database.Relational.Query.Sub (aggregatedSubQuery)
+import Database.Relational.Query.Sub (SubQuery, QueryRestriction, JoinProduct,
aggregatedSubQuery)
import qualified Database.Relational.Query.Sub as SubQuery
import Database.Relational.Query.Projectable (PlaceHolders, SqlProjectable)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Assign.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Assign.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Assign.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Assign.hs
2016-10-16 05:54:38.000000000 +0200
@@ -4,7 +4,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Assign
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -19,7 +19,7 @@
extract,
) where
-import Database.Relational.Query.Internal.Sub (QueryRestriction)
+import Database.Relational.Query.Sub (QueryRestriction)
import Database.Relational.Query.Component (Config, Assignments)
import Database.Relational.Query.Context (Flat)
import Database.Relational.Query.Table (Table)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Restrict.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Restrict.hs
---
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Restrict.hs
2016-07-17 15:40:40.000000000 +0200
+++
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Restrict.hs
2016-10-16 05:54:38.000000000 +0200
@@ -4,7 +4,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Restrict
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -20,7 +20,7 @@
extract
) where
-import Database.Relational.Query.Internal.Sub (QueryRestriction)
+import Database.Relational.Query.Sub (QueryRestriction)
import Database.Relational.Query.Component (Config)
import Database.Relational.Query.Context (Flat)
import Database.Relational.Query.Projection (Projection)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Simple.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Simple.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Simple.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Simple.hs
2016-10-16 05:54:38.000000000 +0200
@@ -4,7 +4,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Simple
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -35,8 +35,7 @@
import Database.Relational.Query.Projectable (PlaceHolders)
import Database.Relational.Query.Component (Duplication, OrderingTerms)
-import Database.Relational.Query.Internal.Sub (SubQuery, QueryRestriction,
JoinProduct)
-import Database.Relational.Query.Sub (flatSubQuery)
+import Database.Relational.Query.Sub (SubQuery, QueryRestriction, JoinProduct,
flatSubQuery)
import qualified Database.Relational.Query.Sub as SubQuery
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Trans/Join.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Trans/Join.hs
---
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Trans/Join.hs
2016-07-17 15:40:40.000000000 +0200
+++
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Trans/Join.hs
2016-10-16 05:54:38.000000000 +0200
@@ -5,7 +5,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Trans.Join
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -36,11 +36,10 @@
import Database.Relational.Query.Context (Flat)
import Database.Relational.Query.Monad.Trans.JoinState
(JoinContext, primeJoinContext, updateProduct, joinProduct)
-import Database.Relational.Query.Internal.Sub (NodeAttr (Just', Maybe),
Projection)
+import Database.Relational.Query.Internal.Sub (NodeAttr (Just', Maybe),
SubQuery, Qualified, JoinProduct, Projection)
import Database.Relational.Query.Internal.Product (restrictProduct,
growProduct)
import qualified Database.Relational.Query.Projection as Projection
import Database.Relational.Query.Component (Duplication (All))
-import Database.Relational.Query.Internal.Sub (SubQuery, Qualified,
JoinProduct)
import Database.Relational.Query.Projectable (PlaceHolders,
unsafeAddPlaceHolders)
import Database.Relational.Query.Monad.BaseType (ConfigureQuery, qualifyQuery,
Relation, untypeRelation)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Trans/JoinState.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Trans/JoinState.hs
---
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Trans/JoinState.hs
2016-07-17 15:40:40.000000000 +0200
+++
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Trans/JoinState.hs
2016-10-16 05:54:38.000000000 +0200
@@ -1,6 +1,6 @@
-- |
-- Module : Database.Relational.Query.Monad.Trans.JoinState
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -15,15 +15,16 @@
) where
import Prelude hiding (product)
+import Data.DList (toList)
-import qualified Database.Relational.Query.Internal.Product as Product
-import Database.Relational.Query.Internal.Sub (QueryProductNode, JoinProduct)
+import qualified Database.Relational.Query.Sub as Product
+import Database.Relational.Query.Sub (ProductBuilder, JoinProduct)
-- | JoinContext type for QueryJoin.
newtype JoinContext =
JoinContext
- { product :: Maybe QueryProductNode
+ { product :: Maybe ProductBuilder
}
-- | Initial 'JoinContext'.
@@ -31,13 +32,9 @@
primeJoinContext = JoinContext Nothing
-- | Update product of 'JoinContext'.
-updateProduct' :: (Maybe QueryProductNode -> Maybe QueryProductNode) ->
JoinContext -> JoinContext
-updateProduct' uf ctx = ctx { product = uf . product $ ctx }
-
--- | Update product of 'JoinContext'.
-updateProduct :: (Maybe QueryProductNode -> QueryProductNode) -> JoinContext
-> JoinContext
-updateProduct uf = updateProduct' (Just . uf)
+updateProduct :: (Maybe ProductBuilder -> ProductBuilder) -> JoinContext ->
JoinContext
+updateProduct uf ctx = ctx { product = Just . uf . product $ ctx }
-- | Finalize context to extract accumulated query product.
joinProduct :: JoinContext -> JoinProduct
-joinProduct = fmap Product.nodeTree . product
+joinProduct = fmap (fmap toList . Product.nodeTree) . product
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Trans/Restricting.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Trans/Restricting.hs
---
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Trans/Restricting.hs
2016-07-17 15:40:40.000000000 +0200
+++
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Trans/Restricting.hs
2016-10-16 05:54:38.000000000 +0200
@@ -4,7 +4,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Trans.Restricting
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2014-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -26,7 +26,7 @@
import Control.Arrow (second)
import Data.DList (DList, toList)
-import Database.Relational.Query.Internal.Sub (QueryRestriction, Projection)
+import Database.Relational.Query.Sub (QueryRestriction, Projection)
import Database.Relational.Query.Monad.Class
(MonadQualify (..), MonadRestrict(..), MonadQuery (..), MonadAggregate(..))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Type.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Type.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Type.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Type.hs
2016-10-16 05:54:38.000000000 +0200
@@ -1,6 +1,6 @@
-- |
-- Module : Database.Relational.Query.Monad.Type
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -15,7 +15,7 @@
) where
import Database.Relational.Query.Component (Duplication)
-import Database.Relational.Query.Internal.Sub (JoinProduct, QueryRestriction)
+import Database.Relational.Query.Sub (JoinProduct, QueryRestriction)
import Database.Relational.Query.Context (Flat)
import Database.Relational.Query.Projection (Projection)
import Database.Relational.Query.Projectable (PlaceHolders)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Unique.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Unique.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query/Monad/Unique.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query/Monad/Unique.hs
2016-10-16 05:54:38.000000000 +0200
@@ -5,7 +5,7 @@
-- |
-- Module : Database.Relational.Query.Monad.Unique
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2014-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -22,7 +22,6 @@
import Control.Applicative (Applicative)
import Database.Relational.Query.Context (Flat)
-import Database.Relational.Query.Internal.Sub (NodeAttr)
import Database.Relational.Query.Projection (Projection)
import qualified Database.Relational.Query.Projection as Projection
@@ -34,8 +33,9 @@
import Database.Relational.Query.Projectable (PlaceHolders)
import Database.Relational.Query.Component (Duplication)
-import Database.Relational.Query.Internal.Sub (SubQuery, QueryRestriction,
Qualified, JoinProduct)
-import Database.Relational.Query.Sub (flatSubQuery)
+import Database.Relational.Query.Sub
+ (SubQuery, QueryRestriction, Qualified, JoinProduct, NodeAttr, flatSubQuery)
+
-- | Unique query monad type.
newtype QueryUnique a = QueryUnique (QueryCore a)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query/Sub.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query/Sub.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query/Sub.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query/Sub.hs
2016-10-16 05:54:38.000000000 +0200
@@ -2,7 +2,7 @@
-- |
-- Module : Database.Relational.Query.Sub
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2016 Kei Hibino
-- License : BSD3
--
-- Maintainer : [email protected]
@@ -25,7 +25,7 @@
column,
-- * Projection
- ProjectionUnit, UntypedProjection,
+ Projection, ProjectionUnit, UntypedProjection,
untypedProjectionFromColumns, untypedProjectionFromJoinedSubQuery,
untypedProjectionFromScalarSubQuery,
widthOfUntypedProjection, columnsOfUntypedProjection,
@@ -33,26 +33,26 @@
projectionColumns, unsafeProjectionStringSql, unsafeProjectFromColumns,
-- * Product of sub-queries
- QueryProduct, QueryProductNode, JoinProduct,
+ JoinProduct, NodeAttr,
+ nodeTree,
+ ProductBuilder,
-- * Query restriction
+ QueryRestriction,
composeWhere, composeHaving
) where
import Data.Array (listArray)
import qualified Data.Array as Array
import Data.Monoid (mempty, (<>), mconcat)
-import Data.DList (toList)
import qualified Database.Relational.Query.Context as Context
import Database.Relational.Query.Internal.SQL (StringSQL, stringSQL,
rowStringSQL, showStringSQL)
-import Database.Relational.Query.Internal.Product
- (nodeAttr, nodeTree)
import Database.Relational.Query.Internal.Sub
(SubQuery (..), Projection, untypeProjection, typedProjection,
UntypedProjection, ProjectionUnit (..),
- JoinProduct, QueryProduct, QueryProductNode,
- NodeAttr (Just', Maybe), ProductTree (Leaf, Join),
+ JoinProduct, QueryProductTree, ProductBuilder,
+ NodeAttr (Just', Maybe), ProductTree (Leaf, Join), Node (Node),
SetOp (..), BinOp (..), Qualifier (..), Qualified (..),
QueryRestriction)
import Database.Relational.Query.Component
@@ -325,8 +325,16 @@
unsafeProjectFromColumns = typedProjection . untypedProjectionFromColumns
+-- | Get node attribute.
+nodeAttr :: Node rs -> NodeAttr
+nodeAttr (Node a _) = a where
+
+-- | Get tree from node.
+nodeTree :: Node rs -> ProductTree rs
+nodeTree (Node _ t) = t
+
-- | Show product tree of query into SQL. StringSQL result.
-showsQueryProduct :: QueryProduct -> StringSQL
+showsQueryProduct :: QueryProductTree -> StringSQL
showsQueryProduct = rec where
joinType Just' Just' = INNER
joinType Just' Maybe = LEFT
@@ -342,7 +350,7 @@
joinType (nodeAttr left') (nodeAttr right'), JOIN,
urec right',
ON, foldr1 SQL.and $ ps ++ concat [ showConstantTermsSQL' True | null ps
] ]
- where ps = [ unsafeProjectionStringSql p | p <- toList rs ]
+ where ps = [ unsafeProjectionStringSql p | p <- rs ]
-- | Shows join product of query.
showsJoinProduct :: ProductUnitSupport -> JoinProduct -> StringSQL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/relational-query-0.8.3.0/src/Database/Relational/Query.hs
new/relational-query-0.8.3.2/src/Database/Relational/Query.hs
--- old/relational-query-0.8.3.0/src/Database/Relational/Query.hs
2016-07-17 15:40:40.000000000 +0200
+++ new/relational-query-0.8.3.2/src/Database/Relational/Query.hs
2016-10-16 05:54:38.000000000 +0200
@@ -28,9 +28,10 @@
module Database.Relational.Query.Monad.Type,
module Database.Relational.Query.Monad.Simple,
module Database.Relational.Query.Monad.Aggregate,
- module Database.Relational.Query.Monad.Unique,
module Database.Relational.Query.Monad.Restrict,
+ module Database.Relational.Query.Monad.Unique,
module Database.Relational.Query.Monad.Assign,
+ module Database.Relational.Query.Monad.Register,
module Database.Relational.Query.Relation,
module Database.Relational.Query.Scalar,
module Database.Relational.Query.Type,
@@ -71,9 +72,10 @@
import Database.Relational.Query.Monad.Simple (QuerySimple, SimpleQuery)
import Database.Relational.Query.Monad.Aggregate
(QueryAggregate, AggregatedQuery, Window, over)
-import Database.Relational.Query.Monad.Unique (QueryUnique)
import Database.Relational.Query.Monad.Restrict (Restrict)
+import Database.Relational.Query.Monad.Unique (QueryUnique)
import Database.Relational.Query.Monad.Assign (Assign)
+import Database.Relational.Query.Monad.Register (Register)
import Database.Relational.Query.Relation
import Database.Relational.Query.Scalar (ScalarDegree)
import Database.Relational.Query.Type hiding