package sql
Type Members
- trait DeleteModule extends AnyRef
- trait ExprModule extends NewtypesModule with FeaturesModule with OpsModule
- trait FeaturesModule extends AnyRef
- trait GroupByUtilsModule extends AnyRef
User lands in this builder in case there is a "partial aggregation" in a query like:
User lands in this builder in case there is a "partial aggregation" in a query like:
select Count(id), customer_id from orders group by customer_id
In such a case its not possible to execute query before we group by customer_id. As we need to check F of every
Expr,groupBymethod is overloaded by 22 arities - even though partically, mostly only few are necessary.Without group by clause,
AggSelectBuilderGroupByis not executable so callinggroupByis the only choice. The query won't compile unless user groups at least by required columns.In case we are not dealing with partial aggregation, this builder is skipped and user can groupBy in Read.Subselect as usual. Following are all valid examples of queries not using this
AggSelectBuilderGroupBytrait.select Count(id) from orders group by customer_id
select Count(id) from orders
select customer_id from orders group by customer_id
select customer_id from orders group by customer_id
- trait InsertModule extends AnyRef
- trait InsertUtilsModule extends AnyRef
- trait NewtypesModule extends AnyRef
- trait OpsModule extends TypeTagModule
- trait SelectModule extends AnyRef
- trait Sql extends SelectModule with GroupByUtilsModule with DeleteModule with UpdateModule with ExprModule with TableModule with InsertModule with UtilsModule with InsertUtilsModule
- trait TableModule extends AnyRef
- trait TypeTagModule extends AnyRef
- trait UpdateModule extends AnyRef
- trait UtilsModule extends AnyRef