"Hitoshi Harada" <umi.tan...@gmail.com> writes: > 2008/12/29 Tom Lane <t...@sss.pgh.pa.us>: >> * Support creation of user-defined window functions. I think this is >> a "must have" for 8.4 --- we are not in the habit of building >> nonextensible basic features. It doesn't seem that hard either.
> The reason I and people decided window functions are not able to be > defined by user is whether Window functions API is ready for exposure. Well, it seems about as stable as any other bit of new backend code ;-). We never promise that backend-internal APIs will not change across versions. > My only concern is for plpgsql. For c functions we can define user > functions but what about other pls? I'm not concerned about making this stuff available at the PL level (at least not yet). C-level capability will be enough to satisfy my concern for 8.4. > And surveying sgml docs, I found this is not correct. > http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/select.sgml?r1=1.112&r2=1.113 > + default framing behavior, which is equivalent to the framing clause > + <literal>ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW</>. > the default frame with ORDER BY clause is RANGE BETWEEN UNBOUNDED > PRECEDING AND CURRENT ROW, as aggregates perform rows peer to the > current row. What is the difference? AFAICS the RANGE and ROWS keywords ought to be equivalent if you are not specifying "expression PRECEDING" or "expression FOLLOWING". regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers