@@ -45,6 +45,7 @@ module Squeal.PostgreSQL.Schema
4545 , RelationsType
4646 , TableType
4747 , TablesType
48+ , NilTables
4849 , Grouping (..)
4950 -- * Constraints
5051 , (:=>)
@@ -135,7 +136,7 @@ data PGType
135136-- | The object identifier of a `PGType`.
136137--
137138-- >>> :set -XTypeApplications
138−-- >>> oid @'PGbool
139+-- >>> oid @'PGbool
139140-- 16
140141class HasOid (ty :: PGType) where oid :: Word32
141142instance HasOid 'PGbool where oid = 16
@@ -268,6 +269,8 @@ type TableType = ([(Symbol,TableConstraint)],ColumnsType)
268269-- :}
269270--
270271type TablesType = [(Symbol,TableType)]
272+-- | A monokinded `'[]` of `TablesType`.
273+type family NilTables :: TablesType where NilTables = '[]
271274
272275-- | `RelationType` is a row of `NullityType`
273276--
@@ -282,6 +285,7 @@ type TablesType = [(Symbol,TableType)]
282285-- >>> :kind Relation
283286-- Relation :: [(Symbol, NullityType)]
284287type RelationType = [(Symbol,NullityType)]
288+-- | A monokinded `'[]` of `RelationType`.
285289type family NilRelation :: RelationType where NilRelation = '[]
286290
287291-- | `RelationsType` is a row of `RelationType`s, thought of as a product.