Trait diesel::expression::NonAggregate

source ·
pub trait NonAggregate: ValidGrouping<()> { }
Available on non-crate feature unstable only.
Expand description

Trait alias to represent an expression that isn’t aggregate by default.

This trait should never be implemented directly. It is replaced with a trait alias when the unstable feature is enabled.

This alias represents a type which is not aggregate if there is no group by clause. More specifically, it represents for types which implement ValidGrouping<()> where IsAggregate is is_aggregate::No or is_aggregate::Yes.

While this trait is a useful stand-in for common cases, T: NonAggregate cannot always be used when T: ValidGrouping<(), IsAggregate = No> or T: ValidGrouping<(), IsAggregate = Never> could be. For that reason, unless you need to abstract over both columns and literals, you should prefer to use ValidGrouping<()> in your bounds instead.



impl<T> NonAggregate for T
where T: ValidGrouping<()>, T::IsAggregate: MixedAggregates<No, Output = No>,