@@ -57,6 +57,9 @@ data Column (a :: IsAggregated) t v where
5757 Distinct :: (ClickhouseTable t , ClickhouseValue v ) => Column a t v -> Column a t v -- should not be used in where clause
5858 Max :: (ClickhouseTable t , ClickhouseValue v ) => Column a t v -> Column a t v
5959 Add :: (ClickhouseTable t , ClickhouseNum v ) => Column a t v -> Column a t v -> Column a t v
60+ Sub :: (ClickhouseTable t , ClickhouseNum v ) => Column a t v -> Column a t v -> Column a t v
61+ Mul :: (ClickhouseTable t , ClickhouseNum v ) => Column a t v -> Column a t v -> Column a t v
62+ Div :: (ClickhouseTable t , ClickhouseNum v ) => Column a t v -> Column a t v -> Column a t Double
6063 CoerceNum :: (ClickhouseTable t , ClickhouseNum v1 , ClickhouseNum v2 ) => Column a t v1 -> Column a t v2
6164 ToDate :: (ClickhouseTable t , ClickhouseValue DateTime , ClickhouseValue Time. Day ) => Column a t DateTime -> Column a t Time. Day -- FIXME create some generic constructor for different clickhouse functions
6265 ToHour :: (ClickhouseTable t , ClickhouseValue DateTime , ClickhouseValue Int ) => Column a t DateTime -> Column a t Int
@@ -266,6 +269,9 @@ showColumn (Avg column) = "AVG" <> addBrackets' (showColumn column)
266269showColumn (Distinct column) = " DISTINCT" <> addBrackets' (showColumn column)
267270showColumn (Max column) = " MAX" <> addBrackets' (showColumn column)
268271showColumn (Add column1 column2) = addBrackets' (showColumn column1 <> " +" <> showColumn column2)
272+ showColumn (Sub column1 column2) = addBrackets' (showColumn column1 <> " -" <> showColumn column2)
273+ showColumn (Mul column1 column2) = addBrackets' (showColumn column1 <> " *" <> showColumn column2)
274+ showColumn (Div column1 column2) = addBrackets' (showColumn column1 <> " /" <> showColumn column2)
269275showColumn (CoerceNum column) = showColumn column
270276showColumn (ToDate column) = " toDate" <> addBrackets' (showColumn column)
271277showColumn (ToHour column) = " toHour" <> addBrackets' (showColumn column)
0 commit comments