@@ -5,7 +5,10 @@ Copyright: (c) Eitan Chatav, 2017
5Maintainer: eitan@morphism.tech
5Maintainer: eitan@morphism.tech
6Stability: experimental
6Stability: experimental
8−A type-level DSL for kinds of PostgreSQL types, constraints, and aliases.
8+This module provides a type-level DSL for kinds of Postgres types,
9+tables, schema, constraints, aliases, enumerated labels, and groupings.
10+It also defines useful type families to operate on these. Finally,
11+it defines an embedding of Haskell types into Postgres types.
11{-# LANGUAGE
14{-# LANGUAGE
@@ -35,6 +38,7 @@ module Squeal.PostgreSQL.Schema
35 , HasOid (..)
38 , HasOid (..)
36 , NullityType (..)
39 , NullityType (..)
37 , ColumnType
40 , ColumnType
38 , ColumnsType
42 , ColumnsType
39 , RelationType
43 , RelationType
40 , NilRelation
44 , NilRelation
@@ -43,9 +47,6 @@ module Squeal.PostgreSQL.Schema
43 -- * Schema
47 -- * Schema
44 , SchemumType (..)
48 , SchemumType (..)
45 , SchemaType
49 , SchemaType
49 -- * Constraints
50 -- * Constraints
51 , ColumnConstraint (..)
52 , ColumnConstraint (..)
@@ -67,6 +68,14 @@ module Squeal.PostgreSQL.Schema
68 , IsLabel (..)
69 , IsLabel (..)
69 , IsQualified (..)
70 , IsQualified (..)
71+ -- * Enumerated Labels
70 -- * Type Families
79 -- * Type Families
@@ -92,14 +101,6 @@ module Squeal.PostgreSQL.Schema
92 , TableToRelation
101 , TableToRelation
93 , ConstraintInvolves
102 , ConstraintInvolves
94 , DropIfConstraintsInvolve
103 , DropIfConstraintsInvolve
103 -- * Embedding
104 -- * Embedding
105 , EnumFrom
106 , EnumFrom
@@ -116,6 +117,8 @@ module Squeal.PostgreSQL.Schema
116 , FieldTypeOf
117 , FieldTypeOf
117 , FieldTypesOf
118 , FieldTypesOf
118 , RecordCodeOf
119 , RecordCodeOf
121import Control.DeepSeq
124import Control.DeepSeq