View Source AshPostgres.CustomAggregate behaviour (ash_postgres v2.0.9)

A custom aggregate implementation for ecto.

Summary

Callbacks

The dynamic expression to create the aggregate.

Callbacks

@callback dynamic(opts :: Keyword.t(), binding :: integer()) :: Ecto.Query.dynamic_expr()

The dynamic expression to create the aggregate.

The binding refers to the resource being aggregated, use as(^binding) to reference it.

For example:

Ecto.Query.dynamic(
  [],
  fragment("string_agg(?, ?)", field(as(^binding), ^opts[:field]), ^opts[:delimiter])
)