@@ -111,8 +111,6 @@ module Squeal.PostgreSQL.Schema
111 , ConstructorsOf
111 , ConstructorsOf
112 , ConstructorNameOf
112 , ConstructorNameOf
113 , ConstructorNamesOf
113 , ConstructorNamesOf
118import Control.DeepSeq
116import Control.DeepSeq
@@ -584,26 +582,6 @@ type family Rename alias0 alias1 xs where
584 Rename alias0 alias1 ((alias0 ::: x0) ': xs) = (alias1 ::: x0) ': xs
582 Rename alias0 alias1 ((alias0 ::: x0) ': xs) = (alias1 ::: x0) ': xs
585 Rename alias0 alias1 (x ': xs) = x ': Rename alias0 alias1 xs
583 Rename alias0 alias1 (x ': xs) = x ': Rename alias0 alias1 xs
587−-- | `MapMaybes` is used in the binary instances of composite types.
588−class MapMaybes xs where
589− type family Maybes (xs :: [Type]) = (mxs :: [Type]) | mxs -> xs
590− maybes :: NP Maybe xs -> NP I (Maybes xs)
591− unMaybes :: NP I (Maybes xs) -> NP Maybe xs
592−instance MapMaybes '[] where
593− type Maybes '[] = '[]
596−instance MapMaybes xs => MapMaybes (x ': xs) where
597− type Maybes (x ': xs) = Maybe x ': Maybes xs
598− maybes (x :* xs) = I x :* maybes xs
599− unMaybes (I mx :* xs) = mx :* unMaybes xs
601−-- | `Nulls` is used to construct a `Squeal.Postgresql.Expression.row`
602−-- of a composite type.
603−type family Nulls tys where
605− Nulls (field ::: ty ': tys) = field ::: 'Null ty ': Nulls tys
607-- | Check if a `TableConstraint` involves a column
585-- | Check if a `TableConstraint` involves a column
608type family ConstraintInvolves column constraint where
586type family ConstraintInvolves column constraint where
609 ConstraintInvolves column ('Check columns) = column `Elem` columns
587 ConstraintInvolves column ('Check columns) = column `Elem` columns