Re: Aggregation Set Functions

I've spoken with Andy on IRC, and he also agrees that it's probably better without it, so the current draft of rq25 doesn't have the error count argument.

Following some discussion on IRC last night, I've also clarified the return types of the set functions.

- Steve

On 2011-02-11, at 10:55, Steve Harris wrote:

> Hi all,
> 
> Currently the Set Functions in Aggregates (ie. the underlying functions) are defined like:
> 
> Func(M, errors, scalars)
> 
> where M a multiset of the values from the group, e.g. if you have SUM(?x) and ?x is 1,2,3 in the group, then M = (1,2,3). But M is defined used ListEvalE(), so all the results which are errors are removed from the multiset.
> 
> errors is a count of the errors (which where removed from M).
> 
> I think it would be much simpler if instead M included the errors, and the error count argument was dropped, then it would be:
> 
>   M = ListEval(exprlist, range(g))
> 
>   func(M, scalarvals), for non-DISTINCT
>   func(Distinct(M), scalarvals), for DISTINCT
> 
> Dave B also complained about the error count argument saying it was redundant in his comment.
> 
> I don't quite remember why it was included? I think Andy S might have suggested it, something about future extensibility? But I don't see what function it performs.
> 
> So, my question is, can anyone think of a good reason to keep it?
> 
> - Steve
> 
> -- 
> Steve Harris, CTO, Garlik Limited
> 1-3 Halford Road, Richmond, TW10 6AW, UK
> +44 20 8439 8203  http://www.garlik.com/
> Registered in England and Wales 535 7233 VAT # 849 0517 11
> Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
> 
> 

-- 
Steve Harris, CTO, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

Received on Friday, 11 February 2011 12:03:50 UTC