Re: Window functions patch v04 for the September commit fest - Mailing list pgsql-hackers
From | Simon Riggs |
---|---|
Subject | Re: Window functions patch v04 for the September commit fest |
Date | |
Msg-id | 1220288114.4371.196.camel@ebony.2ndQuadrant Whole thread Raw |
In response to | Window functions patch v04 for the September commit fest ("Hitoshi Harada" <umi.tanuki@gmail.com>) |
Responses |
Re: Window functions patch v04 for the September commit fest
Re: Window functions patch v04 for the September commit fest |
List | pgsql-hackers |
On Sat, 2008-08-30 at 02:04 +0900, Hitoshi Harada wrote: > 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. If you've done all of that, then I'm impressed. Well done. Few general comments * The docs talk about "windowing functions", yet you talk about "window functions" here. I think the latter is correct, but whichever we choose we should be consistent (and hopefully matching SQL Standard). * You don't use duplicate the examples from the docs into the tests, which is always a good way to get conflicting reports from users. :-) * The tests seem very light for such a huge range of new functionality. (8 tests is hardly sufficient). I'd like to see a wide range of tests - probably 5-10 times as many individual test statements. I would also like to see test failures that illustrate the as-yet unimplemented features and the warning messages that are thrown - this will help us understand exactly what is missing also. It would also be useful to see other common coding mistakes/misconceptions and the corresponding error messages. > 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. I would like to see some performance test results also. It would be good to know whether they are fast/slow etc.. It will definitely help the case for inclusion if they are faster than alternative multi-statement approaches to solving the basic data access problems. -- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support
pgsql-hackers by date: