@@ -80,6 +80,11 @@ instance (HasColumn column columns ty, tables ~ '[table ::: columns])
80 => IsLabel column (Expression params tables 'Ungrouped ty) where
80 => IsLabel column (Expression params tables 'Ungrouped ty) where
81 fromLabel = getColumn
81 fromLabel = getColumn
83+instance (HasTable table tables columns, HasColumn column columns ty)
84+ => TableColumn table column (Expression params tables 'Ungrouped ty) where
85+ table &. column = UnsafeExpression $
86+ renderAlias table <> "." <> renderAlias column
83def :: Expression params '[] grouping ('Optional (nullity ty))
88def :: Expression params '[] grouping ('Optional (nullity ty))
84def = UnsafeExpression "DEFAULT"
89def = UnsafeExpression "DEFAULT"
@@ -382,6 +387,14 @@ class (KnownSymbol table, KnownSymbol column)
382 -> Alias column
387 -> Alias column
383 -> Expression params tables ('Grouped distincts) ty
388 -> Expression params tables ('Grouped distincts) ty
391+ ( HasTable table tables columns
392+ , HasColumn column columns ty
393+ , GroupedBy table column distincts ty
394+ ) => TableColumn table column
395+ (Expression params tables ('Grouped distincts) ty) where
385class (KnownSymbol table, KnownSymbol column)
398class (KnownSymbol table, KnownSymbol column)
386 => Aggregated table column distincts ty where
399 => Aggregated table column distincts ty where
387 getAggregate
400 getAggregate
@@ -391,22 +404,6 @@ class (KnownSymbol table, KnownSymbol column)
391 -> Aggregate ty0 ty
404 -> Aggregate ty0 ty
392 -> Expression params tables ('Grouped distincts) ty
405 -> Expression params tables ('Grouped distincts) ty
394−class TableColumn table column expression where
395− (&.) :: Alias table -> Alias column -> expression
396−instance (HasTable table tables columns, HasColumn column columns ty)
397− => TableColumn table column (Expression params tables 'Ungrouped ty) where
398− table &. column = UnsafeExpression $
399− renderAlias table <> "." <> renderAlias column
400−instance (HasTable table tables columns, HasColumn column columns ty)
401− => TableColumn table column (By tables (table ::: (column ::: ty))) where
404− ( HasTable table tables columns
405− , HasColumn column columns ty
406− , GroupedBy table column distincts ty
407− ) => TableColumn table column
408− (Expression params tables ('Grouped distincts) ty) where
411 ( HasTable table tables columns
408 ( HasTable table tables columns
412 , HasColumn column columns ty0
409 , HasColumn column columns ty0
@@ -517,6 +514,10 @@ data By tables tabcolty where
517 -> Alias column
514 -> Alias column
518 -> By tables (table ::: (column ::: ty))
515 -> By tables (table ::: (column ::: ty))
517+instance (HasTable table tables columns, HasColumn column columns ty)
518+ => TableColumn table column (By tables (table ::: (column ::: ty))) where
520renderBy :: By tables tabcolty -> ByteString
521renderBy :: By tables tabcolty -> ByteString
521renderBy (By table column) = renderAlias table <> "." <> renderAlias column
522renderBy (By table column) = renderAlias table <> "." <> renderAlias column