p

zio

sql

package sql

Type Members

  1. trait DeleteModule extends AnyRef
  2. trait ExprModule extends NewtypesModule with FeaturesModule with OpsModule
  3. trait FeaturesModule extends AnyRef
  4. 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, groupBy method is overloaded by 22 arities - even though partically, mostly only few are necessary.

    Without group by clause, AggSelectBuilderGroupBy is not executable so calling groupBy is 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 AggSelectBuilderGroupBy trait.

    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

  5. trait InsertModule extends AnyRef
  6. trait InsertUtilsModule extends AnyRef
  7. trait NewtypesModule extends AnyRef
  8. trait OpsModule extends TypeTagModule
  9. trait SelectModule extends AnyRef
  10. trait Sql extends SelectModule with GroupByUtilsModule with DeleteModule with UpdateModule with ExprModule with TableModule with InsertModule with UtilsModule with InsertUtilsModule
  11. trait TableModule extends AnyRef
  12. trait TypeTagModule extends AnyRef
  13. trait UpdateModule extends AnyRef
  14. trait UtilsModule extends AnyRef

Ungrouped