on dev help sign in
Instance tweaks to guide type inference
82e275bRhys
squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+12−12
@@ -272,26 +272,26 @@ param = parameter @n pgtype
272instance (HasUnique table from columns, Has column columns ty)
272instance (HasUnique table from columns, Has column columns ty)
273 => IsLabel column (Expression schema from 'Ungrouped params ty) where
273 => IsLabel column (Expression schema from 'Ungrouped params ty) where
274 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
274 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
275−instance (HasUnique table from columns, Has column columns ty)
275+instance (HasUnique table from columns, Has column columns ty, columnLabel ~ column, x ~ (column ::: ty))
276− => IsLabel column
276+ => IsLabel columnLabel
277− (Aliased (Expression schema from 'Ungrouped params) (column ::: ty)) where
277+ (Aliased (Expression schema from 'Ungrouped params) x) where
278 fromLabel = fromLabel @column `As` Alias @column
278 fromLabel = fromLabel @column `As` Alias @column
279−instance (HasUnique table from columns, Has column columns ty)
279+instance (HasUnique table from columns, Has column columns ty, columnLabel ~ column, singleColumn ~ '[column ::: ty])
280− => IsLabel column
280+ => IsLabel columnLabel
281− (NP (Aliased (Expression schema from 'Ungrouped params)) '[column ::: ty]) where
281+ (NP (Aliased (Expression schema from 'Ungrouped params)) singleColumn) where
282 fromLabel = fromLabel @column :* Nil
282 fromLabel = fromLabel @column :* Nil
283
283
284instance (Has table from columns, Has column columns ty)
284instance (Has table from columns, Has column columns ty)
285 => IsQualified table column (Expression schema from 'Ungrouped params ty) where
285 => IsQualified table column (Expression schema from 'Ungrouped params ty) where
286 table ! column = UnsafeExpression $
286 table ! column = UnsafeExpression $
287 renderAlias table <> "." <> renderAlias column
287 renderAlias table <> "." <> renderAlias column
288−instance (Has table from columns, Has column columns ty)
288+instance (Has table from columns, Has column columns ty, columnLabel ~ column, x ~ (column ::: ty))
289− => IsQualified table column
289+ => IsQualified table columnLabel
290− (Aliased (Expression schema from 'Ungrouped params) (column ::: ty)) where
290+ (Aliased (Expression schema from 'Ungrouped params) x) where
291 table ! column = table ! column `As` column
291 table ! column = table ! column `As` column
292−instance (Has table from columns, Has column columns ty)
292+instance (Has table from columns, Has column columns ty, columnLabel ~ column, singleColumn ~ '[column ::: ty])
293− => IsQualified table column
293+ => IsQualified table columnLabel
294− (NP (Aliased (Expression schema from 'Ungrouped params)) '[column ::: ty]) where
294+ (NP (Aliased (Expression schema from 'Ungrouped params)) singleColumn) where
295 table ! column = table ! column :* Nil
295 table ! column = table ! column :* Nil
296
296
297instance
297instance
squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs+2−2
@@ -413,9 +413,9 @@ class KnownSymbol alias => Aliasable alias expression aliased
413 | aliased -> expression
413 | aliased -> expression
414 , aliased -> alias
414 , aliased -> alias
415 where as :: expression -> Alias alias -> aliased
415 where as :: expression -> Alias alias -> aliased
416−instance (KnownSymbol alias, alias ~ alias1) => Aliasable alias
416+instance (KnownSymbol alias, aliased ~ (alias ::: ty)) => Aliasable alias
417 (expression ty)
417 (expression ty)
418− (Aliased expression (alias1 ::: ty))
418+ (Aliased expression aliased)
419 where
419 where
420 as = As
420 as = As
421instance (KnownSymbol alias, tys ~ '[alias ::: ty]) => Aliasable alias
421instance (KnownSymbol alias, tys ~ '[alias ::: ty]) => Aliasable alias