on dev help sign in
conversion

TableToRelation ~> TableToRow ColumnsToRelation ~> ColumnsToRow

commit6a21abf56af75e85bcb38d0e4860aea5b5d43f6f authorEitan Chatav <eitan.chatav@gmail.com> dateThu 16 Aug 2018, 10:11 (8 years ago) parentaa75914
4 files changed+29−29
squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+2−2 squeal-postgresql/src/Squeal/PostgreSQL/Manipulation.hs+12−12 squeal-postgresql/src/Squeal/PostgreSQL/Query.hs+6−6 squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs+9−9
squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+2−2
@@ -270,7 +270,7 @@ CREATE TABLE "tab" ("a" int NOT NULL, "b" int NOT NULL, CONSTRAINT "inequality"
270270-}
271271check
272272 :: ( Has alias schema ('Table table)
273− , HasAll aliases (TableToRelation table) subcolumns )
273+ , HasAll aliases (TableToRow table) subcolumns )
274274 => NP Alias aliases
275275 -- ^ specify the subcolumns which are getting checked
276276 -> (forall tab. Condition schema '[tab ::: subcolumns] 'Ungrouped '[])
@@ -304,7 +304,7 @@ CREATE TABLE "tab" ("a" int NULL, "b" int NULL, CONSTRAINT "uq_a_b" UNIQUE ("a",
304304-}
305305unique
306306 :: ( Has alias schema ('Table table)
307− , HasAll aliases (TableToRelation table) subcolumns )
307+ , HasAll aliases (TableToRow table) subcolumns )
308308 => NP Alias aliases
309309 -- ^ specify subcolumns which together are unique for each row
310310 -> TableConstraintExpression schema alias ('Unique aliases)
squeal-postgresql/src/Squeal/PostgreSQL/Manipulation.hs+12−12
@@ -280,7 +280,7 @@ insertQuery
280280 , Has tab schema ('Table table)
281281 , columns ~ TableToColumns table )
282282 => Alias tab -- ^ table to insert into
283− -> Query schema params (ColumnsToRelation columns)
283+ -> Query schema params (ColumnsToRow columns)
284284 -> ConflictClause schema columns params
285285 -- ^ what to do in case of constraint conflict
286286 -> ReturningClause schema columns params results -- ^ results to return
@@ -297,7 +297,7 @@ insertQuery_
297297 , Has tab schema ('Table table)
298298 , columns ~ TableToColumns table )
299299 => Alias tab -- ^ table to insert into
300− -> Query schema params (ColumnsToRelation columns)
300+ -> Query schema params (ColumnsToRow columns)
301301 -> Manipulation schema params '[]
302302insertQuery_ tab query =
303303 insertQuery tab query OnConflictDoRaise (Returning Nil)
@@ -336,10 +336,10 @@ data ReturningClause
336336 (results :: RowType)
337337 where
338338 ReturningStar
339− :: results ~ ColumnsToRelation columns
339+ :: results ~ ColumnsToRow columns
340340 => ReturningClause schema columns params results
341341 Returning
342− :: rel ~ ColumnsToRelation columns
342+ :: rel ~ ColumnsToRow columns
343343 => NP (Aliased (Expression schema '[table ::: rel] 'Ungrouped params)) results
344344 -> ReturningClause schema columns params results
345345
@@ -363,8 +363,8 @@ data ConflictClause (schema :: SchemaType) (columns :: ColumnsType) params where
363363 OnConflictDoRaise :: ConflictClause schema columns params
364364 OnConflictDoNothing :: ConflictClause schema columns params
365365 OnConflictDoUpdate
366− :: NP (Aliased (ColumnValue schema (ColumnsToRelation columns) params)) columns
367− -> [Condition schema '[table ::: ColumnsToRelation columns] 'Ungrouped params]
366+ :: NP (Aliased (ColumnValue schema (ColumnsToRow columns) params)) columns
367+ -> [Condition schema '[table ::: ColumnsToRow columns] 'Ungrouped params]
368368 -> ConflictClause schema columns params
369369
370370-- | Render a `ConflictClause`.
@@ -404,9 +404,9 @@ update
404404 , Has tab schema ('Table table)
405405 , columns ~ TableToColumns table )
406406 => Alias tab -- ^ table to update
407− -> NP (Aliased (ColumnValue schema (ColumnsToRelation columns) params)) columns
407+ -> NP (Aliased (ColumnValue schema (ColumnsToRow columns) params)) columns
408408 -- ^ modified values to replace old values
409− -> Condition schema '[tab ::: ColumnsToRelation columns] 'Ungrouped params
409+ -> Condition schema '[tab ::: ColumnsToRow columns] 'Ungrouped params
410410 -- ^ condition under which to perform update on a row
411411 -> ReturningClause schema columns params results -- ^ results to return
412412 -> Manipulation schema params results
@@ -434,9 +434,9 @@ update_
434434 , Has tab schema ('Table table)
435435 , columns ~ TableToColumns table )
436436 => Alias tab -- ^ table to update
437− -> NP (Aliased (ColumnValue schema (ColumnsToRelation columns) params)) columns
437+ -> NP (Aliased (ColumnValue schema (ColumnsToRow columns) params)) columns
438438 -- ^ modified values to replace old values
439− -> Condition schema '[tab ::: ColumnsToRelation columns] 'Ungrouped params
439+ -> Condition schema '[tab ::: ColumnsToRow columns] 'Ungrouped params
440440 -- ^ condition under which to perform update on a row
441441 -> Manipulation schema params '[]
442442update_ tab columns wh = update tab columns wh (Returning Nil)
@@ -451,7 +451,7 @@ deleteFrom
451451 , Has tab schema ('Table table)
452452 , columns ~ TableToColumns table )
453453 => Alias tab -- ^ table to delete from
454− -> Condition schema '[tab ::: ColumnsToRelation columns] 'Ungrouped params
454+ -> Condition schema '[tab ::: ColumnsToRow columns] 'Ungrouped params
455455 -- ^ condition under which to delete a row
456456 -> ReturningClause schema columns params results -- ^ results to return
457457 -> Manipulation schema params results
@@ -465,7 +465,7 @@ deleteFrom_
465465 :: ( Has tab schema ('Table table)
466466 , columns ~ TableToColumns table )
467467 => Alias tab -- ^ table to delete from
468− -> Condition schema '[tab ::: ColumnsToRelation columns] 'Ungrouped params
468+ -> Condition schema '[tab ::: ColumnsToRow columns] 'Ungrouped params
469469 -- ^ condition under which to delete a row
470470 -> Manipulation schema params '[]
471471deleteFrom_ tab wh = deleteFrom tab wh (Returning Nil)
squeal-postgresql/src/Squeal/PostgreSQL/Query.hs+6−6
@@ -727,7 +727,7 @@ nullRow
727727 :: Has tab schema ('Table table)
728728 => Alias tab
729729 -> Expression schema from grouping params
730− (nullity ('PGcomposite (TableToRelation table)))
730+ (nullity ('PGcomposite (TableToRow table)))
731731nullRow tab = UnsafeExpression ("null::"<+>renderAlias tab)
732732
733733-- | Expands the JSON expression to a row whose columns match the record
@@ -737,7 +737,7 @@ jsonPopulateRecordAs
737737 => Alias tab
738738 -> Expression schema '[] 'Ungrouped params (nullity 'PGjson)
739739 -> Alias alias
740− -> FromClause schema params '[alias ::: TableToRelation table]
740+ -> FromClause schema params '[alias ::: TableToRow table]
741741jsonPopulateRecordAs tableName expr alias = unsafeAliasedFromClauseExpression
742742 (unsafeVariadicFunction "json_populate_record"
743743 (nullRow tableName :* expr :* Nil) `As` alias)
@@ -749,7 +749,7 @@ jsonbPopulateRecordAs
749749 => Alias tab
750750 -> Expression schema '[] 'Ungrouped params (nullity 'PGjsonb)
751751 -> Alias alias
752− -> FromClause schema params '[alias ::: TableToRelation table]
752+ -> FromClause schema params '[alias ::: TableToRow table]
753753jsonbPopulateRecordAs tableName expr alias = unsafeAliasedFromClauseExpression
754754 (unsafeVariadicFunction "jsonb_populate_record"
755755 (nullRow tableName :* expr :* Nil) `As` alias)
@@ -761,7 +761,7 @@ jsonPopulateRecordSetAs
761761 => Alias tab
762762 -> Expression schema '[] 'Ungrouped params (nullity 'PGjson)
763763 -> Alias alias
764− -> FromClause schema params '[alias ::: TableToRelation table]
764+ -> FromClause schema params '[alias ::: TableToRow table]
765765jsonPopulateRecordSetAs tableName expr alias = unsafeAliasedFromClauseExpression
766766 (unsafeVariadicFunction "json_populate_record_set"
767767 (nullRow tableName :* expr :* Nil) `As` alias)
@@ -774,7 +774,7 @@ jsonbPopulateRecordSetAs
774774 => Alias tab
775775 -> Expression schema '[] 'Ungrouped params (nullity 'PGjsonb)
776776 -> Alias alias
777− -> FromClause schema params '[alias ::: TableToRelation table]
777+ -> FromClause schema params '[alias ::: TableToRow table]
778778jsonbPopulateRecordSetAs tableName expr alias = unsafeAliasedFromClauseExpression
779779 (unsafeVariadicFunction "jsonb_populate_record_set"
780780 (nullRow tableName :* expr :* Nil) `As` alias)
@@ -872,7 +872,7 @@ newtype FromClause schema params from
872872table
873873 :: Has tab schema ('Table table)
874874 => Aliased Alias (alias ::: tab)
875− -> FromClause schema params '[alias ::: TableToRelation table]
875+ -> FromClause schema params '[alias ::: TableToRow table]
876876table (tab `As` alias) = UnsafeFromClause $
877877 renderAlias tab <+> "AS" <+> renderAlias alias
878878
squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs+9−9
@@ -101,9 +101,9 @@ module Squeal.PostgreSQL.Schema
101101 , NullifyType
102102 , NullifyRelation
103103 , NullifyRelations
104− , ColumnsToRelation
104+ , ColumnsToRow
105105 , TableToColumns
106− , TableToRelation
106+ , TableToRow
107107 , RelationToNullityTypes
108108 , ConstraintInvolves
109109 , DropIfConstraintsInvolve
@@ -319,19 +319,19 @@ type family NilRelation :: RowType where NilRelation = '[]
319319-- | `FromType` is a row of `RowType`s, thought of as a product.
320320type FromType = [(Symbol,RowType)]
321321
322−-- | `ColumnsToRelation` removes column constraints.
323−type family ColumnsToRelation (columns :: ColumnsType) :: RowType where
324− ColumnsToRelation '[] = '[]
325− ColumnsToRelation (column ::: constraint :=> ty ': columns) =
326− column ::: ty ': ColumnsToRelation columns
322+-- | `ColumnsToRow` removes column constraints.
323+type family ColumnsToRow (columns :: ColumnsType) :: RowType where
324+ ColumnsToRow '[] = '[]
325+ ColumnsToRow (column ::: constraint :=> ty ': columns) =
326+ column ::: ty ': ColumnsToRow columns
327327
328328-- | `TableToColumns` removes table constraints.
329329type family TableToColumns (table :: TableType) :: ColumnsType where
330330 TableToColumns (constraints :=> columns) = columns
331331
332332-- | Convert a table to a relation.
333−type family TableToRelation (table :: TableType) :: RowType where
334− TableToRelation tab = ColumnsToRelation (TableToColumns tab)
333+type family TableToRow (table :: TableType) :: RowType where
334+ TableToRow tab = ColumnsToRow (TableToColumns tab)
335335
336336-- | `Grouping` is an auxiliary namespace, created by
337337-- @GROUP BY@ clauses (`Squeal.PostgreSQL.Query.group`), and used