on dev help sign in
call relation table
3fe22f6Eitan Chatav
squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+32−32
@@ -271,79 +271,79 @@ param
271 => Expression schema from grouping params ty -- ^ param
271 => Expression schema from grouping params ty -- ^ param
272param = parameter @n pgtype
272param = parameter @n pgtype
273
273
274−instance (HasUnique relation from columns, Has column columns ty)
274+instance (HasUnique table from columns, Has column columns ty)
275 => IsLabel column (Expression schema from 'Ungrouped params ty) where
275 => IsLabel column (Expression schema from 'Ungrouped params ty) where
276 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
276 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
277−instance (HasUnique relation from columns, Has column columns ty)
277+instance (HasUnique table from columns, Has column columns ty)
278 => IsLabel column
278 => IsLabel column
279 (Aliased (Expression schema from 'Ungrouped params) (column ::: ty)) where
279 (Aliased (Expression schema from 'Ungrouped params) (column ::: ty)) where
280 fromLabel = fromLabel @column `As` Alias @column
280 fromLabel = fromLabel @column `As` Alias @column
281−instance (HasUnique relation from columns, Has column columns ty)
281+instance (HasUnique table from columns, Has column columns ty)
282 => IsLabel column
282 => IsLabel column
283 (NP (Aliased (Expression schema from 'Ungrouped params)) '[column ::: ty]) where
283 (NP (Aliased (Expression schema from 'Ungrouped params)) '[column ::: ty]) where
284 fromLabel = fromLabel @column :* Nil
284 fromLabel = fromLabel @column :* Nil
285
285
286−instance (Has relation from columns, Has column columns ty)
286+instance (Has table from columns, Has column columns ty)
287− => IsQualified relation column (Expression schema from 'Ungrouped params ty) where
287+ => IsQualified table column (Expression schema from 'Ungrouped params ty) where
288− relation ! column = UnsafeExpression $
288+ table ! column = UnsafeExpression $
289− renderAlias relation <> "." <> renderAlias column
289+ renderAlias table <> "." <> renderAlias column
290−instance (Has relation from columns, Has column columns ty)
290+instance (Has table from columns, Has column columns ty)
291− => IsQualified relation column
291+ => IsQualified table column
292 (Aliased (Expression schema from 'Ungrouped params) (column ::: ty)) where
292 (Aliased (Expression schema from 'Ungrouped params) (column ::: ty)) where
293− relation ! column = relation ! column `As` column
293+ table ! column = table ! column `As` column
294−instance (Has relation from columns, Has column columns ty)
294+instance (Has table from columns, Has column columns ty)
295− => IsQualified relation column
295+ => IsQualified table column
296 (NP (Aliased (Expression schema from 'Ungrouped params)) '[column ::: ty]) where
296 (NP (Aliased (Expression schema from 'Ungrouped params)) '[column ::: ty]) where
297− relation ! column = relation ! column :* Nil
297+ table ! column = table ! column :* Nil
298
298
299instance
299instance
300− ( HasUnique relation from columns
300+ ( HasUnique table from columns
301 , Has column columns ty
301 , Has column columns ty
302− , GroupedBy relation column bys
302+ , GroupedBy table column bys
303 ) => IsLabel column
303 ) => IsLabel column
304 (Expression schema from ('Grouped bys) params ty) where
304 (Expression schema from ('Grouped bys) params ty) where
305 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
305 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
306instance
306instance
307− ( HasUnique relation from columns
307+ ( HasUnique table from columns
308 , Has column columns ty
308 , Has column columns ty
309− , GroupedBy relation column bys
309+ , GroupedBy table column bys
310 ) => IsLabel column
310 ) => IsLabel column
311 ( Aliased (Expression schema from ('Grouped bys) params)
311 ( Aliased (Expression schema from ('Grouped bys) params)
312 (column ::: ty) ) where
312 (column ::: ty) ) where
313 fromLabel = fromLabel @column `As` Alias @column
313 fromLabel = fromLabel @column `As` Alias @column
314instance
314instance
315− ( HasUnique relation from columns
315+ ( HasUnique table from columns
316 , Has column columns ty
316 , Has column columns ty
317− , GroupedBy relation column bys
317+ , GroupedBy table column bys
318 ) => IsLabel column
318 ) => IsLabel column
319 ( NP (Aliased (Expression schema from ('Grouped bys) params))
319 ( NP (Aliased (Expression schema from ('Grouped bys) params))
320 '[column ::: ty] ) where
320 '[column ::: ty] ) where
321 fromLabel = fromLabel @column :* Nil
321 fromLabel = fromLabel @column :* Nil
322
322
323instance
323instance
324− ( Has relation from columns
324+ ( Has table from columns
325 , Has column columns ty
325 , Has column columns ty
326− , GroupedBy relation column bys
326+ , GroupedBy table column bys
327− ) => IsQualified relation column
327+ ) => IsQualified table column
328 (Expression schema from ('Grouped bys) params ty) where
328 (Expression schema from ('Grouped bys) params ty) where
329− relation ! column = UnsafeExpression $
329+ table ! column = UnsafeExpression $
330− renderAlias relation <> "." <> renderAlias column
330+ renderAlias table <> "." <> renderAlias column
331instance
331instance
332− ( Has relation from columns
332+ ( Has table from columns
333 , Has column columns ty
333 , Has column columns ty
334− , GroupedBy relation column bys
334+ , GroupedBy table column bys
335− ) => IsQualified relation column
335+ ) => IsQualified table column
336 (Aliased (Expression schema from ('Grouped bys) params)
336 (Aliased (Expression schema from ('Grouped bys) params)
337 (column ::: ty)) where
337 (column ::: ty)) where
338− relation ! column = relation ! column `As` column
338+ table ! column = table ! column `As` column
339instance
339instance
340− ( Has relation from columns
340+ ( Has table from columns
341 , Has column columns ty
341 , Has column columns ty
342− , GroupedBy relation column bys
342+ , GroupedBy table column bys
343− ) => IsQualified relation column
343+ ) => IsQualified table column
344 ( NP (Aliased (Expression schema from ('Grouped bys) params))
344 ( NP (Aliased (Expression schema from ('Grouped bys) params))
345 '[column ::: ty]) where
345 '[column ::: ty]) where
346− relation ! column = relation ! column :* Nil
346+ table ! column = table ! column :* Nil
347
347
348-- | analagous to `Nothing`
348-- | analagous to `Nothing`
349--
349--
squeal-postgresql/src/Squeal/PostgreSQL/Query.hs+11−11
@@ -461,7 +461,7 @@ selectDistinct list rels = UnsafeQuery $
461-- | The simplest kind of query is `selectStar` which emits all columns
461-- | The simplest kind of query is `selectStar` which emits all columns
462-- that the table expression produces.
462-- that the table expression produces.
463selectStar
463selectStar
464− :: HasUnique relation from columns
464+ :: HasUnique table from columns
465 => TableExpression schema params from 'Ungrouped
465 => TableExpression schema params from 'Ungrouped
466 -- ^ intermediate virtual table
466 -- ^ intermediate virtual table
467 -> Query schema params columns
467 -> Query schema params columns
@@ -470,7 +470,7 @@ selectStar rels = UnsafeQuery $ "SELECT" <+> "*" <+> renderTableExpression rels
470-- | A `selectDistinctStar` emits all columns that the table expression
470-- | A `selectDistinctStar` emits all columns that the table expression
471-- produces and eliminates duplicate rows.
471-- produces and eliminates duplicate rows.
472selectDistinctStar
472selectDistinctStar
473− :: HasUnique relation from columns
473+ :: HasUnique table from columns
474 => TableExpression schema params from 'Ungrouped
474 => TableExpression schema params from 'Ungrouped
475 -- ^ intermediate virtual table
475 -- ^ intermediate virtual table
476 -> Query schema params columns
476 -> Query schema params columns
@@ -480,8 +480,8 @@ selectDistinctStar rels = UnsafeQuery $
480-- | When working with multiple tables, it can also be useful to ask
480-- | When working with multiple tables, it can also be useful to ask
481-- for all the columns of a particular table, using `selectDotStar`.
481-- for all the columns of a particular table, using `selectDotStar`.
482selectDotStar
482selectDotStar
483− :: Has relation from columns
483+ :: Has table from columns
484− => Alias relation
484+ => Alias table
485 -- ^ particular virtual subtable
485 -- ^ particular virtual subtable
486 -> TableExpression schema params from 'Ungrouped
486 -> TableExpression schema params from 'Ungrouped
487 -- ^ intermediate virtual table
487 -- ^ intermediate virtual table
@@ -492,8 +492,8 @@ selectDotStar rel tab = UnsafeQuery $
492-- | A `selectDistinctDotStar` asks for all the columns of a particular table,
492-- | A `selectDistinctDotStar` asks for all the columns of a particular table,
493-- and eliminates duplicate rows.
493-- and eliminates duplicate rows.
494selectDistinctDotStar
494selectDistinctDotStar
495− :: Has relation from columns
495+ :: Has table from columns
496− => Alias relation
496+ => Alias table
497 -- ^ particular virtual table
497 -- ^ particular virtual table
498 -> TableExpression schema params from 'Ungrouped
498 -> TableExpression schema params from 'Ungrouped
499 -- ^ intermediate virtual table
499 -- ^ intermediate virtual table
@@ -1012,14 +1012,14 @@ data By
1012 (from :: FromType)
1012 (from :: FromType)
1013 (by :: (Symbol,Symbol)) where
1013 (by :: (Symbol,Symbol)) where
1014 By1
1014 By1
1015− :: (HasUnique relation from columns, Has column columns ty)
1015+ :: (HasUnique table from columns, Has column columns ty)
1016 => Alias column
1016 => Alias column
1017− -> By from '(relation, column)
1017+ -> By from '(table, column)
1018 By2
1018 By2
1019− :: (Has relation from columns, Has column columns ty)
1019+ :: (Has table from columns, Has column columns ty)
1020− => Alias relation
1020+ => Alias table
1021 -> Alias column
1021 -> Alias column
1022− -> By from '(relation, column)
1022+ -> By from '(table, column)
1023deriving instance Show (By from by)
1023deriving instance Show (By from by)
1024deriving instance Eq (By from by)
1024deriving instance Eq (By from by)
1025deriving instance Ord (By from by)
1025deriving instance Ord (By from by)
squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs+8−8
@@ -337,7 +337,7 @@ type family ColumnsToRow (columns :: ColumnsType) :: RowType where
337type family TableToColumns (table :: TableType) :: ColumnsType where
337type family TableToColumns (table :: TableType) :: ColumnsType where
338 TableToColumns (constraints :=> columns) = columns
338 TableToColumns (constraints :=> columns) = columns
339
339
340−-- | Convert a table to a relation.
340+-- | Convert a table to a row type.
341type family TableToRow (table :: TableType) :: RowType where
341type family TableToRow (table :: TableType) :: RowType where
342 TableToRow tab = ColumnsToRow (TableToColumns tab)
342 TableToRow tab = ColumnsToRow (TableToColumns tab)
343
343
@@ -352,15 +352,15 @@ data Grouping
352a member of the auxiliary namespace created by @GROUP BY@ clauses and thus,
352a member of the auxiliary namespace created by @GROUP BY@ clauses and thus,
353may be called in an output `Squeal.PostgreSQL.Expression.Expression` without aggregating.
353may be called in an output `Squeal.PostgreSQL.Expression.Expression` without aggregating.
354-}
354-}
355−class (KnownSymbol relation, KnownSymbol column)
355+class (KnownSymbol table, KnownSymbol column)
356− => GroupedBy relation column bys where
356+ => GroupedBy table column bys where
357−instance {-# OVERLAPPING #-} (KnownSymbol relation, KnownSymbol column)
357+instance {-# OVERLAPPING #-} (KnownSymbol table, KnownSymbol column)
358− => GroupedBy relation column ('(table,column) ': bys)
358+ => GroupedBy table column ('(table,column) ': bys)
359instance {-# OVERLAPPABLE #-}
359instance {-# OVERLAPPABLE #-}
360− ( KnownSymbol relation
360+ ( KnownSymbol table
361 , KnownSymbol column
361 , KnownSymbol column
362− , GroupedBy relation column bys
362+ , GroupedBy table column bys
363− ) => GroupedBy relation column (tabcol ': bys)
363+ ) => GroupedBy table column (tabcol ': bys)
364
364
365-- | `Alias`es are proxies for a type level string or `Symbol`
365-- | `Alias`es are proxies for a type level string or `Symbol`
366-- and have an `IsLabel` instance so that with @-XOverloadedLabels@
366-- and have an `IsLabel` instance so that with @-XOverloadedLabels@