Jesse Zhang <sbje...@gmail.com> writes: > On the other hand, we examined the corresponding final functions > (numeric_stddev_pop and friends), they all seem to carefully treat a > NULL trans value the same as a "zero input" (as in, state.N == 0 && > state.NaNcount ==0). That does suggest to me that it should be fine to > declare those combine functions as strict (barring the restriction that > they should not be STRICT, anybody remembers why?).
They can't be strict because the initial iteration needs to produce something from a null state and non-null input. nodeAgg's default behavior won't work for those because nodeAgg doesn't know how to copy a value of type "internal". regards, tom lane