Why only those two? Might as well make all the accum functions look alike.
Yeah, there might be some others we could improve. float4_accum() and float8_accum() look like they could be improved pretty easily, and do_numeric_accum() should also be fixable with some hackery. I suppose it's also worth optimizing int2_sum(), int4_sum() and int8_sum(). I'll send a patch for this later today or tomorrow. Are there any other transition functions where we can apply this technique?
BTW, int2_avg_accum() and int4_avg_accum() patch applied to HEAD.
-Neil
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match