On Tue, Aug 30, 2005 at 10:23:49AM -0400, Bruce Momjian wrote:
> > > 2005-03-12 15:25 tgl
> > >
> > > * contrib/intagg/int_aggregate.c,
> > > contrib/intagg/int_aggregate.sql.in, doc/src/sgml/xaggr.sgml,
> > > doc/src/sgml/xfunc.sgml, src/backend/executor/nodeAgg.c,
> > > src/backend/utils/adt/int8.c: Adjust the API for aggregate function
> > > calls so that a C-coded function can tell whether it is being used
> > > as an aggregate or not. This allows such a function to avoid
> > > re-pallocing a pass-by-reference transition value; normally it
> > > would be unsafe for a function to scribble on an input, but in the
> > > aggregate case it's safe to reuse the old transition value. Make
> > > int8inc() do this. This gets a useful improvement in the speed of
> > > COUNT(*), at least on narrow tables (it seems to be swamped by I/O
> > > when the table rows are wide). Per a discussion in early December
> > > with Neil Conway. I also fixed int_aggregate.c to check this,
> > > thereby turning it into something approaching a supportable
> > > technique instead of being a crude hack.
>
> I don't usually document internal API changes in the release notes.
> Should I?
Doesn't this potentially affect user-defined aggregates?
--
Alvaro Herrera <alvherre[]alvh.no-ip.org> Architect, www.EnterpriseDB.com
"Lo esencial es invisible para los ojos" (A. de Saint Exúpery)