Here's the latest window functions patch against HEAD. It seems to be ready for the September commit fest, as added documents, WINDOW clause feature and misc tests. I guess this would be the window functions feature freeze for 8.4. The remaining feature will be implemented for the later release.
This patch consists of: - windowed aggregates - cooperate with GROUP BY aggregates - some optimizations with multiple windows - ranking functions - WINDOW clause - windowing SQL regression tests - sgml documents Looking up the total road map, the dropped features are: - sliding window (window framing) - lead(), lag(), etc. that reach for random rows - user defined window functions The first and second topics are difficult to implement currently. Because these features require random row access, it seems that tuplestore would be able to save multiple positions to mark/restore. This is fundamental change that is over my capability. Also, user defined window functions seem to have much more to decide. I think I can't put into shape the general needs of user's window functions now. Lacking these feature, this stage looks compatible to SQLServer 2005, while Oracle and DB2 have almost full of the specification. Also, current implementation has only a type of plan which uses sort operation. It should be optimized by re-position the windows and/or using hashtable. Oh, git hosting repository is updated as well. Regards, -- Hitoshi Harada
window_functions.patch.20080830.gz
Description: GNU Zip compressed data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers