on dev help sign in
small stuff
8a34ea1Eitan Chatav
squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs+9−8
@@ -113,10 +113,19 @@ renderAliased
113renderAliased render (expression `As` alias) =
113renderAliased render (expression `As` alias) =
114 render expression <> " AS " <> renderAlias alias
114 render expression <> " AS " <> renderAlias alias
115
115
116+class IsTableColumn table column expression where
117+ (!) :: Alias table -> Alias column -> expression
118+ infixl 9 !
119+instance IsTableColumn table column (Alias table, Alias column) where (!) = (,)
120+
116data NullityType = Null PGType | NotNull PGType
121data NullityType = Null PGType | NotNull PGType
117
122
118data ColumnType = Optional NullityType | Required NullityType
123data ColumnType = Optional NullityType | Required NullityType
119
124
125+data Grouping
126+ = Ungrouped
127+ | Grouped [(Symbol,Symbol)]
128+
120type family BaseType (ty :: ColumnType) where
129type family BaseType (ty :: ColumnType) where
121 BaseType (optionality (nullity pg)) = pg
130 BaseType (optionality (nullity pg)) = pg
122
131
@@ -153,11 +162,3 @@ type family Rename alias0 alias1 xs where
153type family Join xs ys where
162type family Join xs ys where
154 Join '[] ys = ys
163 Join '[] ys = ys
155 Join (x ': xs) ys = x ': Join xs ys
164 Join (x ': xs) ys = x ': Join xs ys
156−
157−data Grouping
158− = Ungrouped
159− | Grouped [(Symbol,Symbol)]
160−
161−class IsTableColumn table column expression where
162− (!) :: Alias table -> Alias column -> expression
163− infixl 9 !
squeal-postgresql/src/Squeal/PostgreSQL/Statement.hs+3−3
@@ -80,12 +80,12 @@ instance (HasTable table tables columns, HasColumn column columns ty)
80 table ! column = UnsafeExpression $
80 table ! column = UnsafeExpression $
81 renderAlias table <> "." <> renderAlias column
81 renderAlias table <> "." <> renderAlias column
82
82
83−def :: Expression params '[] grouping ('Optional (nullity ty))
83+def :: Expression params '[] 'Ungrouped ('Optional (nullity ty))
84def = UnsafeExpression "DEFAULT"
84def = UnsafeExpression "DEFAULT"
85
85
86unDef
86unDef
87− :: Expression params '[] grouping ('Required (nullity ty))
87+ :: Expression params '[] 'Ungrouped ('Required (nullity ty))
88− -> Expression params '[] grouping ('Optional (nullity ty))
88+ -> Expression params '[] 'Ungrouped ('Optional (nullity ty))
89unDef = UnsafeExpression . renderExpression
89unDef = UnsafeExpression . renderExpression
90
90
91null :: Expression params tables grouping (optionality ('Null ty))
91null :: Expression params tables grouping (optionality ('Null ty))