> 1. Go back to Hitoshi's plan of passing WindowAggState to the > aggregates. This will require changing every one of the ten aggregates > in the core distro, as well as every third-party aggregate that has > a similar optimization; and we just have to keep our fingers crossed > that anyone who's taking a short-cut will fix their code before it > fails in the field.
Unfortunately, if we don't want to add an explicit iswindowable flag (and I understand that that's ugly), then I think this is the way to go. It's a shame that people will have to make code changes, but inventing a fake AggState object just to get around this problem sounds worse. The array_agg code is new and the fact that it doesn't follow the design pattern should be considered a bug in that code rather than a justification for an ugly workaround. ...Robert -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers