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 - psim...@suse.com
+
+- Update to version 0.8.3.2 with cabal2obs.
+
+-------------------------------------------------------------------
+Sun Aug 21 17:14:30 UTC 2016 - psim...@suse.com
+
+- 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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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  : ex8k.hib...@gmail.com
@@ -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


Reply via email to