2008/12/3 Hitoshi Harada <umi.tanuki@gmail.com>:
> I am randomly trying some issues instead of agg common code (which I
> now doubt if it's worth sharing the code), so tell me if you're
> restarting your hack again. I'll send the whole patch.
>
Attached is the updated patch, including:
- performance tuning up for large data sets
- move find_wfunc to optimizer/util/clauses.c
- rename WFunc to WindowFunc
- rename WinDef to WindowDef
- rename wfunc->pure_agg to winagg
- remove winstate->tail_ptr
- fix WinFrameGetArg in case that there are more than one peer, add
relevant test
- duplicate GetAggInitVal(), not sharing aggregate routines with nodeAgg.c
I believe the remaining work is only to optimze row_number()/rank()
cases to trim tuplestore like window aggregates. This will be done by
providing some kind of way for each window functions to tell Window
node that it doesn't require backward_scan.
Regards,
--
Hitoshi Harada